diff --git a/module/chart/test/model/genpie.php b/module/chart/test/model/genpie.php new file mode 100755 index 0000000000..206427c488 --- /dev/null +++ b/module/chart/test/model/genpie.php @@ -0,0 +1,58 @@ +#!/usr/bin/env php + array( + 'type' => 'option', + 'object' => 'bug', + 'field' => 'status', + 'name' => '状态' + ) +); + +$settings = array( + 'group' => array( + array('field' => 'status', 'group' => '') + ), + 'metric' => array( + array('field' => 'id', 'valOrAgg' => 'count') + ) +); + +$normalSql = "SELECT 'active' as status, 15 as id UNION ALL SELECT 'resolved' as status, 8 as id UNION ALL SELECT 'closed' as status, 3 as id"; +$emptySql = "SELECT 1 WHERE 1=0"; +$largeSql = "SELECT 1 as id, 1 as count"; +for($i = 2; $i <= 55; $i++) { + $largeSql .= " UNION ALL SELECT $i as id, 1 as count"; +} +$filterSql = "SELECT '活动' as status, 10 as id UNION ALL SELECT '已解决' as status, 5 as id"; + +$filters = array(); +$filtersWithData = array('status' => array('operator' => 'IN', 'value' => "('active', 'resolved')")); + +r(count($chartTest->genPieTest($fields, $settings, $normalSql, $filters, 'mysql')['series'][0]['data'])) && p() && e('3'); +r(count($chartTest->genPieTest($fields, $settings, $emptySql, $filters, 'mysql')['series'][0]['data'])) && p() && e('0'); +r(count($chartTest->genPieTest($fields, $settings, $largeSql, $filters, 'mysql')['series'][0]['data'])) && p() && e('51'); +r(count($chartTest->genPieTest($fields, $settings, $filterSql, $filtersWithData, 'mysql')['series'][0]['data'])) && p() && e('2'); +r($chartTest->genPieTest($fields, $settings, $normalSql, $filters, 'duckdb')['series'][0]['type']) && p() && e('pie'); \ No newline at end of file