[task#146964, 1.6h] move uicase to projectstory.
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* The control file of example module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
|
||||
* @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
|
||||
* @author lijie
|
||||
* @package story
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
include dirname(__FILE__, 5).'/test/lib/ui.php';
|
||||
class changeStoryInLiteTester extends tester
|
||||
{
|
||||
/**
|
||||
* Create a default story.
|
||||
*
|
||||
* @param string $storyName
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
public function changeStoryInLite($storyName, $reviewer)
|
||||
{
|
||||
$this->switchVision('lite', 8);
|
||||
if($this->page->getCookie('vision') != 'lite')
|
||||
{
|
||||
$this->switchVision('lite', 8);
|
||||
}
|
||||
$form = $this->initForm('projectstory', 'story', array('projectID' => '1'), 'appIframe-project'); //变更目标前需要进入列表页面,获取项目ID
|
||||
$form = $this->initForm('story', 'change', array('storyID' => '1', 'from' => 'project'), 'appIframe-project');
|
||||
$form->dom->title->setValue($storyName);
|
||||
if($reviewer != NULL)
|
||||
{
|
||||
$form->dom->reviewer->click();
|
||||
$form->dom->reviewerAdmin->click();
|
||||
}
|
||||
$form->dom->btn($this->lang->save)->click();
|
||||
$form->wait(3);
|
||||
|
||||
//创建失败检查提示是否正确,名称为空和评审人为空提示
|
||||
if($this->response('method') != 'view')
|
||||
{
|
||||
$form = $this->loadPage('story', 'change');
|
||||
if($storyName == '')
|
||||
{
|
||||
$srCommon = $form->dom->srCommon->getText();
|
||||
$nameTip = sprintf($this->lang->error->notempty, $srCommon);
|
||||
if($form->dom->alertModal('text') == $nameTip) return $this->success('变更目标页面名称为空提示正确');
|
||||
}
|
||||
|
||||
if(empty($reviewer))
|
||||
{
|
||||
$reviwerTip = sprintf($this->lang->error->notempty, $this->lang->story->reviewers);
|
||||
if($form->dom->alertModal('text') == $reviwerTip) return $this->success('变更目标页面评审人为空提示正确');
|
||||
}
|
||||
return $this->failed('变更目标页面提示信息不正确');
|
||||
}
|
||||
|
||||
$viewPage = $this->loadPage('projectstory', 'view');
|
||||
if($viewPage->dom->storyName->getText() != $storyName) return $this->failed('目标名称不正确');
|
||||
if($viewPage->dom->storyStatus->getText() != $this->lang->story->statusList->reviewing) return $this->failed('目标状态不正确');
|
||||
|
||||
return $this->success('变更目标成功');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* The control file of example module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
|
||||
* @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
|
||||
* @author lijie
|
||||
* @package story
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
include dirname(__FILE__, 5).'/test/lib/ui.php';
|
||||
class createStoryInLiteTester extends tester
|
||||
{
|
||||
/**
|
||||
* Create a default story.
|
||||
*
|
||||
* @param string $storyName
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
public function createDefault($storyName, $reviewer)
|
||||
{
|
||||
$createStoryParam = array(
|
||||
'product' => '1',
|
||||
'branch' => '',
|
||||
'moduleID' => '0',
|
||||
'storyID' => '0',
|
||||
'projectID' => '1',
|
||||
'bugID' => '0',
|
||||
'planID' => '0',
|
||||
'todoID' => '0',
|
||||
'extra' => '',
|
||||
'storyType' => 'story'
|
||||
);
|
||||
|
||||
$this->switchVision('lite', 8);
|
||||
if($this->page->getCookie('vision') != 'lite')
|
||||
{
|
||||
$this->switchVision('lite', 8);
|
||||
}
|
||||
$form = $this->initForm('projectstory', 'story', array('projectID' => '1'), 'appIframe-project'); //由于创建目标后会跳转到记录了session的页面,所以先进入一次对应目标的列表页面
|
||||
$form = $this->initForm('story', 'create', $createStoryParam, 'appIframe-project'); //再进入创建目标页面
|
||||
$form->dom->titleInLite->setValue($storyName);
|
||||
if($reviewer != NULL)
|
||||
{
|
||||
$form->dom->reviewer->click();
|
||||
$form->dom->reviewerAdmin->click();
|
||||
}
|
||||
$form->dom->saveInLite->click();
|
||||
$form->wait(1);
|
||||
|
||||
//创建失败检查提示是否正确,名称为空和评审人为空提示
|
||||
if($this->response('method') != 'story')
|
||||
{
|
||||
$form = $this->loadPage('story', 'create');
|
||||
if($storyName == '')
|
||||
{
|
||||
$srCommen = $form->dom->srCommen->getText();
|
||||
$nameTip = sprintf($this->lang->error->notempty, $srCommen);
|
||||
if($form->dom->titleTip->getText() == $nameTip) return $this->success('创建目标页面名称为空提示正确');
|
||||
}
|
||||
|
||||
if(empty($reviewer))
|
||||
{
|
||||
$reviwerTip = sprintf($this->lang->error->notempty, $this->lang->story->reviewer);
|
||||
if($form->dom->reviewerTip->getText() == $reviwerTip) return $this->success('创建目标页面评审人为空提示正确');
|
||||
}
|
||||
return $this->failed('创建目标页面提示信息不正确');
|
||||
}
|
||||
|
||||
$viewPage = $this->initForm('projectstory', 'view', array('storyID' => '1', 'projectID' => '1'), 'appIframe-project');
|
||||
if($viewPage->dom->storyName->getText() != $storyName) return $this->failed('目标名称不正确');
|
||||
if($viewPage->dom->storyStatus->getText() != $this->lang->story->statusList->reviewing) return $this->failed('目标状态不正确');
|
||||
$viewPage->dom->TargetLife->click();
|
||||
if(strpos($viewPage->dom->openedBy->getText() , 'admin') === false) return $this->failed('创建人不正确');
|
||||
|
||||
return $this->success('创建'.$storyName.'成功');
|
||||
}
|
||||
}
|
||||
+122
@@ -0,0 +1,122 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
|
||||
title=运营界面变更目标测试
|
||||
timeout=0
|
||||
cid=0
|
||||
- 目标名称必填校验
|
||||
- 测试结果 @目标名称必填提示信息正确
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 评审人必填校验
|
||||
- 测试结果 @评审人必填提示信息正确
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 正常创建目标校验
|
||||
- 测试结果 @批量创建目标成功
|
||||
- 最终测试状态 @SUCCESS
|
||||
|
||||
*/
|
||||
chdir(__DIR__);
|
||||
include '../lib/changestoryinlite.ui.class.php';
|
||||
|
||||
$product = zenData('product');
|
||||
$product->id->range('1');
|
||||
$product->program->range('0');
|
||||
$product->name->range('产品1');
|
||||
$product->shadow->range('1');
|
||||
$product->bind->range('0');
|
||||
$product->acl->range('open');
|
||||
$product->createdBy->range('admin');
|
||||
$product->vision->range('lite');
|
||||
$product->gen(1);
|
||||
|
||||
$story = zenData('story');
|
||||
$story->id->range('1');
|
||||
$story->vision->range('lite');
|
||||
$story->root->range('1');
|
||||
$story->path->range('`,1,`');
|
||||
$story->grade->range('1');
|
||||
$story->product->range('1');
|
||||
$story->module->range('0');
|
||||
$story->plan->range('0');
|
||||
$story->source->range('[]');
|
||||
$story->title->range('运营界面目标1');
|
||||
$story->type->range('story');
|
||||
$story->stage->range('wait');
|
||||
$story->status->range('active');
|
||||
$story->openedBy->range('admin');
|
||||
$story->version->range('1');
|
||||
$story->assignedTo->range('[]');
|
||||
$story->reviewedBy->range('[]');
|
||||
$story->closedBy->range('[]');
|
||||
$story->closedReason->range('[]');
|
||||
$story->gen(1);
|
||||
|
||||
$storyspec = zenData('storyspec');
|
||||
$storyspec->story->range('1');
|
||||
$storyspec->version->range('1');
|
||||
$storyspec->title->range('运营界面目标1');
|
||||
$storyspec->gen(1);
|
||||
|
||||
$storyreview = zenData('storyreview');
|
||||
$storyreview->gen(0);
|
||||
|
||||
$project = zenData('project');
|
||||
$project->id->range('1');
|
||||
$project->model->range('kanban');
|
||||
$project->type->range('project');
|
||||
$project->path->range('`,1,`');
|
||||
$project->team->range('运营项目1');
|
||||
$project->acl->range('open');
|
||||
$project->vision->range('lite');
|
||||
$project->name->range('运营项目1');
|
||||
$project->gen(1);
|
||||
|
||||
$projectadmin = zenData('projectadmin');
|
||||
$projectadmin->group->range('1');
|
||||
$projectadmin->account->range('admin');
|
||||
$projectadmin->projects->range('`,`1`,`');
|
||||
$projectadmin->gen(1);
|
||||
|
||||
$projectproduct = zenData('projectproduct');
|
||||
$projectproduct->project->range('1');
|
||||
$projectproduct->product->range('1');
|
||||
$projectproduct->gen(1);
|
||||
|
||||
$action = zenData('action')->gen(0);
|
||||
|
||||
$projectstory = zenData('projectstory');
|
||||
$projectstory->project->range('1');
|
||||
$projectstory->product->range('1');
|
||||
$projectstory->branch->range('0');
|
||||
$projectstory->story->range('1');
|
||||
$projectstory->version->range('1');
|
||||
$projectstory->order->range('1');
|
||||
$projectstory->gen(1);
|
||||
|
||||
$team = zenData('team');
|
||||
$team->id->range('1');
|
||||
$team->root->range('1');
|
||||
$team->type->range('project');
|
||||
$team->account->range('admin');
|
||||
$team->limited->range('no');
|
||||
$team->gen(1);
|
||||
|
||||
$tester = new changeStoryInLiteTester();
|
||||
$tester->login();
|
||||
|
||||
$storys = array();
|
||||
$storys['null'] = '';
|
||||
$storys['default'] = '变更后目标名称';
|
||||
|
||||
$reviewer = array();
|
||||
$reviewer['null'] = array();
|
||||
$reviewer['default'] = array('admin');
|
||||
|
||||
r($tester->changeStoryInLite($storys['default'], $reviewer['null'])) && p('message,status') && e('变更目标页面评审人为空提示正确,SUCCESS'); // 评审人不为空校验,变更失败
|
||||
r($tester->changeStoryInLite($storys['null'], $reviewer['default'])) && p('message,status') && e('变更目标页面名称为空提示正确,SUCCESS'); // 目标名称不为空校验,变更失败
|
||||
r($tester->changeStoryInLite($storys['default'], $reviewer['default'])) && p('message,status') && e('变更目标成功,SUCCESS'); // 使用默认选项变更需求,详情页信息对应
|
||||
|
||||
$tester->closeBrowser();
|
||||
+88
@@ -0,0 +1,88 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
/**
|
||||
|
||||
title=运营界面创建目标测试
|
||||
timeout=0
|
||||
cid=0
|
||||
|
||||
- 目标名称必填校验
|
||||
- 测试结果 @目标名称必填提示信息正确
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 评审人必填校验
|
||||
- 测试结果 @评审人必填提示信息正确
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 正常创建目标校验
|
||||
- 测试结果 @创建目标成功
|
||||
- 最终测试状态 @SUCCESS
|
||||
|
||||
*/
|
||||
chdir(__DIR__);
|
||||
include '../lib/createstoryinlite.ui.class.php';
|
||||
|
||||
$product = zenData('product');
|
||||
$product->id->range('1');
|
||||
$product->program->range('0');
|
||||
$product->name->range('产品1');
|
||||
$product->shadow->range('0');
|
||||
$product->bind->range('0');
|
||||
$product->acl->range('open');
|
||||
$product->createdBy->range('admin');
|
||||
$product->vision->range('lite');
|
||||
$product->gen(1);
|
||||
|
||||
$story = zenData('story');
|
||||
$story->gen(0);
|
||||
|
||||
$storyspec = zenData('storyspec');
|
||||
$storyspec->gen(0);
|
||||
|
||||
$storyreview = zenData('storyreview');
|
||||
$storyreview->gen(0);
|
||||
|
||||
$project = zenData('project');
|
||||
$project->id->range('1');
|
||||
$project->model->range('kanban');
|
||||
$project->type->range('project');
|
||||
$project->path->range('`,1,`');
|
||||
$project->team->range('运营项目1');
|
||||
$project->acl->range('open');
|
||||
$project->vision->range('lite');
|
||||
$project->name->range('运营项目1');
|
||||
$project->gen(1);
|
||||
|
||||
$projectadmin = zenData('projectadmin');
|
||||
$projectadmin->group->range('1');
|
||||
$projectadmin->account->range('admin');
|
||||
$projectadmin->projects->range('`,`1`,`');
|
||||
$projectadmin->gen(1);
|
||||
|
||||
$projectproduct = zenData('projectproduct');
|
||||
$projectproduct->project->range('1');
|
||||
$projectproduct->product->range('1');
|
||||
$projectproduct->gen(1);
|
||||
|
||||
$projectstory = zenData('projectstory')->gen(0);
|
||||
|
||||
$action = zenData('action');
|
||||
$action->gen(0);
|
||||
|
||||
$tester = new createStoryInLiteTester();
|
||||
$tester->login();
|
||||
|
||||
$storys = array(
|
||||
'null' => '',
|
||||
'story' => '运营界面目标'
|
||||
);
|
||||
|
||||
$reviewers = array(
|
||||
'null' => array(),
|
||||
'admin' => array('admin')
|
||||
);
|
||||
|
||||
r($tester->createDefault($storys['null'], $reviewers['admin'])) && p('message,status') && e('创建目标页面名称为空提示正确,SUCCESS'); // 名称必填校验,创建失败
|
||||
r($tester->createDefault($storys['story'], $reviewers['null'])) && p('message,status') && e('创建目标页面评审人为空提示正确,SUCCESS'); // 评审人必填校验,创建失败
|
||||
r($tester->createDefault($storys['story'], $reviewers['admin'])) && p('message,status') && e('创建运营界面目标成功,SUCCESS'); // 创建成功
|
||||
|
||||
$tester->closeBrowser();
|
||||
Reference in New Issue
Block a user