diff --git a/test/class/execution.class.php b/test/class/execution.class.php index d928435be8..a2d790599d 100644 --- a/test/class/execution.class.php +++ b/test/class/execution.class.php @@ -11,7 +11,8 @@ class executionTest { global $tester; $this->executionModel = $tester->loadModel('execution'); - $this->treeModel = $tester->loadModel('tree'); + $this->treeModel = $tester->loadModel('tree'); + $this->productModel = $tester->loadModel('product'); } /** @@ -2700,4 +2701,23 @@ class executionTest return $_SESSION['tasksearchParams']['queryID']; } + + /** + * Test build bug search form. + * + * @param int $productID + * @param int $queryID + * @access public + * @return void + */ + public function buildBugSearchFormTest($productID, $queryID) + { + $product = $this->productModel->getByID($productID); + if(empty($product)) return '0'; + + $this->executionModel->loadModel('bug'); + $this->executionModel->buildBugSearchForm(array($productID => $product), $queryID, 'searchBug'); + + return $_SESSION['executionBugsearchParams']['queryID']; + } } diff --git a/test/model/execution/buildbugsearchform.php b/test/model/execution/buildbugsearchform.php new file mode 100644 index 0000000000..de6ab9aebb --- /dev/null +++ b/test/model/execution/buildbugsearchform.php @@ -0,0 +1,78 @@ +#!/usr/bin/env php +id->range('1-5'); +$execution->name->range('项目1,项目2,迭代1,迭代2,迭代3'); +$execution->type->range('project{2},sprint,stage,kanban'); +$execution->status->range('doing'); +$execution->parent->range('0,0,1,1,2'); +$execution->project->range('0,0,1,1,2'); +$execution->grade->range('2{2},1{3}'); +$execution->path->range('1,2,`1,3`,`1,4`,`2,5`')->prefix(',')->postfix(','); +$execution->begin->range('20230102 000000:0')->type('timestamp')->format('YY/MM/DD'); +$execution->end->range('20230212 000000:0')->type('timestamp')->format('YY/MM/DD'); +$execution->gen(5); + +$product = zdTable('product'); +$product->id->range('1-3'); +$product->name->range('1-3')->prefix('产品'); +$product->code->range('1-3')->prefix('product'); +$product->type->range('normal'); +$product->status->range('normal'); +$product->gen(3); + +$task = zdTable('task'); +$task->id->range('1-10'); +$task->name->range('1-10')->prefix('任务'); +$task->execution->range('3-5'); +$task->type->range('test,devel'); +$task->status->range('wait,doing'); +$task->estimate->range('1-10'); +$task->left->range('1-10'); +$task->consumed->range('1-10'); +$task->gen(10); + +$bug = zdTable('bug'); +$bug->id->range('1-4'); +$bug->title->range('1-4')->prefix('Bug'); +$bug->project->range('1,2,1'); +$bug->execution->range('3,4,5'); +$bug->task->range('1-10'); +$bug->status->range('wait,doing'); +$bug->gen(4); + +$query = zdTable('userquery'); +$query->id->range('1'); +$query->account->range('admin'); +$query->module->range('bug'); +$query->title->range('搜索条件1'); +$query->form->range('`a:59:{s:9:"fieldname";s:0:"";s:11:"fieldstatus";s:0:"";s:9:"fielddesc";s:0:"";s:15:"fieldassignedTo";s:0:"";s:8:"fieldpri";s:1:"0";s:14:"fieldexecution";s:0:"";s:11:"fieldmodule";s:4:"ZERO";s:13:"fieldestimate";s:0:"";s:9:"fieldleft";s:0:"";s:13:"fieldconsumed";s:0:"";s:9:"fieldtype";s:0:"";s:12:"fieldfromBug";s:0:"";s:17:"fieldclosedReason";s:0:"";s:13:"fieldopenedBy";s:0:"";s:15:"fieldfinishedBy";s:0:"";s:13:"fieldclosedBy";s:0:"";s:15:"fieldcanceledBy";s:0:"";s:17:"fieldlastEditedBy";s:0:"";s:11:"fieldmailto";s:0:"";s:15:"fieldopenedDate";s:0:"";s:13:"fielddeadline";s:0:"";s:15:"fieldestStarted";s:0:"";s:16:"fieldrealStarted";s:0:"";s:17:"fieldassignedDate";s:0:"";s:17:"fieldfinishedDate";s:0:"";s:15:"fieldclosedDate";s:0:"";s:17:"fieldcanceledDate";s:0:"";s:19:"fieldlastEditedDate";s:0:"";s:18:"fieldactivatedDate";s:0:"";s:7:"fieldid";s:0:"";s:6:"andOr1";s:3:"AND";s:6:"field1";s:4:"name";s:9:"operator1";s:7:"include";s:6:"value1";s:3:"Bug";s:6:"andOr2";s:3:"and";s:6:"field2";s:2:"id";s:9:"operator2";s:1:"=";s:6:"value2";s:0:"";s:6:"andOr3";s:3:"and";s:6:"field3";s:6:"status";s:9:"operator3";s:1:"=";s:6:"value3";s:0:"";s:10:"groupAndOr";s:3:"and";s:6:"andOr4";s:3:"AND";s:6:"field4";s:4:"desc";s:9:"operator4";s:7:"include";s:6:"value4";s:0:"";s:6:"andOr5";s:3:"and";s:6:"field5";s:10:"assignedTo";s:9:"operator5";s:1:"=";s:6:"value5";s:0:"";s:6:"andOr6";s:3:"and";s:6:"field6";s:3:"pri";s:9:"operator6";s:1:"=";s:6:"value6";s:1:"0";s:6:"module";s:4:"task";s:9:"actionURL";s:41:"/execution-task-3-bySearch-myQueryID.html";s:10:"groupItems";s:1:"3";s:8:"formType";s:4:"lite";}`'); +$query->sql->range("`(( 1 AND `name` LIKE '%Bug%' ) AND ( 1 )) AND deleted = '0'`"); +$query->gen(1); + +su('admin'); + +/** + +title=测试executionModel->buildBugSearchForm(); +cid=1 +pid=1 + +正确的产品,正确的queryID >> 1 +错误的产品,正确的queryID >> 0 +正确的产品,错误的queryID >> 0 +错误的产品,错误的queryID >> 0 + +*/ + +$productIDList = array('1', '0'); +$queryIDList = array('0', '1'); + +$execution = new executionTest(); +r($execution->buildBugSearchFormTest($productIDList[0], $queryIDList[1])) && p() && e('1'); // 正确的产品,正确的queryID +r($execution->buildBugSearchFormTest($productIDList[1], $queryIDList[1])) && p() && e('0'); // 错误的产品,正确的queryID +r($execution->buildBugSearchFormTest($productIDList[0], $queryIDList[0])) && p() && e('0'); // 正确的产品,错误的queryID +r($execution->buildBugSearchFormTest($productIDList[1], $queryIDList[0])) && p() && e('0'); // 错误的产品,错误的queryID diff --git a/test/model/execution/buildtasksearchform.php b/test/model/execution/buildtasksearchform.php index 32f0f20467..2e980cf3c6 100644 --- a/test/model/execution/buildtasksearchform.php +++ b/test/model/execution/buildtasksearchform.php @@ -52,11 +52,10 @@ pid=1 */ $executionIDList = array('3', '0'); -$queryIDList = array('0', '1'); +$queryIDList = array('0', '1'); $execution = new executionTest(); r($execution->buildTaskSearchFormTest($executionIDList[0], $queryIDList[1])) && p() && e('1'); // 正确的执行,正确的queryID r($execution->buildTaskSearchFormTest($executionIDList[1], $queryIDList[1])) && p() && e('1'); // 错误的执行,正确的queryID r($execution->buildTaskSearchFormTest($executionIDList[0], $queryIDList[0])) && p() && e('0'); // 正确的执行,错误的queryID r($execution->buildTaskSearchFormTest($executionIDList[1], $queryIDList[0])) && p() && e('0'); // 错误的执行,错误的queryID - diff --git a/test/model/execution/importbug.php b/test/model/execution/importbug.php index 87ed786f02..63e82fc736 100755 --- a/test/model/execution/importbug.php +++ b/test/model/execution/importbug.php @@ -25,7 +25,6 @@ $task->left->range('3'); $task->consumed->range('3'); $task->gen(10); - $bug = zdTable('bug'); $bug->id->range('1-3,273'); $bug->title->range('1-4')->prefix('Bug');