Merge branch release/21.7.5 of zentao/zentaopms (#10932)
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
<?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 editStoryInLiteTester extends tester
|
||||
{
|
||||
/**
|
||||
* Edit a story.
|
||||
* @param string $storyID, $storyType, $storyFrom
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
public function editStoryInLite()
|
||||
{
|
||||
/* 提交表单 */
|
||||
$this->switchVision('lite', 3);
|
||||
$form = $this->initForm('projectstory', 'story', array('projectID' => 1), 'appIframe-project');
|
||||
$form = $this->initForm('story', 'edit', array('storyID' => 1, 'kanbangroup' => 'default', 'storyType' => 'story'), 'appIframe-project');
|
||||
$form->dom->estimate->setValue(3);
|
||||
$form->dom->assignedTo->picker('admin');
|
||||
$form->dom->btn($this->lang->save)->click();
|
||||
$form->wait(1);
|
||||
|
||||
$viewPage = $this->loadPage('projectstory', 'view');
|
||||
if($viewPage->dom->storyEstimate->getText() != '3h') return $this->failed('目标工时不正确');
|
||||
|
||||
return $this->success('编辑目标成功');
|
||||
}
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
<?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 viewInLiteTester extends tester
|
||||
{
|
||||
/*
|
||||
* Check the view page in lite vision.
|
||||
* @param string $type
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function viewInLite()
|
||||
{
|
||||
$this->switchVision('lite', 3);
|
||||
$form = $this->initForm('projectstory', 'story', array('projectID' => '1'), 'appIframe-project');
|
||||
$storyName = $form->dom->firstStory->getText();
|
||||
$form->dom->firstStory->click();
|
||||
|
||||
$viewPage = $this->loadPage('story', 'view');
|
||||
if($this->response('method') != 'view' && $viewPage->dom->storyName->getText() != $storyName) return $this->failed('目标详情页不正确');
|
||||
|
||||
return $this->success('目标详情页内容正确');
|
||||
}
|
||||
}
|
||||
+104
@@ -0,0 +1,104 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
|
||||
title=运营界面编辑目标测试
|
||||
timeout=0
|
||||
cid=90
|
||||
|
||||
*/
|
||||
chdir (__DIR__);
|
||||
include '../lib/editstoryinlite.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 editStoryInLiteTester();
|
||||
$tester->login();
|
||||
|
||||
|
||||
r($tester->editStoryInLite()) && p('message,status') && e('编辑目标成功,SUCCESS');
|
||||
|
||||
$tester->closeBrowser();
|
||||
@@ -14,7 +14,8 @@ class viewPage extends page
|
||||
'activateBtn' => '//*[@id="mainContent"]/div/div[2]/div[1]/div[3]/div/div/a[last()-3]',
|
||||
'activateStoryBtn' => '//*[@id="zin_story_activate_1_form"]/div[3]/div/button',
|
||||
'storyStatus' => '//*[@id="zin_projectstory_view_tabPane"]/div/div[2]/div[2]/span',
|
||||
'storyReviwer' => '//*[@zui-key="side"]/div/div[2]/div[2]/div/div[3]/div[2]//span'
|
||||
'storyReviwer' => '//*[@zui-key="side"]/div/div[2]/div[2]/div/div[3]/div[2]//span',
|
||||
'storyEstimate' => '//*[@id="zin_projectstory_view_tabPane"]/div/div[4]/div[2]'
|
||||
);
|
||||
$this->dom->xpath = array_merge($this->dom->xpath, $xpath);
|
||||
}
|
||||
|
||||
Executable
+104
@@ -0,0 +1,104 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
|
||||
title=目标详情页测试
|
||||
timeout=0
|
||||
cid=90
|
||||
|
||||
*/
|
||||
chdir (__DIR__);
|
||||
include '../lib/viewinlite.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 viewInLiteTester();
|
||||
$tester->login();
|
||||
|
||||
|
||||
r($tester->viewInLite()) && p('message') && e('目标详情页正确');
|
||||
|
||||
$tester->closeBrowser();
|
||||
Reference in New Issue
Block a user