diff --git a/module/testtask/test/model/gettaskcases.php b/module/testtask/test/model/gettaskcases.php index 50c8e76358..d0d08ce182 100755 --- a/module/testtask/test/model/gettaskcases.php +++ b/module/testtask/test/model/gettaskcases.php @@ -1,8 +1,15 @@ #!/usr/bin/env php config('case')->gen(10); +zdTable('testrun')->config('testrun')->gen(10); +zdTable('testsuite')->config('testsuite')->gen(2); +zdTable('suitecase')->config('suitecase')->gen(10); +zdTable('story')->gen(2); +zdTable('module')->gen(2); +zdTable('user')->gen(2); /** @@ -10,10 +17,96 @@ title=测试 testtaskModel->getTaskCases(); cid=1 pid=1 - - */ -$testtask = new testtaskTest(); +global $tester, $app; -r($testtask->getTaskCasesTest()) && p() && e(); \ No newline at end of file +$app->setModuleName('testtask'); +$app->setMethodName('cases'); +$app->loadClass('pager', true); + +$null = new stdclass(); +$pager = new pager(0, 5, 1); +$testtask = $tester->loadModel('testtask'); + +$task1 = (object)array('id' => 0, 'branch' => 0); +$task2 = (object)array('id' => 1, 'branch' => 0); +$task3 = (object)array('id' => 2, 'branch' => 0); + +r($testtask->getTaskCases(1, '', 1, 1, 'id_asc', $pager, $task2)) && p() && e(0); // $browseType 参数为空,查看测试单 1 包含的用例数。 +r($testtask->getTaskCases(1, 'other', 1, 1, 'id_asc', $pager, $task2)) && p() && e(0); // $browseType 参数为 other,查看测试单 1 包含的用例数。 + +r($testtask->getTaskCases(1, 'bymodule', 0, 1, 'id_asc', $pager, $task1)) && p() && e(0); // $browseType 参数为 bymodule,查看测试单 0 包含的用例数。 +r($testtask->getTaskCases(1, 'bymodule', 0, 1, 'id_asc', $pager, $task3)) && p() && e(0); // $browseType 参数为 bymodule,查看测试单 2 包含的用例数。 + +$cases = $testtask->getTaskCases(1, 'bymodule', 0, 1, 'id_asc', $pager, $task2); +$cases = array_values($cases); +r(count($cases)) && p() && e(4); // $browseType 参数为 bymodule,按模块 1 过滤并按 id 正序排列,每页限制查询 5 条,查看测试单 1 包含的用例数。 +r($cases) && p('0:id,title,version,status,caseVersion,caseStatus,storyTitle') && e('1,测试用例1,1,normal,1,wait,用户需求1'); // $browseType 参数为 bymodule,按模块 1 过滤并按 id 正序排列,每页限制查询 5 条,查看测试单 1 包含的第 1 条用例。 +r($cases) && p('1:id,title,version,status,caseVersion,caseStatus,storyTitle') && e('3,测试用例3,1,done,1,blocked,用户需求1'); // $browseType 参数为 bymodule,按模块 1 过滤并按 id 正序排列,每页限制查询 5 条,查看测试单 1 包含的第 2 条用例。 + +$cases = $testtask->getTaskCases(1, 'bymodule', 0, 1, 'id_desc', $pager, $task2); +$cases = array_values($cases); +r(count($cases)) && p() && e(4); // $browseType 参数为 bymodule,按模块 1 过滤并按 id 倒序排列,每页限制查询 5 条,查看测试单 1 包含的用例数。 +r($cases) && p('0:id,title,version,status,caseVersion,caseStatus,storyTitle') && e('9,测试用例9,1,done,1,wait,用户需求1'); // $browseType 参数为 bymodule,按模块 1 过滤并按 id 倒序排列,每页限制查询 5 条,查看测试单 1 包含的第 1 条用例。 +r($cases) && p('1:id,title,version,status,caseVersion,caseStatus,storyTitle') && e('7,测试用例7,1,normal,1,blocked,用户需求1'); // $browseType 参数为 bymodule,按模块 1 过滤并按 id 倒序排列,每页限制查询 5 条,查看测试单 1 包含的第 2 条用例。 + +r($testtask->getTaskCases(1, 'all', 0, 1, 'id_asc', $pager, $task1)) && p() && e(0); // $browseType 参数为 all,查看测试单 0 包含用例数。 +r($testtask->getTaskCases(1, 'all', 0, 1, 'id_asc', $pager, $task3)) && p() && e(0); // $browseType 参数为 all,查看测试单 2 包含用例数。 + +$cases = $testtask->getTaskCases(1, 'all', 0, 1, 'id_asc', $pager, $task2); +$cases = array_values($cases); +r(count($cases)) && p() && e(4); // $browseType 参数为 all,按模块 1 过滤并按 id 正序排列,每页限制查询 5 条,查看测试单 1 包含的用例数。 +r($cases) && p('0:id,title,version,status,caseVersion,caseStatus,storyTitle') && e('1,测试用例1,1,normal,1,wait,用户需求1'); // $browseType 参数为 all,按模块 1 过滤并按 id 正序排列,每页限制查询 5 条,查看测试单 1 包含的第 1 条用例。 +r($cases) && p('1:id,title,version,status,caseVersion,caseStatus,storyTitle') && e('3,测试用例3,1,done,1,blocked,用户需求1'); // $browseType 参数为 all,按模块 1 过滤并按 id 正序排列,每页限制查询 5 条,查看测试单 1 包含的第 2 条用例。 + +$cases = $testtask->getTaskCases(1, 'all', 0, 1, 'id_desc', $pager, $task2); +$cases = array_values($cases); +r(count($cases)) && p() && e(4); // $browseType 参数为 all,按模块 1 过滤并按 id 倒序排列,每页限制查询 5 条,查看测试单 1 包含的用例数。 +r($cases) && p('0:id,title,version,status,caseVersion,caseStatus,storyTitle') && e('9,测试用例9,1,done,1,wait,用户需求1'); // $browseType 参数为 all,按模块 1 过滤并按 id 倒序排列,每页限制查询 5 条,查看测试单 1 包含的第 1 条用例。 +r($cases) && p('1:id,title,version,status,caseVersion,caseStatus,storyTitle') && e('7,测试用例7,1,normal,1,blocked,用户需求1'); // $browseType 参数为 all,按模块 1 过滤并按 id 倒序排列,每页限制查询 5 条,查看测试单 1 包含的第 2 条用例。 + +r($testtask->getTaskCases(1, 'bysuite', 0, 1, 'id_asc', $pager, $task1)) && p() && e(0); // $browseType 参数为 bysuite,查看测试单 0 包含用例数。 +r($testtask->getTaskCases(1, 'bysuite', 0, 1, 'id_asc', $pager, $task3)) && p() && e(0); // $browseType 参数为 bysuite,查看测试单 2 包含用例数。 + +$cases = $testtask->getTaskCases(1, 'bysuite', 1, 1, 'id_asc', $pager, $task2); +$cases = array_values($cases); +r(count($cases)) && p() && e(5); // $browseType 参数为 bysuite,按模块 1 过滤并按 id 正序排列,每页限制查询 5 条,查看测试单 1 包含的用例数。 +r($cases) && p('0:id,title,version,status,caseVersion,caseStatus,storyTitle') && e('1,测试用例1,1,normal,1,wait,用户需求1'); // $browseType 参数为 bysuite,按模块 1 过滤并按 id 正序排列,每页限制查询 5 条,查看测试单 1 包含的第 1 条用例。 +r($cases) && p('1:id,title,version,status,caseVersion,caseStatus,storyTitle') && e('2,测试用例2,1,blocked,1,normal,软件需求2'); // $browseType 参数为 bysuite,按模块 1 过滤并按 id 正序排列,每页限制查询 5 条,查看测试单 1 包含的第 2 条用例。 + +$cases = $testtask->getTaskCases(1, 'bysuite', 1, 1, 'id_desc', $pager, $task2); +$cases = array_values($cases); +r(count($cases)) && p() && e(5); // $browseType 参数为 bysuite,按模块 1 过滤并按 id 倒序排列,每页限制查询 5 条,查看测试单 1 包含的用例数。 +r($cases) && p('0:id,title,version,status,caseVersion,caseStatus,storyTitle') && e('9,测试用例9,1,done,1,wait,用户需求1'); // $browseType 参数为 bysuite,按模块 1 过滤并按 id 倒序排列,每页限制查询 5 条,查看测试单 1 包含的第 1 条用例。 +r($cases) && p('1:id,title,version,status,caseVersion,caseStatus,storyTitle') && e('8,测试用例8,1,blocked,1,investigate,软件需求2'); // $browseType 参数为 bysuite,按模块 1 过滤并按 id 倒序排列,每页限制查询 5 条,查看测试单 1 包含的第 2 条用例。 + +r($testtask->getTaskCases(1, 'assignedtome', 0, 1, 'id_asc', $pager, $task1)) && p() && e(0); // $browseType 参数为 assignedtome,查看测试单 0 包含用例数。 +r($testtask->getTaskCases(1, 'assignedtome', 0, 1, 'id_asc', $pager, $task3)) && p() && e(0); // $browseType 参数为 assignedtome,查看测试单 2 包含用例数。 + +$cases = $testtask->getTaskCases(1, 'assignedtome', 0, 1, 'id_asc', $pager, $task2); +$cases = array_values($cases); +r(count($cases)) && p() && e(3); // $browseType 参数为 assignedtome,按模块 1 过滤并按 id 正序排列,每页限制查询 5 条,查看测试单 1 包含的用例数。 +r($cases) && p('0:id,title,version,status,caseVersion,caseStatus,storyTitle') && e('1,测试用例1,1,normal,1,wait,用户需求1'); // $browseType 参数为 assignedtome,按模块 1 过滤并按 id 正序排列,每页限制查询 5 条,查看测试单 1 包含的第 1 条用例。 +r($cases) && p('1:id,title,version,status,caseVersion,caseStatus,storyTitle') && e('3,测试用例3,1,done,1,blocked,用户需求1'); // $browseType 参数为 assignedtome,按模块 1 过滤并按 id 正序排列,每页限制查询 5 条,查看测试单 1 包含的第 2 条用例。 + +$cases = $testtask->getTaskCases(1, 'assignedtome', 0, 1, 'id_desc', $pager, $task2); +$cases = array_values($cases); +r(count($cases)) && p() && e(3); // $browseType 参数为 assignedtome,按模块 1 过滤并按 id 倒序排列,每页限制查询 5 条,查看测试单 1 包含的用例数。 +r($cases) && p('0:id,title,version,status,caseVersion,caseStatus,storyTitle') && e('7,测试用例7,1,normal,1,blocked,用户需求1'); // $browseType 参数为 assignedtome,按模块 1 过滤并按 id 倒序排列,每页限制查询 5 条,查看测试单 1 包含的第 1 条用例。 +r($cases) && p('1:id,title,version,status,caseVersion,caseStatus,storyTitle') && e('3,测试用例3,1,done,1,blocked,用户需求1'); // $browseType 参数为 assignedtome,按模块 1 过滤并按 id 倒序排列,每页限制查询 5 条,查看测试单 1 包含的第 2 条用例。 + +r($testtask->getTaskCases(1, 'bysearch', 0, 1, 'id_asc', $pager, $task1)) && p() && e(0); // $browseType 参数为 bysearch,查看测试单 0 包含用例数。 +r($testtask->getTaskCases(1, 'bysearch', 0, 1, 'id_asc', $pager, $task3)) && p() && e(0); // $browseType 参数为 bysearch,查看测试单 2 包含用例数。 + +$cases = $testtask->getTaskCases(1, 'bysearch', 0, 1, 'id_asc', $pager, $task2); +$cases = array_values($cases); +r(count($cases)) && p() && e(5); // $browseType 参数为 bysearch,按模块 1 过滤并按 id 正序排列,每页限制查询 5 条,查看测试单 1 包含的用例数。 +r($cases) && p('0:id,title,version,status,caseVersion,caseStatus,storyTitle') && e('1,测试用例1,1,normal,1,wait,用户需求1'); // $browseType 参数为 bysearch,按模块 1 过滤并按 id 正序排列,每页限制查询 5 条,查看测试单 1 包含的第 1 条用例。 +r($cases) && p('1:id,title,version,status,caseVersion,caseStatus,storyTitle') && e('2,测试用例2,1,blocked,1,normal,软件需求2'); // $browseType 参数为 bysearch,按模块 1 过滤并按 id 正序排列,每页限制查询 5 条,查看测试单 1 包含的第 2 条用例。 + +$cases = $testtask->getTaskCases(1, 'bysearch', 0, 1, 'id_desc', $pager, $task2); +$cases = array_values($cases); +r(count($cases)) && p() && e(5); // $browseType 参数为 bysearch,按模块 1 过滤并按 id 倒序排列,每页限制查询 5 条,查看测试单 1 包含的用例数。 +r($cases) && p('0:id,title,version,status,caseVersion,caseStatus,storyTitle') && e('9,测试用例9,1,done,1,wait,用户需求1'); // $browseType 参数为 bysearch,按模块 1 过滤并按 id 倒序排列,每页限制查询 5 条,查看测试单 1 包含的第 1 条用例。 +r($cases) && p('1:id,title,version,status,caseVersion,caseStatus,storyTitle') && e('8,测试用例8,1,blocked,1,investigate,软件需求2'); // $browseType 参数为 bysearch,按模块 1 过滤并按 id 倒序排列,每页限制查询 5 条,查看测试单 1 包含的第 2 条用例。 diff --git a/module/testtask/test/model/yaml/gettaskcases/case.yaml b/module/testtask/test/model/yaml/gettaskcases/case.yaml new file mode 100644 index 0000000000..9e7ba789b2 --- /dev/null +++ b/module/testtask/test/model/yaml/gettaskcases/case.yaml @@ -0,0 +1,15 @@ +title: table zt_case +author: Gang Liu +version: "1.0" +fields: + - field: product + range: 1 + - field: title + range: 1-100 + prefix: 测试用例 + - field: module + range: "1,2" + - field: story + range: "1,2" + - field: deleted + range: 0{4},1 diff --git a/module/testtask/test/model/yaml/gettaskcases/suitecase.yaml b/module/testtask/test/model/yaml/gettaskcases/suitecase.yaml new file mode 100644 index 0000000000..6bdafb2dc7 --- /dev/null +++ b/module/testtask/test/model/yaml/gettaskcases/suitecase.yaml @@ -0,0 +1,8 @@ +title: table zt_suitecase +author: Gang Liu +version: "1.0" +fields: + - field: suite + range: 1 + - field: product + range: 1 diff --git a/module/testtask/test/model/yaml/gettaskcases/testrun.yaml b/module/testtask/test/model/yaml/gettaskcases/testrun.yaml new file mode 100644 index 0000000000..bf6e1aed59 --- /dev/null +++ b/module/testtask/test/model/yaml/gettaskcases/testrun.yaml @@ -0,0 +1,10 @@ +title: table zt_testrun +author: Gang Liu +version: "1.0" +fields: + - field: task + range: 1 + - field: assignedTo + range: user1{8},user2{2} + - field: status + range: normal, blocked, done diff --git a/module/testtask/test/model/yaml/gettaskcases/testsuite.yaml b/module/testtask/test/model/yaml/gettaskcases/testsuite.yaml new file mode 100644 index 0000000000..daf8f7327a --- /dev/null +++ b/module/testtask/test/model/yaml/gettaskcases/testsuite.yaml @@ -0,0 +1,9 @@ +title: table zt_testsuite +author: Gang Liu +version: "1.0" +fields: + - field: product + range: 1 + - field: name + range: 1-100 + prefix: 测试套件