diff --git a/module/task/test/lib/canceltask.ui.class.php b/module/task/test/lib/canceltask.ui.class.php new file mode 100644 index 0000000000..5488cce9cd --- /dev/null +++ b/module/task/test/lib/canceltask.ui.class.php @@ -0,0 +1,31 @@ +initForm('task', 'view', array('taskID' => $id), 'appIframe-execution'); + if(in_array($status, array('done', 'cancel', 'closed'))) + { + if(is_object($form->dom->cancelBtn)) return $this->false('错误的显示了取消按钮'); + return $this->success('没有显示取消按钮'); + } + $form->dom->xpath['cancelBtn'] = "//a[@title='{$this->lang->task->cancel}']"; + $form->dom->xpath['taskStatus'] = "//*[@title='{$this->lang->task->status}']/..//span"; + $form->dom->cancelBtn->click(); + $form->wait(1); + $form->dom->submitBtn->click(); + $form->wait(1); + if($form->dom->taskStatus->getText() != $this->lang->task->statusList->cancel) return $this->failed('取消任务后状态错误'); + return $this->success('取消任务成功'); + } +} diff --git a/module/task/test/ui/canceltask.php b/module/task/test/ui/canceltask.php new file mode 100644 index 0000000000..907362a715 --- /dev/null +++ b/module/task/test/ui/canceltask.php @@ -0,0 +1,87 @@ +#!/usr/bin/env php +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->execution->range('2'); +$task->story->range('0'); +$task->name->range('1-100'); +$task->type->range('devel'); +$task->consumed->range('0'); +$task->left->range('0'); +$task->deadline->range(' (-5D)-(-4D):1D, []{11}')->type('timestamp')->format('YY/MM/DD'); +$task->status->range('wait, doing, done, pause, cancel, closed'); +$task->gen(6); + +$taskSpec = zenData('taskspec'); +$taskSpec->task->range('1-100'); +$taskSpec->version->range('0'); +$taskSpec->name->range('1-100'); +$taskSpec->gen(6); + +$tester = new cancelTaskTester(); +$tester->login(); + +r($tester->cancel('1', 'wait')) &&p('status,message') &&e('SUCCESS,取消任务成功'); +r($tester->cancel('2', 'doing')) &&p('status,message') &&e('SUCCESS,取消任务成功'); +r($tester->cancel('3', 'done')) &&p('status,message') &&e('SUCCESS,没有显示取消按钮'); +r($tester->cancel('4', 'pause')) &&p('status,message') &&e('SUCCESS,取消任务成功'); +r($tester->cancel('5', 'cancel')) &&p('status,message') &&e('SUCCESS,没有显示取消按钮'); +r($tester->cancel('6', 'closed')) &&p('status,message') &&e('SUCCESS,没有显示取消按钮'); +$tester->closeBrowser(); +$tester->closeBrowser();