*[task#148499,done,3h] Add uitest of finish task.
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . '/test/lib/ui.php';
|
||||
class finishTaskTester extends tester
|
||||
{
|
||||
/**
|
||||
* 完成任务。
|
||||
* Finish task.
|
||||
*
|
||||
* @param string $id
|
||||
* @param string $consumed
|
||||
* @param string $assignedTo
|
||||
* @param string $status
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
public function finish($id, $consumed, $assignedTo, $status)
|
||||
{
|
||||
$form = $this->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('完成任务成功');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
/**
|
||||
|
||||
title=完成任务
|
||||
timeout=0
|
||||
cid=1
|
||||
|
||||
- 执行tester模块的finish方法,参数是'1', '0', '', 'wait'▫
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 测试结果 @任务本次消耗为0时提示正确
|
||||
- 执行tester模块的finish方法,参数是'2', '1', '', 'wait'▫
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 测试结果 @完成任务成功
|
||||
- 执行tester模块的finish方法,参数是'3', '0', 'USER1', 'doing'▫
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 测试结果 @完成任务成功
|
||||
- 执行tester模块的finish方法,参数是'4', '1', '', 'doing'▫
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 测试结果 @完成任务成功
|
||||
- 执行tester模块的finish方法,参数是'5', '', '', 'done'▫
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 测试结果 @没有显示完成按钮
|
||||
- 执行tester模块的finish方法,参数是'6', '0', '', 'pause'▫
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 测试结果 @完成任务成功
|
||||
- 执行tester模块的finish方法,参数是'7', '1', 'USER1', 'pause'▫
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 测试结果 @完成任务成功
|
||||
- 执行tester模块的finish方法,参数是'8', '', '', 'cancel'▫
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 测试结果 @没有显示完成按钮
|
||||
- 执行tester模块的finish方法,参数是'9', '', '', 'closed'▫
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 测试结果 @没有显示完成按钮
|
||||
|
||||
*/
|
||||
|
||||
chdir(__DIR__);
|
||||
include '../lib/finishtask.ui.class.php';
|
||||
|
||||
$user = zenData('user');
|
||||
$user->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();
|
||||
Reference in New Issue
Block a user