From b608e83e0acebfcc10bac96209505f64da7de914 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Wed, 10 May 2023 09:48:03 +0800 Subject: [PATCH] * Modify the unit test for the create method. --- module/task/config.php | 8 ++-- module/task/test/model/create.php | 72 ++++++++++++++++++------------- 2 files changed, 47 insertions(+), 33 deletions(-) diff --git a/module/task/config.php b/module/task/config.php index 027f85980a..a5a56ee6de 100644 --- a/module/task/config.php +++ b/module/task/config.php @@ -11,10 +11,10 @@ $config->task->start = new stdclass(); $config->task->finish = new stdclass(); $config->task->activate = new stdclass(); -$config->task->create->requiredFields = 'execution,name,type'; -$config->task->edit->requiredFields = $config->task->create->requiredFields; -$config->task->finish->requiredFields = 'realStarted,finishedDate,currentConsumed'; -$config->task->activate->requiredFields = 'left'; +$config->task->create->requiredFields = 'execution,name,type'; +$config->task->edit->requiredFields = $config->task->create->requiredFields; +$config->task->finish->requiredFields = 'realStarted,finishedDate,currentConsumed'; +$config->task->activate->requiredFields = 'left'; /* Default value. */ $config->task->default = new stdclass(); diff --git a/module/task/test/model/create.php b/module/task/test/model/create.php index 791bca09fe..a303f491a2 100755 --- a/module/task/test/model/create.php +++ b/module/task/test/model/create.php @@ -31,21 +31,27 @@ cid=1 */ -$devel = array('execution' => 3, 'name' => '开发任务一', 'type' => 'devel', 'estimate' => 1, 'version' => 1, 'estStarted' => null, 'deadline' => null); -$design = array('execution' => 3, 'name' => '设计任务一', 'type' => 'design', 'estimate' => 1, 'version' => 1, 'estStarted' => '2023-04-01', 'deadline' => null); -$request = array('execution' => 3, 'name' => '需求任务一', 'type' => 'request', 'estimate' => 1, 'version' => 1, 'estStarted' => null, 'deadline' => '2024-01-01'); -$test = array('execution' => 3, 'name' => '测试任务一', 'type' => 'test', 'estimate' => 0, 'version' => 1, 'estStarted' => null, 'deadline' => null); -$study = array('execution' => 3, 'name' => '研究任务一', 'type' => 'study', 'estimate' => 1, 'version' => 1, 'estStarted' => '2023-04-01', 'deadline' => '2024-01-01'); -$discuss = array('execution' => 3, 'name' => '讨论任务一', 'type' => 'discuss', 'estimate' => '', 'version' => 1, 'estStarted' => null, 'deadline' => null); -$ui = array('execution' => 3, 'name' => '界面任务一', 'type' => 'ui', 'estimate' => 1, 'version' => 1, 'estStarted' => null, 'deadline' => null); -$affair = array('execution' => 3, 'name' => '事务任务一', 'type' => 'affair', 'estimate' => 1, 'version' => 1, 'estStarted' => null, 'deadline' => null); -$misc = array('execution' => 3, 'name' => '其他任务一', 'type' => 'misc', 'estimate' => 1, 'version' => 1, 'estStarted' => null, 'deadline' => null); -$noexecution = array('execution' => 0, 'name' => '特殊任务一', 'type' => 'devel', 'estStarted' => '2021-04-10', 'deadline' => '2022-03-19', 'estimate' => 1, 'version' => 1); -$noname = array('execution' => 3, 'name' => '', 'type' => 'devel', 'estimate' => 1, 'version' => 1, 'estStarted' => null, 'deadline' => null); -$notype = array('execution' => 3, 'name' => '特殊任务二', 'type' => '', 'estimate' => 1, 'version' => 1, 'estStarted' => null, 'deadline' => null); -$errorEstimate = array('execution' => 3, 'name' => '特殊任务三', 'type' => 'devel', 'estimate' => '2a', 'version' => 1, 'estStarted' => null, 'deadline' => null); -$linearTask = array('execution' => 3, 'name' => '并行任务一', 'type' => 'design', 'estimate' => 1, 'version' => 1, 'estStarted' => null, 'deadline' => null, 'mode' => 'linear'); -$multiTask = array('execution' => 3, 'name' => '并行任务一', 'type' => 'ui', 'estimate' => 1, 'version' => 1, 'estStarted' => null, 'deadline' => null, 'mode' => 'multi'); +$devel = array('execution' => 3, 'name' => '开发任务一', 'type' => 'devel', 'estimate' => 1, 'version' => 1, 'estStarted' => '2023-04-01', 'deadline' => '2024-01-01'); +$design = array('execution' => 3, 'name' => '设计任务一', 'type' => 'design', 'estimate' => 1, 'version' => 1, 'estStarted' => '2023-04-01', 'deadline' => '2024-01-01'); +$request = array('execution' => 3, 'name' => '需求任务一', 'type' => 'request', 'estimate' => 1, 'version' => 1, 'estStarted' => '2023-04-01', 'deadline' => '2024-01-01'); +$test = array('execution' => 3, 'name' => '测试任务一', 'type' => 'test', 'estimate' => 0, 'version' => 1, 'estStarted' => '2023-04-01', 'deadline' => '2024-01-01'); +$study = array('execution' => 3, 'name' => '研究任务一', 'type' => 'study', 'estimate' => 1, 'version' => 1, 'estStarted' => '2023-04-01', 'deadline' => '2024-01-01'); +$discuss = array('execution' => 3, 'name' => '讨论任务一', 'type' => 'discuss', 'estimate' => '', 'version' => 1, 'estStarted' => '2023-04-01', 'deadline' => '2024-01-01'); +$ui = array('execution' => 3, 'name' => '界面任务一', 'type' => 'ui', 'estimate' => 1, 'version' => 1, 'estStarted' => '2023-04-01', 'deadline' => '2024-01-01'); +$affair = array('execution' => 3, 'name' => '事务任务一', 'type' => 'affair', 'estimate' => 1, 'version' => 1, 'estStarted' => '2023-04-01', 'deadline' => '2024-01-01'); +$misc = array('execution' => 3, 'name' => '其他任务一', 'type' => 'misc', 'estimate' => 1, 'version' => 1, 'estStarted' => '2023-04-01', 'deadline' => '2024-01-01'); +$noexecution = array('execution' => 0, 'name' => '特殊任务一', 'type' => 'devel', 'estimate' => 1, 'version' => 1, 'estStarted' => '2023-04-01', 'deadline' => '2024-01-01'); +$noname = array('execution' => 3, 'name' => '', 'type' => 'devel', 'estimate' => 1, 'version' => 1, 'estStarted' => '2023-04-01', 'deadline' => '2024-01-01'); +$notype = array('execution' => 3, 'name' => '特殊任务二', 'type' => '', 'estimate' => 1, 'version' => 1, 'estStarted' => '2023-04-01', 'deadline' => '2024-01-01'); +$errorEstimate = array('execution' => 3, 'name' => '特殊任务三', 'type' => 'devel', 'estimate' => '2a', 'version' => 1, 'estStarted' => '2023-04-01', 'deadline' => '2024-01-01'); +$noModule = array('execution' => 3, 'name' => '特殊任务四', 'type' => 'devel', 'estimate' => 1, 'version' => 1, 'estStarted' => '2023-04-01', 'deadline' => '2024-01-01', 'module' => 0); +$noStory = array('execution' => 3, 'name' => '特殊任务五', 'type' => 'devel', 'estimate' => 1, 'version' => 1, 'estStarted' => '2023-04-01', 'deadline' => '2024-01-01', 'story' => 0); +$noPri = array('execution' => 3, 'name' => '特殊任务六', 'type' => 'devel', 'estimate' => 1, 'version' => 1, 'estStarted' => '2023-04-01', 'deadline' => '2024-01-01', 'pri' => 0); +$noDesc = array('execution' => 3, 'name' => '特殊任务七', 'type' => 'devel', 'estimate' => 1, 'version' => 1, 'estStarted' => '2023-04-01', 'deadline' => '2024-01-01', 'desc' => ''); +$noEstStarted = array('execution' => 3, 'name' => '特殊任务八', 'type' => 'devel', 'estimate' => 1, 'version' => 1, 'estStarted' => '' , 'deadline' => '2024-01-01'); +$noDeadline = array('execution' => 3, 'name' => '特殊任务九', 'type' => 'devel', 'estimate' => 1, 'version' => 1, 'estStarted' => '2023-04-01', 'deadline' => ''); +$linearTask = array('execution' => 3, 'name' => '并行任务一', 'type' => 'design', 'estimate' => 1, 'version' => 1, 'estStarted' => '2023-04-01', 'deadline' => '2024-01-01', 'mode' => 'linear'); +$multiTask = array('execution' => 3, 'name' => '并行任务一', 'type' => 'ui', 'estimate' => 1, 'version' => 1, 'estStarted' => '2023-04-01', 'deadline' => '2024-01-01', 'mode' => 'multi'); $assignedToList['empty'] = array(); $assignedToList['single'] = array('admin'); @@ -63,24 +69,32 @@ $teamLeftList = array(1, 2, 3); $selectTestStory = true; $notSelectTestStory = false; -$requiredFields = 'estimate'; +$requiredFieldList = array('estimate', 'module', 'story', 'pri', 'desc', 'estStarted', 'deadline'); $taskTester = new taskTest(); /* Create a common task. */ -r($taskTester->createTest($devel, $assignedToList['single'])) && p('name,type,status,assignedTo') && e('开发任务一,devel,wait,admin'); // 测试创建开发类型的任务 -r($taskTester->createTest($design, $assignedToList['single'])) && p('name,type,status,assignedTo') && e('设计任务一,design,wait,admin'); // 测试创建设计类型的任务 -r($taskTester->createTest($request, $assignedToList['single'])) && p('name,type,status,assignedTo') && e('需求任务一,request,wait,admin'); // 测试创建需求类型的任务 -r($taskTester->createTest($study, $assignedToList['single'])) && p('name,type,status,assignedTo') && e('研究任务一,study,wait,admin'); // 测试创建研究类型的任务 -r($taskTester->createTest($discuss, $assignedToList['single'])) && p('name,type,status,assignedTo') && e('讨论任务一,discuss,wait,admin'); // 测试创建讨论类型的任务 -r($taskTester->createTest($ui, $assignedToList['single'])) && p('name,type,status,assignedTo') && e('界面任务一,ui,wait,admin'); // 测试创建界面类型的任务 -r($taskTester->createTest($affair, $assignedToList['multiple'])) && p('name,type,status,assignedTo') && e('事务任务一,affair,wait,admin'); // 测试创建事务类型的任务 -r($taskTester->createTest($misc, $assignedToList['single'])) && p('name,type,status,assignedTo') && e('其他任务一,misc,wait,admin'); // 测试创建其他类型的任务 -r($taskTester->createTest($noexecution, $assignedToList['single'])) && p('execution:0') && e('『所属执行』不能为空。'); // 测试所属执行为空的情况 -r($taskTester->createTest($noname, $assignedToList['single'])) && p('name:0') && e('『任务名称』不能为空。'); // 测试任务名称为空的情况 -r($taskTester->createTest($notype, $assignedToList['single'])) && p('type:0') && e('『任务类型』不能为空。'); // 测试任务类型为空的情况 -r($taskTester->createTest($errorEstimate, $assignedToList['single'])) && p('estimate:0') && e('『最初预计』应当是数字,可以是小数。'); // 测试预计工时格式的正确性 -r($taskTester->createTest($test, $assignedToList['single'], $notMultiple, array(), $selectTestStory, array(), array(), false, false, $requiredFields)) && p('name,type,status,assignedTo') && e('测试任务一,test,wait,admin'); // 测试创建测试类型的任务 +r($taskTester->createTest($devel, $assignedToList['single'])) && p('name,type,status,assignedTo') && e('开发任务一,devel,wait,admin'); // 测试创建开发类型的任务 +r($taskTester->createTest($design, $assignedToList['single'])) && p('name,type,status,assignedTo') && e('设计任务一,design,wait,admin'); // 测试创建设计类型的任务 +r($taskTester->createTest($request, $assignedToList['single'])) && p('name,type,status,assignedTo') && e('需求任务一,request,wait,admin'); // 测试创建需求类型的任务 +r($taskTester->createTest($study, $assignedToList['single'])) && p('name,type,status,assignedTo') && e('研究任务一,study,wait,admin'); // 测试创建研究类型的任务 +r($taskTester->createTest($discuss, $assignedToList['single'])) && p('name,type,status,assignedTo') && e('讨论任务一,discuss,wait,admin'); // 测试创建讨论类型的任务 +r($taskTester->createTest($ui, $assignedToList['single'])) && p('name,type,status,assignedTo') && e('界面任务一,ui,wait,admin'); // 测试创建界面类型的任务 +r($taskTester->createTest($affair, $assignedToList['multiple'])) && p('name,type,status,assignedTo') && e('事务任务一,affair,wait,admin'); // 测试创建事务类型的任务 +r($taskTester->createTest($misc, $assignedToList['single'])) && p('name,type,status,assignedTo') && e('其他任务一,misc,wait,admin'); // 测试创建其他类型的任务 +r($taskTester->createTest($test, $assignedToList['single'], $notMultiple, array(), $selectTestStory, array(), array(), false, false, $requiredFieldList[0])) && p('name,type,status,assignedTo') && e('测试任务一,test,wait,admin'); // 测试创建测试类型的任务 + +/* Check required. */ +r($taskTester->createTest($noexecution, $assignedToList['single'])) && p('execution:0') && e('『所属执行』不能为空。'); // 测试所属执行的必填判断 +r($taskTester->createTest($noname, $assignedToList['single'])) && p('name:0') && e('『任务名称』不能为空。'); // 测试任务名称的必填判断 +r($taskTester->createTest($notype, $assignedToList['single'])) && p('type:0') && e('『任务类型』不能为空。'); // 测试任务类型的必填判断 +r($taskTester->createTest($errorEstimate, $assignedToList['single'])) && p('estimate:0') && e('『最初预计』应当是数字,可以是小数。'); // 测试预计工时格式的正确性 +r($taskTester->createTest($noModule, $assignedToList['single'], $notMultiple, array(), $notSelectTestStory, array(), array(), false, false, $requiredFieldList[1])) && p('module:0') && e('『所属模块』不能为空。'); // 测试所属模块的必填判断 +r($taskTester->createTest($noStory, $assignedToList['single'], $notMultiple, array(), $notSelectTestStory, array(), array(), false, false, $requiredFieldList[2])) && p('story:0') && e('『相关研发需求』不能为空。'); // 测试相关研发需求的必填判断 +r($taskTester->createTest($noPri, $assignedToList['single'], $notMultiple, array(), $notSelectTestStory, array(), array(), false, false, $requiredFieldList[3])) && p('pri:0') && e('『优先级』不能为空。'); // 测试优先级的必填判断 +r($taskTester->createTest($noDesc, $assignedToList['single'], $notMultiple, array(), $notSelectTestStory, array(), array(), false, false, $requiredFieldList[4])) && p('desc:0') && e('『任务描述』不能为空。'); // 测试任务描述的必填判断 +r($taskTester->createTest($noEstStarted, $assignedToList['single'], $notMultiple, array(), $notSelectTestStory, array(), array(), false, false, $requiredFieldList[5])) && p('estStarted:0') && e('『预计开始』不能为空。'); // 测试预计开始的必填判断 +r($taskTester->createTest($noDeadline, $assignedToList['single'], $notMultiple, array(), $notSelectTestStory, array(), array(), false, false, $requiredFieldList[6])) && p('deadline:0') && e('『截止日期』不能为空。'); // 测试截止日期的必填判断 /* Create a multiplayer task when mode is empty. */ r($taskTester->createTest($devel, $assignedToList['single'], $multiple)) && p('mode') && e('`^$`'); // 测试多人任务团队数量小于2的情况