diff --git a/module/pivot/test/lib/pivotzen.unittest.class.php b/module/pivot/test/lib/pivotzen.unittest.class.php index d44c313077..323a686330 100644 --- a/module/pivot/test/lib/pivotzen.unittest.class.php +++ b/module/pivot/test/lib/pivotzen.unittest.class.php @@ -158,4 +158,26 @@ class pivotZenTest extends baseTest return $result; } + + /** + * Test productSummary method. + * + * @param string $conditions + * @param int|string $productID + * @param string $productStatus + * @param string $productType + * @access public + * @return mixed + */ + public function productSummaryTest(string $conditions = '', int|string $productID = 0, string $productStatus = 'normal', string $productType = 'normal') + { + $this->invokeArgs('productSummary', [$conditions, $productID, $productStatus, $productType]); + if(dao::isError()) return dao::getError(); + + return array( + 'products' => $this->instance->view->products ?? array(), + 'filters' => $this->instance->view->filters ?? array(), + 'title' => $this->instance->view->title ?? '' + ); + } } \ No newline at end of file diff --git a/module/pivot/test/zen/productsummary.php b/module/pivot/test/zen/productsummary.php new file mode 100755 index 0000000000..7e420f15a2 --- /dev/null +++ b/module/pivot/test/zen/productsummary.php @@ -0,0 +1,40 @@ +#!/usr/bin/env php +app->loadLang('pivot'); + +zenData('product')->loadYaml('product', false, 2)->gen(20); +zenData('productplan')->loadYaml('productplan', false, 2)->gen(30); +zenData('story')->loadYaml('story', false, 2)->gen(50); +zenData('user')->gen(10); + +su('admin'); + +$pivotTest = new pivotZenTest(); + +r($pivotTest->productSummaryTest('', 0, 'normal', 'normal')) && p('title') && e('产品汇总表'); +r($pivotTest->productSummaryTest('', 1, 'normal', 'normal')) && p('filters:productID') && e('1'); +r($pivotTest->productSummaryTest('', 0, 'closed', 'normal')) && p('filters:productStatus') && e('closed'); +r($pivotTest->productSummaryTest('', 0, 'normal', 'branch')) && p('filters:productType') && e('branch'); +r($pivotTest->productSummaryTest('all', 5, 'normal', 'normal')) && p('filters:productID,productStatus,productType') && e('5,normal,normal'); \ No newline at end of file