Merge branch release/21.7.3 of zentao/zentaopms (#10165)
This commit is contained in:
Executable
+15
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
class viewPage extends page
|
||||
{
|
||||
public function __construct($webdriver)
|
||||
{
|
||||
parent::__construct($webdriver);
|
||||
$xpath = array(
|
||||
'storyName' => "//*[@id='mainContent']/div/div[1]/div[1]/span[2]",
|
||||
'status' => "//*[@id='zin_projectstory_view_tabPane']/div/div[2]/div[2]/span",
|
||||
'TargetLife' => "//*[@id='mainContent']/div/div[2]/div[2]/div[1]/div[1]/ul/li[2]/a",
|
||||
'openedBy' => "//*[@id='mainContent']/div/div[2]/div[2]//div[2]/div[2]//div[1]/div[3]/div[2]//span"
|
||||
);
|
||||
$this->dom->xpath = array_merge($this->dom->xpath, $xpath);
|
||||
}
|
||||
}
|
||||
+72
@@ -0,0 +1,72 @@
|
||||
<?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'
|
||||
);
|
||||
|
||||
$form = $this->switchVision('lite');
|
||||
$form = $this->initForm('projectstory', 'story', array('projectID' => '1'), 'appIframe-project'); //由于创建目标后会跳转到记录了session的页面,所以先进入一次对应目标的列表页面
|
||||
$form = $this->initForm('story', 'create', $createStoryParam, 'appIframe-project'); //再进入创建目标页面
|
||||
$form->dom->titleInLite->setValue($storyName);
|
||||
$form->dom->{'reviewer[]'}->multiPicker($reviewer);
|
||||
$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($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->status->getText() != '评审中') return $this->failed('目标状态不正确');
|
||||
$viewPage->dom->TargetLife->click();
|
||||
if(strpos($viewPage->dom->openedBy->getText() , 'admin') === false) return $this->failed('创建人不正确');
|
||||
|
||||
return $this->success('创建'.$storyName.'成功');
|
||||
}
|
||||
}
|
||||
Executable
+80
@@ -0,0 +1,80 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
|
||||
title=运营界面创建目标测试
|
||||
timeout=0
|
||||
cid=70
|
||||
|
||||
*/
|
||||
chdir(__DIR__);
|
||||
include '../lib/createstoryinlite.ui.class.php';
|
||||
include 'page/create.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' => '',
|
||||
'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();
|
||||
@@ -1,4 +1,15 @@
|
||||
<?php
|
||||
class createPage extends page
|
||||
{
|
||||
public function __construct($webdriver)
|
||||
{
|
||||
parent::__construct($webdriver);
|
||||
|
||||
$xpath = array(
|
||||
'srCommen' => "//*[@id='zin_story_create_form']/div[3]/div[1]/label/span",
|
||||
'titleInLite' => "//*[@id='title']",
|
||||
'saveInLite' => "//*[@id='zin_story_create_form']/div[8]/div/button[1]"
|
||||
);
|
||||
$this->dom->xpath = array_merge($this->dom->xpath, $xpath);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user