Merge branch release/21.7.5 of zentao/zentaopms (#11051)
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . '/test/lib/ui.php';
|
||||
class restartTaskTester extends tester
|
||||
{
|
||||
/**
|
||||
* 继续任务。
|
||||
* Restart task.
|
||||
*
|
||||
* @param string $id
|
||||
* @param string $assignedTo
|
||||
* @param string $consumed
|
||||
* @param string $left
|
||||
* @param string $status
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
public function restart($id, $assignedTo, $consumed, $left, $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['restartBtn'] = "//a[@title='{$this->lang->task->restart}']";
|
||||
$taskConsumed = $form->dom->taskConsumed->getText();
|
||||
|
||||
/* 只有已暂停的任务才显示继续任务按钮 */
|
||||
if($status != 'pause')
|
||||
{
|
||||
if(is_object($form->dom->pauseBtn)) return $this->failed('错误的显示了继续按钮');
|
||||
return $this->success('没有显示继续按钮');
|
||||
}
|
||||
$form->dom->restartBtn->click();
|
||||
$form->wait(1);
|
||||
/* 输入继续任务表单内容 */
|
||||
$form->dom->assignedTo->picker($assignedTo);
|
||||
$form->wait(1);
|
||||
$form->dom->consumed->setValue($consumed);
|
||||
$form->dom->left->setValue($left);
|
||||
$form->dom->submitBtn->click();
|
||||
$form->wait(1);
|
||||
|
||||
if((empty($consumed) || $consumed == '0') && (empty($left) || $left == '0'))
|
||||
{
|
||||
if(!is_object($form->dom->modalText)) return $this->failed('总计消耗和预计剩余都为空或0时没有提示');
|
||||
if($form->dom->modalText->getText() != $this->lang->task->noticeTaskStart) return $this->failed('总计消耗和预计剩余都为空或0时提示错误');
|
||||
return $this->success('总计消耗和预计剩余都为空或0时提示正确');
|
||||
}
|
||||
elseif($consumed != '0' && $taskConsumed <= $consumed && (empty($left) || $left == '0'))
|
||||
{
|
||||
if(!is_object($form->dom->modalText)) return $this->failed('预计剩余都为空或0时没有提示');
|
||||
if($form->dom->modalText->getText() != $this->lang->task->confirmFinish) return $this->failed('预计剩余为空或0时提示错误');
|
||||
$form->dom->confirmBtn->click();
|
||||
$form->wait();
|
||||
if($form->dom->taskStatus->getText() != $this->lang->task->statusList->done) return $this->failed('预计剩余为空或0时任务没有完成');
|
||||
}
|
||||
elseif($taskConsumed > $consumed)
|
||||
{
|
||||
if(!is_object($form->dom->consumedTip)) return $this->failed('总计消耗小于之前消耗时没有提示');
|
||||
if($form->dom->consumedTip->getText() != $this->lang->task->error->consumedSmall) return $this->failed('总计消耗小于之前消耗时提示错误');
|
||||
return $this->success('总计消耗小于之前消耗时提示正确');
|
||||
}
|
||||
else
|
||||
{
|
||||
if($form->dom->taskStatus->getText() != $this->lang->task->statusList->doing) return $this->failed('继续任务后状态错误');
|
||||
}
|
||||
if($form->dom->taskAssignedTo->getText() != $assignedTo) return $this->failed('继续任务后指派给错误');
|
||||
if(intval($form->dom->taskConsumed->getText()) != $consumed) return $this->failed('继续任务后总计消耗错误');
|
||||
if(intval($form->dom->taskLeft->getText()) != $left) return $this->failed('继续任务后预计剩余错误');
|
||||
return $this->success('继续任务成功');
|
||||
}
|
||||
}
|
||||
@@ -53,13 +53,13 @@ class startTaskTester extends tester
|
||||
if((empty($consumed) || $consumed == '0') && (empty($left) || $left == '0'))
|
||||
{
|
||||
if(!is_object($form->dom->modalText)) return $this->failed('总计消耗和预计剩余都为空或0时没有提示');
|
||||
if(is_object($form->dom->modalText) and $form->dom->modalText->getText() != $this->lang->task->noticeTaskStart) return $this->failed('总计消耗和预计剩余都为空或0时提示错误');
|
||||
if($form->dom->modalText->getText() != $this->lang->task->noticeTaskStart) return $this->failed('总计消耗和预计剩余都为空或0时提示错误');
|
||||
return $this->success('总计消耗和预计剩余都为空或0时提示正确');
|
||||
}
|
||||
elseif($consumed != '0' && (empty($left) || $left == '0'))
|
||||
{
|
||||
if(!is_object($form->dom->modalText)) return $this->failed('预计剩余都为空或0时没有提示');
|
||||
if(is_object($form->dom->modalText) and $form->dom->modalText->getText() != $this->lang->task->confirmFinish) return $this->failed('预计剩余为空或0时提示错误');
|
||||
if($form->dom->modalText->getText() != $this->lang->task->confirmFinish) return $this->failed('预计剩余为空或0时提示错误');
|
||||
$form->dom->confirmBtn->click();
|
||||
$form->wait();
|
||||
if($form->dom->taskStatus->getText() != $this->lang->task->statusList->done) return $this->failed('预计剩余为空或0时任务没有完成');
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
/**
|
||||
|
||||
title=继续任务
|
||||
timeout=0
|
||||
cid=1
|
||||
|
||||
- 执行tester模块的restart方法,参数是'1', '', '', '', 'wait'
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 测试结果 @没有显示继续按钮
|
||||
- 执行tester模块的restart方法,参数是'2', '', '', '', 'doing'
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 测试结果 @没有显示继续按钮
|
||||
- 执行tester模块的restart方法,参数是'3', '', '', '', 'done'
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 测试结果 @没有显示继续按钮
|
||||
- 执行tester模块的restart方法,参数是'4', '', '', '', 'pause'
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 测试结果 @总计消耗和预计剩余都为空或0时提示正确
|
||||
- 执行tester模块的restart方法,参数是'5', '', '0', '0', 'pause'
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 测试结果 @总计消耗和预计剩余都为空或0时提示正确
|
||||
- 执行tester模块的restart方法,参数是'6', 'admin', '5', '0', 'pause'
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 测试结果 @继续任务成功
|
||||
- 执行tester模块的restart方法,参数是'7', 'admin', '5', '2', 'pause'
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 测试结果 @继续任务成功
|
||||
- 执行tester模块的restart方法,参数是'8', '', '1', '1', 'pause'
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 测试结果 @总计消耗小于之前消耗时提示正确
|
||||
- 执行tester模块的restart方法,参数是'9', '', '', '', 'cancel'
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 测试结果 @没有显示继续按钮
|
||||
- 执行tester模块的restart方法,参数是'10', '', '', '', 'closed'
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 测试结果 @没有显示继续按钮
|
||||
|
||||
*/
|
||||
|
||||
chdir(__DIR__);
|
||||
include '../lib/restarttask.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,`, `,10,`');
|
||||
$task->execution->range('2');
|
||||
$task->story->range('0');
|
||||
$task->name->range('1-100');
|
||||
$task->type->range('devel');
|
||||
$task->consumed->range('0, 2{9}');
|
||||
$task->left->range('0, 1, 0, 1{7}');
|
||||
$task->deadline->range(' (-5D)-(-4D):1D, []{11}')->type('timestamp')->format('YY/MM/DD');
|
||||
$task->status->range('wait, doing, done, pause{5}, cancel, closed');
|
||||
$task->gen(10);
|
||||
|
||||
$taskSpec = zenData('taskspec');
|
||||
$taskSpec->task->range('1-100');
|
||||
$taskSpec->version->range('0');
|
||||
$taskSpec->name->range('1-100');
|
||||
$taskSpec->gen(10);
|
||||
|
||||
$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 restartTaskTester();
|
||||
$tester->login();
|
||||
|
||||
r($tester->restart('1', '', '', '', 'wait')) &&p('status,message') &&e('SUCCESS,没有显示继续按钮');
|
||||
r($tester->restart('2', '', '', '', 'doing')) &&p('status,message') &&e('SUCCESS,没有显示继续按钮');
|
||||
r($tester->restart('3', '', '', '', 'done')) &&p('status,message') &&e('SUCCESS,没有显示继续按钮');
|
||||
r($tester->restart('4', '', '', '', 'pause')) &&p('status,message') &&e('SUCCESS,总计消耗和预计剩余都为空或0时提示正确');
|
||||
r($tester->restart('5', '', '0', '0', 'pause')) &&p('status,message') &&e('SUCCESS,总计消耗和预计剩余都为空或0时提示正确');
|
||||
r($tester->restart('6', 'admin', '5', '0', 'pause')) &&p('status,message') &&e('SUCCESS,继续任务成功');
|
||||
r($tester->restart('7', 'admin', '5', '2', 'pause')) &&p('status,message') &&e('SUCCESS,继续任务成功');
|
||||
r($tester->restart('8', '', '1', '1', 'pause')) &&p('status,message') &&e('SUCCESS,总计消耗小于之前消耗时提示正确');
|
||||
r($tester->restart('9', '', '', '', 'cancel')) &&p('status,message') &&e('SUCCESS,没有显示继续按钮');
|
||||
r($tester->restart('10', '', '', '', 'closed')) &&p('status,message') &&e('SUCCESS,没有显示继续按钮');
|
||||
$tester->closeBrowser();
|
||||
Reference in New Issue
Block a user