Merge branch release/21.7.5 of zentao/zentaopms (#10788)
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . '/test/lib/ui.php';
|
||||
class batchCreateStory extends tester
|
||||
{
|
||||
/**
|
||||
* 运营界面批量创建目标
|
||||
* batch create story in lite
|
||||
*
|
||||
* @param array $project
|
||||
* @param array $storyUrl
|
||||
* @param object $story
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function batchCreateStory($project, $storyUrl, $story)
|
||||
{
|
||||
$this->switchVision('lite', 5);
|
||||
$this->page->waitElement('//*[@id="app-project"]', 5);
|
||||
$this->openURL('projectstory', 'story', $project, 'appIframe-project');
|
||||
$this->page->waitElement('//*[@id="app-project"]', 5);
|
||||
$form = $this->initForm('story', 'batchCreate', $storyUrl, 'appIframe-project');
|
||||
$form->wait(2);
|
||||
//设置表单内容
|
||||
if (isset($story->name)) $form->dom->title_0->setValue($story->name);
|
||||
if (isset($story->reviewer)) $form->dom->reviewerPick->multiPicker($story->reviewer);
|
||||
$form->dom->btn($this->lang->story->saveDraft)->click();
|
||||
$form->wait(2);
|
||||
return $this->checkBatchCreate($project, $storyUrl, $story, $form);
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查批量创建目标的结果
|
||||
* Check the result of batch create story
|
||||
*
|
||||
* @param array $project
|
||||
* @param array $storyUrl
|
||||
* @param object $story
|
||||
* @param object $form
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function checkBatchCreate($project, $storyUrl, $story, $form)
|
||||
{
|
||||
//创建失败时的校验
|
||||
if ($this->response('method') == 'batchCreate')
|
||||
{
|
||||
if (!isset($story->name) || $story->name == '')
|
||||
{
|
||||
$nameTip = $this->lang->story->errorEmptyStory;
|
||||
return ($form->dom->alertModal('text') == $nameTip)
|
||||
? $this->success('目标名称必填提示信息正确')
|
||||
: $this->failed('目标名称必填提示信息不正确');
|
||||
}
|
||||
if (!isset($story->reviewer) || $story->reviewer == '')
|
||||
{
|
||||
$reviewerTip = sprintf($this->lang->error->notempty, $this->lang->story->reviewer);
|
||||
return ($reviewerTip == $form->dom->reviewerTip->getText())
|
||||
? $this->success('评审人必填提示信息正确')
|
||||
: $this->failed('评审人必填提示信息不正确');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$storyList = $this->initForm('projectstory', 'story', $project, 'appIframe-project');
|
||||
$storyList->dom->search(array("{$this->lang->story->name},=,{$story->name}"));
|
||||
return ($storyList->dom->firstStory->getText() == $story->name)
|
||||
? $this->success('批量创建目标成功')
|
||||
: $this->failed('批量创建目标失败');
|
||||
}
|
||||
}
|
||||
}
|
||||
+87
@@ -0,0 +1,87 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
/**
|
||||
|
||||
title=运营界面批量创建目标
|
||||
timeout=0
|
||||
cid=0
|
||||
- 目标名称必填校验
|
||||
- 测试结果 @目标名称必填提示信息正确
|
||||
- 最终测试状态 @SUCCESS
|
||||
- 评审人必填校验
|
||||
- 测试结果 @评审人必填提示信息正确
|
||||
- 最终测试状态 @SUCCESS
|
||||
|
||||
*/
|
||||
chdir(__DIR__);
|
||||
include '../lib/batchcreateinlite.ui.class.php';
|
||||
|
||||
$project = zenData('project');
|
||||
$project->id->range('1');
|
||||
$project->model->range('kanban');
|
||||
$project->type->range('project');
|
||||
$project->name->range('运营项目');
|
||||
$project->hasProduct->range('0');
|
||||
$project->acl->range('open');
|
||||
$project->vision->range('lite');
|
||||
$project->gen(1);
|
||||
|
||||
$product = zenData('product');
|
||||
$product->id->range('1');
|
||||
$product->program->range('0');
|
||||
$product->name->range('运营项目');
|
||||
$product->shadow->range('1');
|
||||
$product->type->range('normal');
|
||||
$product->acl->range('open');
|
||||
$product->vision->range('lite');
|
||||
$product->gen(1);
|
||||
|
||||
$projectproduct = zenData('projectproduct');
|
||||
$projectproduct->project->range('1');
|
||||
$projectproduct->product->range('1');
|
||||
$projectproduct->branch->range('0');
|
||||
$projectproduct->plan->range('0');
|
||||
$projectproduct->gen(1);
|
||||
|
||||
$team = ZenData('team');
|
||||
$team->id->range('1');
|
||||
$team->root->range('1');
|
||||
$team->type->range('project');
|
||||
$team->account->range('admin');
|
||||
$team->gen(1);
|
||||
|
||||
$projectadmin = ZenData('projectadmin');
|
||||
$projectadmin->group->range('1');
|
||||
$projectadmin->account->range('admin');
|
||||
$projectadmin->projects->range('1');
|
||||
$projectadmin->gen(1);
|
||||
|
||||
zendata('story')->loadYaml('story', false, 2)->gen(0);
|
||||
zendata('storyspec')->loadYaml('storyspec', false, 2)->gen(0);
|
||||
zendata('storyreview')->loadYaml('storyreview', false, 2)->gen(0);
|
||||
|
||||
$storyUrl = array(
|
||||
'productID' => '1',
|
||||
'branch' => '',
|
||||
'moduleID' => '0',
|
||||
'storyID' => '0',
|
||||
'project' => 1,
|
||||
'plan' => '0',
|
||||
'storyType' => 'story'
|
||||
);
|
||||
$project = array(
|
||||
'projectID' => 1
|
||||
);
|
||||
|
||||
$tester = new batchCreateStory();
|
||||
$tester->login();
|
||||
|
||||
$story = new stdClass();
|
||||
$story->name = '';
|
||||
r($tester->batchCreateStory($project, $storyUrl, $story)) && p('message,status') && e('目标名称必填提示信息正确,SUCCESS');//目标名称必填校验
|
||||
|
||||
$story->name = '目标A';
|
||||
r($tester->batchCreateStory($project, $storyUrl, $story)) && p('message,status') && e('评审人必填提示信息正确,SUCCESS');//评审人必填校验
|
||||
|
||||
$tester->closeBrowser();
|
||||
Reference in New Issue
Block a user