Merge branch release/21.7.5 of zentao/zentaopms (#10788)

This commit is contained in:
李阳
2025-08-07 15:22:15 +08:00
committed by Gitfox
2 changed files with 158 additions and 0 deletions
@@ -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
View File
@@ -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();