diff --git a/module/testtask/test/model/getlinkablecases.php b/module/testtask/test/model/getlinkablecases.php new file mode 100755 index 0000000000..e829f60752 --- /dev/null +++ b/module/testtask/test/model/getlinkablecases.php @@ -0,0 +1,75 @@ +#!/usr/bin/env php +config('case')->gen(20); +zdTable('testrun')->config('testrun')->gen(20); +zdTable('suitecase')->config('suitecase')->gen(20); +zdTable('build')->config('build')->gen(3); +zdTable('story')->gen(2); + +/** + +title=测试 testtaskModel->getLinkableCases(); +cid=1 +pid=1 + +*/ + +global $tester, $app; + +$app->setModuleName('testtask'); +$app->setMethodName('linkCase'); +$app->loadClass('pager', true); +$pager = new pager(0, 5, 1); + +$testtask = $tester->loadModel('testtask'); + +$task1 = (object)array('id' => 2, 'build' => 0, 'branch' => 0); // 测试单 1 版本 0 分支 0 没有用例。 +$task2 = (object)array('id' => 2, 'build' => 1, 'branch' => 0); // 测试单 2 版本 1 分支 0 没有用例。 +$task3 = (object)array('id' => 2, 'build' => 3, 'branch' => 0); // 测试单 3 版本 3 分支 0 没有用例。 +$task4 = (object)array('id' => 2, 'build' => 2, 'branch' => 0); // 测试单 4 版本 2 分支 0 有用例。 +$task5 = (object)array('id' => 2, 'build' => 2, 'branch' => 1); // 测试单 5 版本 2 分支 1 有用例。 + +r($testtask->getLinkableCases(0, $task4)) && p() && e(0); // 产品 0 测试单 4 可关联的用例数为 0。 +r($testtask->getLinkableCases(2, $task4)) && p() && e(0); // 产品 2 测试单 4 可关联的用例数为 0。 +r($testtask->getLinkableCases(1, $task1, 'bystory')) && p() && e(0); // 产品 1 测试单 1 按需求关联可关联的用例数为 0。 +r($testtask->getLinkableCases(1, $task1, 'bybug')) && p() && e(0); // 产品 1 测试单 1 按缺陷关联可关联的用例数为 0。 +r($testtask->getLinkableCases(1, $task1, 'bysuite')) && p() && e(0); // 产品 1 测试单 1 按套件关联可关联的用例数为 0。 +r($testtask->getLinkableCases(1, $task1, 'bybuild')) && p() && e(0); // 产品 1 测试单 1 按版本关联可关联的用例数为 0。 +r($testtask->getLinkableCases(1, $task1, 'byother')) && p() && e(0); // 产品 1 测试单 1 按其他关联可关联的用例数为 0。 +r($testtask->getLinkableCases(1, $task4, 'bysuite', 0)) && p() && e(0); // 产品 1 测试单 1 按套件 0 关联可关联的用例数为 0。 +r($testtask->getLinkableCases(1, $task4, 'bybuild', 0)) && p() && e(0); // 产品 1 测试单 1 按版本 0 关联可关联的用例数为 0。 +r($testtask->getLinkableCases(1, $task4, 'bysuite', 2)) && p() && e(0); // 产品 1 测试单 1 按套件 2 关联可关联的用例数为 0。 +r($testtask->getLinkableCases(1, $task4, 'bybuild', 2)) && p() && e(0); // 产品 1 测试单 1 按版本 2 关联可关联的用例数为 0。 + +r(count($testtask->getLinkableCases(1, $task4))) && p() && e(6); // 产品 1 测试单 4 可关联的用例数为 6。 +r(count($testtask->getLinkableCases(1, $task5))) && p() && e(12); // 产品 1 测试单 4 可关联的用例数为 12。 + +r(count($testtask->getLinkableCases(1, $task4, 'all', 0, $pager))) && p() && e(5); // 产品 1 测试单 4 限制每页查询 5 条后可关联的用例数为 5。 +r(count($testtask->getLinkableCases(1, $task5, 'all', 0, $pager))) && p() && e(5); // 产品 1 测试单 4 限制每页查询 5 条后可关联的用例数为 5。 + +r(count($testtask->getLinkableCases(1, $task4, 'bystory'))) && p() && e(6); // 产品 1 测试单 4 按需求关联可关联的用例数为 6。 +r(count($testtask->getLinkableCases(1, $task5, 'bystory'))) && p() && e(12); // 产品 1 测试单 4 按需求关联可关联的用例数为 12。 + +r(count($testtask->getLinkableCases(1, $task4, 'bystory', 0, $pager))) && p() && e(5); // 产品 1 测试单 4 限制每页查询 5 条后按需求关联可关联的用例数为 5。 +r(count($testtask->getLinkableCases(1, $task5, 'bystory', 0, $pager))) && p() && e(5); // 产品 1 测试单 4 限制每页查询 5 条后按需求关联可关联的用例数为 5。 + +r(count($testtask->getLinkableCases(1, $task4, 'bybug'))) && p() && e(6); // 产品 1 测试单 4 按缺陷关联可关联的用例数为 6。 +r(count($testtask->getLinkableCases(1, $task5, 'bybug'))) && p() && e(12); // 产品 1 测试单 4 按缺陷关联可关联的用例数为 12。 + +r(count($testtask->getLinkableCases(1, $task4, 'bybug', 0, $pager))) && p() && e(5); // 产品 1 测试单 4 限制每页查询 5 条后按缺陷关联可关联的用例数为 5。 +r(count($testtask->getLinkableCases(1, $task5, 'bybug', 0, $pager))) && p() && e(5); // 产品 1 测试单 4 限制每页查询 5 条后按缺陷关联可关联的用例数为 5。 + +r(count($testtask->getLinkableCases(1, $task4, 'bysuite', 1))) && p() && e(6); // 产品 1 测试单 4 按套件 1 关联可关联的用例数为 6。 +r(count($testtask->getLinkableCases(1, $task5, 'bysuite', 1))) && p() && e(12); // 产品 1 测试单 4 按套件 1 关联可关联的用例数为 12。 + +r(count($testtask->getLinkableCases(1, $task4, 'bysuite', 1, $pager))) && p() && e(5); // 产品 1 测试单 4 限制每页查询 5 条后按套件 1 关联可关联的用例数为 5。 +r(count($testtask->getLinkableCases(1, $task5, 'bysuite', 1, $pager))) && p() && e(5); // 产品 1 测试单 4 限制每页查询 5 条后按套件 1 关联可关联的用例数为 5。 + +r(count($testtask->getLinkableCases(1, $task4, 'bybuild', 1))) && p() && e(15); // 产品 1 测试单 4 按版本关联可关联的用例数为 15。 +r(count($testtask->getLinkableCases(1, $task5, 'bybuild', 1))) && p() && e(15); // 产品 1 测试单 4 按版本关联可关联的用例数为 15。 + +r(count($testtask->getLinkableCases(1, $task4, 'bybuild', 1, $pager))) && p() && e(5); // 产品 1 测试单 4 限制每页查询 5 条后按版本关联可关联的用例数为 5。 +r(count($testtask->getLinkableCases(1, $task5, 'bybuild', 1, $pager))) && p() && e(5); // 产品 1 测试单 4 限制每页查询 5 条后按版本关联可关联的用例数为 5。 diff --git a/module/testtask/test/model/yaml/getlinkablecases/build.yaml b/module/testtask/test/model/yaml/getlinkablecases/build.yaml new file mode 100644 index 0000000000..3efd090923 --- /dev/null +++ b/module/testtask/test/model/yaml/getlinkablecases/build.yaml @@ -0,0 +1,8 @@ +title: table zt_build +author: Gang Liu +version: "1.0" +fields: + - field: stories + range: "[],`1,2`,`3,4`" + - field: bugs + range: "[],`1,2`,`3,4`" diff --git a/module/testtask/test/model/yaml/getlinkablecases/case.yaml b/module/testtask/test/model/yaml/getlinkablecases/case.yaml new file mode 100644 index 0000000000..7938b2622f --- /dev/null +++ b/module/testtask/test/model/yaml/getlinkablecases/case.yaml @@ -0,0 +1,16 @@ +title: table zt_case +author: Gang Liu +version: "1.0" +fields: + - field: product + range: 1 + - field: project + range: 1{5},2{5} + - field: branch + range: 0{10},1{10} + - field: story + range: "1,2" + - field: fromBug + range: "1,2" + - field: deleted + range: 0{4},1 diff --git a/module/testtask/test/model/yaml/getlinkablecases/suitecase.yaml b/module/testtask/test/model/yaml/getlinkablecases/suitecase.yaml new file mode 100644 index 0000000000..6bdafb2dc7 --- /dev/null +++ b/module/testtask/test/model/yaml/getlinkablecases/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/getlinkablecases/testrun.yaml b/module/testtask/test/model/yaml/getlinkablecases/testrun.yaml new file mode 100644 index 0000000000..753930d8ea --- /dev/null +++ b/module/testtask/test/model/yaml/getlinkablecases/testrun.yaml @@ -0,0 +1,8 @@ +title: table zt_testrun +author: Gang Liu +version: "1.0" +fields: + - field: task + range: 1 + - field: lastRunner + range: user1