diff --git a/module/task/test/lib/canceltask.ui.class.php b/module/task/test/lib/canceltask.ui.class.php index 46d4c18632..f05667688f 100644 --- a/module/task/test/lib/canceltask.ui.class.php +++ b/module/task/test/lib/canceltask.ui.class.php @@ -8,7 +8,7 @@ class cancelTaskTester extends tester * * @param string $id * @param string $status - * @accuss public + * @access public * @return object */ public function cancel($id, $status) diff --git a/module/task/test/lib/closetask.ui.class.php b/module/task/test/lib/closetask.ui.class.php index 4d559c8b12..65777a7329 100644 --- a/module/task/test/lib/closetask.ui.class.php +++ b/module/task/test/lib/closetask.ui.class.php @@ -8,7 +8,7 @@ class closeTaskTester extends tester * * @param string $id * @param string $status - * @accuss public + * @access public * @return object */ public function close($id, $status) diff --git a/module/task/test/lib/finishtask.ui.class.php b/module/task/test/lib/finishtask.ui.class.php new file mode 100644 index 0000000000..d4fd9aec67 --- /dev/null +++ b/module/task/test/lib/finishtask.ui.class.php @@ -0,0 +1,65 @@ +initForm('task', 'view', array('taskID' => $id), 'appIframe-execution'); + + $form->dom->xpath['taskAssignedTo'] = "//*[@title='{$this->lang->task->assignedTo}']/../div[2]"; + $form->dom->xpath['taskStatus'] = "//*[@title='{$this->lang->task->status}']/..//span"; + $form->dom->xpath['taskConsumed'] = "//*[@title='{$this->lang->task->consumed}']/../div[2]"; + $form->dom->xpath['taskLeft'] = "//*[@title='{$this->lang->task->left}']/../div[2]"; + $form->dom->xpath['finishBtn'] = "//a[@title='{$this->lang->task->finish}']"; + + $taskConsumed = $form->dom->taskConsumed->getText(); + + if(!in_array($status, array('wait', 'doing', 'pause'))) + { + if(is_object($form->dom->finishBtn)) return $this->failed('错误的显示了完成按钮'); + return $this->success('没有显示完成按钮'); + } + + $form->dom->finishBtn->click(); + $form->wait(1); + /* 输入完成任务表单内容 */ + $form->dom->currentConsumed->setValue($consumed); + if(empty($assignedTo)) $form->dom->assignedToDelBtn->click(); + if(!empty($assignedTo)) $form->dom->assignedTo->picker($assignedTo); + $form->dom->submitBtn->click(); + $form->wait(1); + + if($consumed == '0' || empty($consumed)) + { + if($status == 'wait') + { + if(!is_object($form->dom->currentConsumedTip)) return $this->failed('任务本次消耗为0时没有提示'); + if($form->dom->currentConsumedTip->getText() != $this->lang->task->error->consumedEmpty) return $this->failed('任务本次消耗为0时提示错误'); + return $this->success('任务本次消耗为0时提示正确'); + } + /* 当任务为进行中、已暂停状态 */ + if(!is_object($form->dom->modalText)) return $this->failed('任务本次消耗为0时没有提示'); + if($form->dom->modalText->getText() != $this->lang->task->error->consumedEmptyAB) return $this->failed('任务本次消耗为0时提示错误'); + } + + if(is_object($form->dom->confirmBtn)) $form->dom->confirmBtn->click(); + $form->wait(3); + if($form->dom->taskStatus->getText() != $this->lang->task->statusList->done) return $this->failed('完成任务后状态错误'); + if(intval($form->dom->taskConsumed->getText()) != $consumed + $taskConsumed) return $this->failed('完成任务后总计消耗错误'); + /* 当完成任务弹窗指派给为空,完成任务后,任务指派给为完成者admin */ + if(empty($assignedTo)) $assignedTo = 'admin'; + if($form->dom->taskAssignedTo->getText() != $assignedTo) return $this->failed('完成任务后指派给错误'); + return $this->success('完成任务成功'); + } +} diff --git a/module/task/test/lib/pausetask.ui.class.php b/module/task/test/lib/pausetask.ui.class.php index 287f0a731c..fa1c4477ea 100644 --- a/module/task/test/lib/pausetask.ui.class.php +++ b/module/task/test/lib/pausetask.ui.class.php @@ -8,7 +8,7 @@ class pauseTaskTester extends tester * * @param string $id * @param string $status - * @accuss public + * @access public * @return object */ public function pause($id, $status) diff --git a/module/task/test/ui/finish.php b/module/task/test/ui/finish.php new file mode 100644 index 0000000000..8926530873 --- /dev/null +++ b/module/task/test/ui/finish.php @@ -0,0 +1,113 @@ +#!/usr/bin/env php +id->range('1-3'); +$user->account->range('admin, user1, user2'); +$user->password->range($config->uitest->defaultPassword)->format('md5'); +$user->realname->range('admin, USER1, USER2'); +$user->gen(3); + +$product = zenData('product'); +$product->id->range('1'); +$product->name->range('产品1'); +$product->gen(1); + +$project = zenData('project'); +$project->id->range('1, 2'); +$project->project->range('0, 1'); +$project->model->range('scrum, []'); +$project->type->range('project, sprint'); +$project->auth->range('extend, []'); +$project->parent->range('0, 1'); +$project->path->range('`,1,`, `,1,2,`'); +$project->name->range('项目1, 项目1执行1'); +$project->gen(2); + +$projectProduct = zenData('projectproduct'); +$projectProduct->project->range('1, 2'); +$projectProduct->product->range('1'); +$projectProduct->branch->range('0'); +$projectProduct->plan->range('0'); +$projectProduct->gen(2); + +$task = zenData('task'); +$task->id->range('1-100'); +$task->project->range('1'); +$task->parent->range('0 '); +$task->path->range('`,1,`, `,2,`, `,3,`, `,4,`, `,5,`, `,6,`, `,7,`, `,8,`, `,9,`'); +$task->execution->range('2'); +$task->story->range('0'); +$task->name->range('1-100'); +$task->type->range('devel'); +$task->consumed->range('0, 2{8}'); +$task->left->range('1{4}, 0, 1{4}'); +$task->deadline->range(' (-5D)-(-4D):1D, []{11}')->type('timestamp')->format('YY/MM/DD'); +$task->status->range('wait{2}, doing{2}, done, pause{2}, cancel, closed'); +$task->gen(9); + +$taskSpec = zenData('taskspec'); +$taskSpec->task->range('1-100'); +$taskSpec->version->range('0'); +$taskSpec->name->range('1-100'); +$taskSpec->gen(9); + +$team = zenData('team'); +$team->id->range('1-100'); +$team->root->range('1{2}, 2{2}'); +$team->type->range('project{2}, execution{2}'); +$team->account->range('admin, user1'); +$team->gen('4'); + +$tester = new finishTaskTester(); +$tester->login(); + +r($tester->finish('1', '0', '', 'wait')) &&p('status,message') &&e('SUCCESS,任务本次消耗为0时提示正确'); +r($tester->finish('2', '1', '', 'wait')) &&p('status,message') &&e('SUCCESS,完成任务成功'); +r($tester->finish('3', '0', 'USER1', 'doing')) &&p('status,message') &&e('SUCCESS,完成任务成功'); +r($tester->finish('4', '1', '', 'doing')) &&p('status,message') &&e('SUCCESS,完成任务成功'); +r($tester->finish('5', '', '', 'done')) &&p('status,message') &&e('SUCCESS,没有显示完成按钮'); +r($tester->finish('6', '0', '', 'pause')) &&p('status,message') &&e('SUCCESS,完成任务成功'); +r($tester->finish('7', '1', 'USER1', 'pause')) &&p('status,message') &&e('SUCCESS,完成任务成功'); +r($tester->finish('8', '', '', 'cancel')) &&p('status,message') &&e('SUCCESS,没有显示完成按钮'); +r($tester->finish('9', '', '', 'closed')) &&p('status,message') &&e('SUCCESS,没有显示完成按钮'); +$tester->closeBrowser();