From 79ed6ade92b7ce60650dc37ba3ebaeff74106d91 Mon Sep 17 00:00:00 2001 From: liugang Date: Mon, 22 Sep 2025 14:01:08 +0800 Subject: [PATCH] * [misc] Enhance unit tests for executionModel::getDefaultManagers() method MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .../test/model/getdefaultmanagers.php | 73 ++++++++++++------- 1 file changed, 47 insertions(+), 26 deletions(-) diff --git a/module/execution/test/model/getdefaultmanagers.php b/module/execution/test/model/getdefaultmanagers.php index 0c4ccc5b55..feccf7d929 100755 --- a/module/execution/test/model/getdefaultmanagers.php +++ b/module/execution/test/model/getdefaultmanagers.php @@ -1,20 +1,42 @@ #!/usr/bin/env php gen(5); -su('admin'); $execution = zenData('project'); -$execution->id->range('1-5'); -$execution->name->range('项目集1,项目1,迭代1,阶段1,看板1'); -$execution->type->range('program,project,sprint,stage,kanban'); -$execution->parent->range('0,1,2{3}'); -$execution->status->range('wait{3},suspended,closed,doing'); +$execution->id->range('1-10'); +$execution->name->range('项目集1,项目1,迭代1,阶段1,看板1,迭代2,阶段2,看板2,迭代3,项目2'); +$execution->type->range('program,project,sprint,stage,kanban,sprint,stage,kanban,sprint,project'); +$execution->parent->range('0,1,2{3},1,1,1,2,1'); +$execution->status->range('wait{5},suspended,closed,doing{3}'); $execution->openedBy->range('admin,user1'); $execution->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD'); $execution->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD'); -$execution->gen(5); +$execution->gen(10); $product = zenData('product'); $product->id->range('1-3'); @@ -22,29 +44,28 @@ $product->name->range('1-3')->prefix('产品'); $product->code->range('1-3')->prefix('product'); $product->type->range('normal'); $product->status->range('normal'); -$product->PO->range('admin'); -$product->QD->range('user1'); -$product->RD->range('user2'); +$product->PO->range('admin,user1,user2'); +$product->QD->range('user1,user2,admin'); +$product->RD->range('user2,admin,user1'); $product->gen(3); $projectProduct = zenData('projectproduct'); -$projectProduct->project->range('3{3}, 4{3}, 5{3}'); -$projectProduct->product->range('1-3'); +$projectProduct->project->range('3,4,5'); +$projectProduct->product->range('1,2,3'); $projectProduct->branch->range('0'); -$projectProduct->gen(9); +$projectProduct->gen(3); -/** +// 3. 用户登录 +su('admin'); -title=executionModel->getDefaultManagers(); -timeout=0 -cid=1 +// 4. 创建测试实例 +$executionTest = new executionTest(); -*/ - -$executionID = array(3, 4, 5); - -global $tester; -$tester->loadModel('execution'); -r($tester->execution->getDefaultManagers($executionID[0])) && p('PO') && e('admin'); // 获取迭代关联的产品相关负责人 -r($tester->execution->getDefaultManagers($executionID[1])) && p('QD') && e('user1'); // 获取阶段关联的产品相关负责人 -r($tester->execution->getDefaultManagers($executionID[2])) && p('RD') && e('user2'); // 获取看板关联的产品相关负责人 +// 5. 执行测试步骤(至少5个) +r($executionTest->getDefaultManagersTest(3)) && p('PO') && e('admin'); // 步骤1:获取执行3关联产品1的PO管理者 +r($executionTest->getDefaultManagersTest(4)) && p('QD') && e('user2'); // 步骤2:获取执行4关联产品2的QD管理者 +r($executionTest->getDefaultManagersTest(5)) && p('RD') && e('user1'); // 步骤3:获取执行5关联产品3的RD管理者 +r($executionTest->getDefaultManagersTest(6)) && p('PO') && e('~~'); // 步骤4:获取未关联产品的执行的PO为空 +r($executionTest->getDefaultManagersTest(999)) && p('QD') && e('~~'); // 步骤5:测试不存在的执行ID的QD为空 +r($executionTest->getDefaultManagersTest(0)) && p('RD') && e('~~'); // 步骤6:测试无效执行ID(0)的RD为空 +r($executionTest->getDefaultManagersTest(4)) && p('PO,QD,RD') && e('user1,user2,admin'); // 步骤7:测试执行4的所有管理者字段 \ No newline at end of file