diff --git a/module/doc/test/lib/zen.class.php b/module/doc/test/lib/zen.class.php index d6fad09e27..0c8621650c 100644 --- a/module/doc/test/lib/zen.class.php +++ b/module/doc/test/lib/zen.class.php @@ -247,4 +247,21 @@ class docZenTest extends baseTest if(dao::isError()) return dao::getError(); return array('cols' => $this->instance->view->cols, 'data' => $this->instance->view->data); } + + /** + * Test previewPlanBug method. + * + * @param string $view + * @param array $settings + * @param string $idList + * @access public + * @return array + */ + public function previewPlanBugTest(string $view, array $settings, string $idList) + { + if(!isset($this->instance->view)) $this->instance->view = new stdClass(); + $result = $this->invokeArgs('previewPlanBug', [$view, $settings, $idList]); + if(dao::isError()) return dao::getError(); + return array('cols' => $this->instance->view->cols, 'data' => $this->instance->view->data); + } } diff --git a/module/doc/test/zen/previewplanbug.php b/module/doc/test/zen/previewplanbug.php new file mode 100755 index 0000000000..333450a34e --- /dev/null +++ b/module/doc/test/zen/previewplanbug.php @@ -0,0 +1,47 @@ +#!/usr/bin/env php +id->range('1-10'); +$bugTable->product->range('1'); +$bugTable->execution->range('0'); +$bugTable->plan->range('1{3},2{3},0{4}'); +$bugTable->title->range('1-10')->prefix('Bug标题'); +$bugTable->status->range('active{5},resolved{3},closed{2}'); +$bugTable->deleted->range('0'); +$bugTable->gen(10); + +zenData('user')->gen(5); + +su('admin'); + +$docTest = new docZenTest(); + +$settingsPlan1 = array('action' => 'preview', 'plan' => 1); +$settingsPlan999 = array('action' => 'preview', 'plan' => 999); +$settingsPlan0 = array('action' => 'preview', 'plan' => 0); +$settingsList = array('action' => 'list'); +$idList = '1,2,3'; + +r(count($docTest->previewPlanBugTest('setting', $settingsPlan1, '')['data'])) && p() && e('3'); // 步骤1:在setting视图下预览计划关联的Bug +r(count($docTest->previewPlanBugTest('list', $settingsList, $idList)['data'])) && p() && e('3'); // 步骤2:在list视图下根据ID列表预览Bug +r(count($docTest->previewPlanBugTest('list', $settingsList, '')['data'])) && p() && e('10'); // 步骤3:空idList的list视图 +r(count($docTest->previewPlanBugTest('setting', $settingsPlan999, '')['data'])) && p() && e('0'); // 步骤4:不存在的计划ID +r(count($docTest->previewPlanBugTest('setting', $settingsPlan0, '')['data'])) && p() && e('4'); // 步骤5:计划ID为0 \ No newline at end of file