Merge branch 'release/21.7.7' into feature/workflowgroup
This commit is contained in:
@@ -393,6 +393,8 @@ class tutorialModel extends model
|
||||
$story->spec = '';
|
||||
$story->verify = '';
|
||||
$story->files = array();
|
||||
$story->docs = '';
|
||||
$story->docVersions = '';
|
||||
return $story;
|
||||
}
|
||||
|
||||
@@ -1171,6 +1173,7 @@ class tutorialModel extends model
|
||||
$testtask->name = 'Test testtask';
|
||||
$testtask->execution = 3;
|
||||
$testtask->build = 1;
|
||||
$testtask->joint = 0;
|
||||
$testtask->type = '';
|
||||
$testtask->owner = '';
|
||||
$testtask->pri = 3;
|
||||
@@ -1547,6 +1550,8 @@ class tutorialModel extends model
|
||||
$design->type = 'HLDS';
|
||||
$design->files = array();
|
||||
$design->productName = 'Test product';
|
||||
$design->docs = '';
|
||||
$design->docVersions = '';
|
||||
return $design;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
declare(strict_types = 1);
|
||||
|
||||
require_once dirname(__FILE__, 5) . '/test/lib/test.class.php';
|
||||
|
||||
class tutorialModelTest extends baseTest
|
||||
{
|
||||
protected $moduleName = 'tutorial';
|
||||
protected $className = 'model';
|
||||
|
||||
/**
|
||||
* Test getColumn method.
|
||||
*
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
public function getColumnTest()
|
||||
{
|
||||
$result = $this->invokeArgs('getColumn', []);
|
||||
if(dao::isError()) return dao::getError();
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@ declare(strict_types=1);
|
||||
/**
|
||||
|
||||
title=测试 tutorialModel->checkNovice();
|
||||
cid=1
|
||||
cid=19401
|
||||
|
||||
- 检查当account是 guest 的时候的返回值 modifyPassword 0。 @0
|
||||
- 检查当account是 guest 的时候的返回值 modifyPassword 1。 @0
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getBranches();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19402
|
||||
|
||||
- 步骤1:验证返回分支数组长度 @2
|
||||
- 步骤2:验证第一个分支ID为0 @0
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getBranchesByProject();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19403
|
||||
|
||||
- 步骤1:验证返回数组长度 @1
|
||||
- 步骤2:验证产品ID为1的分支数量 @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getBranchPairs();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19404
|
||||
|
||||
- 步骤1:验证主分支名称(ID=0) @主干
|
||||
- 步骤2:验证测试分支名称(ID=1)属性1 @Test branch
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getBug();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19405
|
||||
|
||||
- 步骤1:验证Bug对象ID属性id @1
|
||||
- 步骤2:验证Bug对象标题属性title @Test bug-active
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getBugs();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19406
|
||||
|
||||
- 步骤1:获取Bug列表,验证数组长度 @2
|
||||
- 步骤2:验证第一个Bug状态为active第1条的status属性 @active
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getBuild();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19407
|
||||
|
||||
- 步骤1:正常情况,验证ID字段值属性id @1
|
||||
- 步骤2:验证name字段值属性name @Test build
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getBuildPairs();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19408
|
||||
|
||||
- 步骤1:正常情况,验证ID为1的版本名称属性1 @Test build
|
||||
- 步骤2:验证指定键的值属性1 @Test build
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getBuilds();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19409
|
||||
|
||||
- 步骤1:正常调用,验证返回数组长度为1 @1
|
||||
- 步骤2:验证返回数组包含版本ID为1的对象第1条的id属性 @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getCardGroup();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19410
|
||||
|
||||
- 步骤1:正常获取卡片组,验证返回数组的顶级键数量 @3
|
||||
- 步骤2:验证story卡片类型 @story
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getCase();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19411
|
||||
|
||||
- 步骤1:验证用例ID属性id @1
|
||||
- 步骤2:验证用例标题属性title @Test case
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getCases();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19412
|
||||
|
||||
- 步骤1:测试返回数组类型 @1
|
||||
- 步骤2:测试返回数组长度 @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getCharter();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19413
|
||||
|
||||
- 步骤1:正常获取Charter对象并验证id属性id @1
|
||||
- 步骤2:验证Charter名称属性name @Test charter
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getCharters();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19414
|
||||
|
||||
- 步骤1:正常调用返回数组长度为1 @1
|
||||
- 步骤2:验证charter对象ID为1第1条的id属性 @1
|
||||
|
||||
@@ -3,114 +3,28 @@
|
||||
|
||||
/**
|
||||
|
||||
title=- 测试步骤4:获取看板列对象的color属性 >> 期望返回
|
||||
title=测试 tutorialModel::getColumn();
|
||||
timeout=0
|
||||
cid=333
|
||||
cid=19415
|
||||
|
||||
- 执行tutorial模块的getColumnTest方法 属性id @1
|
||||
- 执行tutorial模块的getColumnTest方法 属性type @backlog
|
||||
- 执行tutorial模块的getColumnTest方法 属性name @Backlog
|
||||
- 执行tutorial模块的getColumnTest方法 属性color @#333
|
||||
- 执行tutorial模块的getColumnTest方法 属性limit @-1
|
||||
- 步骤1:验证返回值类型 @object
|
||||
- 步骤2:验证id属性属性id @1
|
||||
- 步骤3:验证type属性属性type @backlog
|
||||
- 步骤4:验证name属性属性name @Backlog
|
||||
- 步骤5:验证limit属性属性limit @-1
|
||||
|
||||
*/
|
||||
|
||||
// 模拟getColumn方法
|
||||
function mockGetColumn() {
|
||||
$column = new stdClass();
|
||||
$column->id = 1;
|
||||
$column->parent = 0;
|
||||
$column->type = 'backlog';
|
||||
$column->region = 1;
|
||||
$column->group = 1;
|
||||
$column->name = 'Backlog';
|
||||
$column->color = '#333';
|
||||
$column->limit = -1;
|
||||
$column->order = 0;
|
||||
$column->archived = 0;
|
||||
$column->deleted = 0;
|
||||
$column->laneType = 'story';
|
||||
return $column;
|
||||
}
|
||||
// 1. 导入依赖(路径固定,不可修改)
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/lib/model.class.php';
|
||||
|
||||
// 模拟测试类
|
||||
class MockTutorialTest {
|
||||
public function getColumnTest() {
|
||||
return mockGetColumn();
|
||||
}
|
||||
}
|
||||
// 2. 创建测试实例(变量名与模块名一致)
|
||||
$tutorialTest = new tutorialModelTest();
|
||||
|
||||
// 尝试正常初始化,如果失败则使用模拟版本
|
||||
try {
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/lib/tutorial.unittest.class.php';
|
||||
|
||||
su('admin');
|
||||
$tutorial = new tutorialTest();
|
||||
} catch (Exception $e) {
|
||||
$tutorial = new MockTutorialTest();
|
||||
// 如果框架加载失败,定义测试框架函数
|
||||
if (!function_exists('r')) {
|
||||
function r($actual) {
|
||||
global $currentActual;
|
||||
$currentActual = $actual;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('p')) {
|
||||
function p($property = '') {
|
||||
global $currentActual, $checkProperty;
|
||||
$checkProperty = $property;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('e')) {
|
||||
function e($expected) {
|
||||
global $currentActual, $checkProperty;
|
||||
|
||||
if (empty($checkProperty)) {
|
||||
$actual = $currentActual;
|
||||
} else {
|
||||
$actual = getValue($currentActual, $checkProperty);
|
||||
}
|
||||
|
||||
return $actual == $expected;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('getValue')) {
|
||||
function getValue($data, $property) {
|
||||
if (empty($property)) return $data;
|
||||
|
||||
if (is_object($data)) {
|
||||
if (strpos($property, ',') !== false) {
|
||||
$parts = explode(',', $property);
|
||||
$result = array();
|
||||
foreach ($parts as $part) {
|
||||
$result[] = isset($data->$part) ? $data->$part : '';
|
||||
}
|
||||
return implode(',', $result);
|
||||
} else {
|
||||
return isset($data->$property) ? $data->$property : '';
|
||||
}
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('su')) {
|
||||
function su($user) {
|
||||
// 模拟用户登录,实际不做任何操作
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
r($tutorial->getColumnTest()) && p('id') && e('1');
|
||||
r($tutorial->getColumnTest()) && p('type') && e('backlog');
|
||||
r($tutorial->getColumnTest()) && p('name') && e('Backlog');
|
||||
r($tutorial->getColumnTest()) && p('color') && e('#333');
|
||||
r($tutorial->getColumnTest()) && p('limit') && e('-1');
|
||||
// 3. 执行测试步骤
|
||||
r(gettype($tutorialTest->getColumnTest())) && p() && e('object'); // 步骤1:验证返回值类型
|
||||
r($tutorialTest->getColumnTest()) && p('id') && e('1'); // 步骤2:验证id属性
|
||||
r($tutorialTest->getColumnTest()) && p('type') && e('backlog'); // 步骤3:验证type属性
|
||||
r($tutorialTest->getColumnTest()) && p('name') && e('Backlog'); // 步骤4:验证name属性
|
||||
r($tutorialTest->getColumnTest()) && p('limit') && e('-1'); // 步骤5:验证limit属性
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getColumns();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19416
|
||||
|
||||
- 步骤1:正常获取看板列,验证返回数组包含3个对象类型 @3
|
||||
- 步骤2:验证story类型第一列的类型为backlog @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getCommits();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19417
|
||||
|
||||
- 步骤1:验证返回数组长度为1 @1
|
||||
- 步骤2:验证提交记录ID第bedeaaf39ef7084b9a455b9d9dba71e2db357201条的id属性 @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getDemand();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19418
|
||||
|
||||
- 步骤1:正常获取需求,验证ID属性id @1
|
||||
- 步骤2:验证标题属性属性title @Test Demand
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getDemandpool();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19419
|
||||
|
||||
- 步骤1:正常调用并验证基本信息
|
||||
- 属性id @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getDemands();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19420
|
||||
|
||||
- 步骤1:验证返回2个需求 @2
|
||||
- 步骤2:验证活跃需求状态第1条的status属性 @active
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getDesign();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19421
|
||||
|
||||
- 步骤1:验证设计ID属性id @1
|
||||
- 步骤2:验证设计名称属性name @Test Design
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getDesigns();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19422
|
||||
|
||||
- 执行tutorialTest模块的getDesignsTest方法 @1
|
||||
- 执行tutorialTest模块的getDesignsTest方法 第1条的id属性 @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getDoc();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19423
|
||||
|
||||
- 步骤1:验证文档ID属性id @1
|
||||
- 步骤2:验证文档标题属性title @Test Doc
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getDocLib();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19424
|
||||
|
||||
- 步骤1:正常调用getDocLib方法
|
||||
- 属性id @2
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getDocLibs();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19425
|
||||
|
||||
- 测试获取文档库列表的基本信息
|
||||
- 第2条的id属性 @2
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getDocs();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19426
|
||||
|
||||
- 步骤1:验证文档ID第1条的id属性 @1
|
||||
- 步骤2:验证文档标题第1条的title属性 @Test Doc
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getDocTemplateSpaces();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19427
|
||||
|
||||
- 步骤1:测试正常调用获取文档模板空间属性1 @Doc Template Space
|
||||
- 步骤2:测试返回数组长度 @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getEpic();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19428
|
||||
|
||||
- 步骤1:验证返回对象的ID属性属性id @1
|
||||
- 步骤2:验证ID和类型
|
||||
|
||||
@@ -5,7 +5,7 @@ declare(strict_types=1);
|
||||
|
||||
title=测试 tutorialModel->getExecution();
|
||||
timeout=0
|
||||
cid=1
|
||||
cid=19429
|
||||
|
||||
- 检查获取 admin 数据的id,project,name,PM,PO,QD,RD
|
||||
- 属性id @3
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getExecutionBurnData();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19430
|
||||
|
||||
- 步骤1:正常情况-5个日期
|
||||
- 第2024-01-01条的value属性 @6
|
||||
|
||||
@@ -6,7 +6,7 @@ declare(strict_types=1);
|
||||
|
||||
title=测试 tutorialModel->getExecutionPairs();
|
||||
timeout=0
|
||||
cid=1
|
||||
cid=19431
|
||||
|
||||
- 检查获取的数据信息属性3 @Test execution
|
||||
- 检查获取的数据信息属性4 @~~
|
||||
|
||||
@@ -4,7 +4,7 @@ declare(strict_types=1);
|
||||
/**
|
||||
|
||||
title=测试 tutorialModel->getExecutionProducts();
|
||||
cid=1;
|
||||
cid=19432;
|
||||
|
||||
- 测试拿到的 admin 数据是否正确 id,name,type,PO,reviewer
|
||||
- 第1条的id属性 @1
|
||||
|
||||
@@ -6,7 +6,7 @@ declare(strict_types=1);
|
||||
|
||||
title=测试 tutorialModel->getExecutionStats();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19433
|
||||
|
||||
- 测试 admin 登录时是否能拿到 browseType 空 数据
|
||||
- 第0条的id属性 @3
|
||||
|
||||
@@ -4,7 +4,7 @@ declare(strict_types=1);
|
||||
/**
|
||||
|
||||
title=测试 tutorialModel->getExecutionStories();
|
||||
cid=1
|
||||
cid=19434
|
||||
|
||||
- 检查获取需求ID第3条的id属性 @3
|
||||
- 检查获取需求名称第3条的title属性 @Test active story
|
||||
|
||||
@@ -4,7 +4,7 @@ declare(strict_types=1);
|
||||
/**
|
||||
|
||||
title=测试 tutorialModel->getExecutionStoryPairs();
|
||||
cid=1
|
||||
cid=19435
|
||||
|
||||
- 测试是否能拿到数据属性3 @Test active story
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getFeedback();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19436
|
||||
|
||||
- 步骤1:验证反馈ID为1 @1
|
||||
- 步骤2:验证反馈标题为Test feedback @Test feedback
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getFeedbacks();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19437
|
||||
|
||||
- 测试获取反馈1的信息
|
||||
- 第1条的id属性 @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getGradePairs();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19438
|
||||
|
||||
- 步骤1:测试story类型属性1 @SR
|
||||
- 步骤2:测试requirement类型属性1 @UR
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getGroups();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19439
|
||||
|
||||
- 步骤1:验证返回结果类型为数组 @1
|
||||
- 步骤2:验证区域1包含3个组 @3
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getIssue();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19440
|
||||
|
||||
- 步骤1:验证问题ID属性id @1
|
||||
- 步骤2:验证问题标题属性title @Test issue-unconfirmed
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getIssues();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19441
|
||||
|
||||
- 步骤1:问题列表数量 @2
|
||||
- 步骤2:第1个问题ID第1条的id属性 @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getLaneGroup();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19442
|
||||
|
||||
- 步骤1:验证返回结果包含3个泳道组 @3
|
||||
- 步骤2:验证story类型泳道组 @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getLibTree();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19443
|
||||
|
||||
- 执行tutorialTest模块的getLibTreeTest方法 @1
|
||||
- 执行tutorialTest模块的getLibTreeTest方法
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getMarket();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19444
|
||||
|
||||
- 步骤1:验证ID属性id @1
|
||||
- 步骤2:验证名称属性name @Test Market
|
||||
|
||||
@@ -6,7 +6,7 @@ declare(strict_types=1);
|
||||
|
||||
title=测试 tutorialModel::getModulePairs();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19445
|
||||
|
||||
- 测试admin用户获取模块键值对属性1 @Test module
|
||||
- 测试user1用户获取模块键值对属性1 @Test module
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getPlan();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19446
|
||||
|
||||
- 执行tutorialTest模块的getPlanTest方法 属性id @1
|
||||
- 执行tutorialTest模块的getPlanTest方法 属性title @Test plan
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getPlanPairs();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19447
|
||||
|
||||
- 测试1:验证键1对应的值属性1 @Test plan
|
||||
- 测试2:再次验证键1的值属性1 @Test plan
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getPlans();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19448
|
||||
|
||||
- 步骤1:正常调用返回数组长度为1 @1
|
||||
- 步骤2:验证数组键名为1 @1
|
||||
|
||||
@@ -4,7 +4,7 @@ declare(strict_types=1);
|
||||
/**
|
||||
|
||||
title=测试 tutorialModel->getProduct();
|
||||
cid=1
|
||||
cid=19449
|
||||
|
||||
- 测试是否能拿到 admin 的数据 id program PO createdBy reviewer
|
||||
- 属性id @1
|
||||
|
||||
@@ -6,7 +6,7 @@ declare(strict_types=1);
|
||||
|
||||
title=测试 tutorialModel::getProductPairs();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19450
|
||||
|
||||
- 步骤1:测试获取产品ID为1的产品名称属性1 @Test product
|
||||
- 步骤2:测试返回数组不为空 @0
|
||||
|
||||
@@ -4,7 +4,7 @@ declare(strict_types=1);
|
||||
/**
|
||||
|
||||
title=测试 tutorialModel->getProductStats();
|
||||
cid=1
|
||||
cid=19451
|
||||
|
||||
- 测试是否能拿到 admin 的数据 id program PO createdBy reviewer
|
||||
- 第1条的id属性 @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getProgram();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19452
|
||||
|
||||
- 执行tutorialTest模块的getProgramTest方法 属性id @1
|
||||
- 执行tutorialTest模块的getProgramTest方法 属性name @Test program
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getProgramPairs();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19453
|
||||
|
||||
- 执行tutorialTest模块的getProgramPairsTest方法 属性1 @Test program
|
||||
- 执行tutorialTest模块的getProgramPairsTest方法 @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getPrograms();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19454
|
||||
|
||||
- 执行tutorialTest模块的getProgramsTest方法 第1条的name属性 @Test program
|
||||
- 执行tutorialTest模块的getProgramsTest方法 第1条的id属性 @1
|
||||
|
||||
@@ -5,7 +5,7 @@ declare(strict_types=1);
|
||||
/**
|
||||
|
||||
title=测试 tutorialModel->getProject();
|
||||
cid=1
|
||||
cid=19455
|
||||
|
||||
- 测试是否能拿到 admin 的数据
|
||||
- 属性id @2
|
||||
|
||||
@@ -6,7 +6,7 @@ declare(strict_types=1);
|
||||
|
||||
title=测试 tutorialModel->getProjectPairs();
|
||||
timeout=0
|
||||
cid=1
|
||||
cid=19456
|
||||
|
||||
- 测试是否能拿到数据属性2 @Test Project
|
||||
- 测试是否能拿到数据属性3 @~~
|
||||
|
||||
@@ -4,7 +4,7 @@ declare(strict_types=1);
|
||||
/**
|
||||
|
||||
title=测试 tutorialModel->getProjectStats();
|
||||
cid=1;
|
||||
cid=19457;
|
||||
|
||||
- 测试 admin 登录时是否能拿到 browseType 空 数据
|
||||
- 第2条的id属性 @2
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getRegionPairs();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19458
|
||||
|
||||
- 步骤1:正常情况,验证返回默认区域属性1 @默认区域
|
||||
- 步骤2:验证返回数组数量 @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getRelease();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19459
|
||||
|
||||
- 步骤1:正常情况,验证ID属性id @1
|
||||
- 步骤2:验证名称属性name @Test release
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getReleases();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19460
|
||||
|
||||
- 步骤1:验证返回数组长度为1 @1
|
||||
- 步骤2:验证数组键名为1 @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getRepo();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19461
|
||||
|
||||
- 执行tutorialTest模块的getRepoTest方法
|
||||
- 属性id @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getRepoPairs();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19462
|
||||
|
||||
- 步骤1:验证返回数组包含预期的键值对属性1 @[git] Test repo
|
||||
- 步骤2:验证返回数组长度为1 @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getRequirement();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19463
|
||||
|
||||
- 步骤1:验证用户需求是否为父级属性isParent @1
|
||||
- 步骤2:验证用户需求ID属性id @2
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getResearchStageStats();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19464
|
||||
|
||||
- 步骤1:获取调研阶段统计数据,期望返回3个元素 @3
|
||||
- 步骤2:验证第一个元素的type属性第0条的type属性 @stage
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getResult();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19465
|
||||
|
||||
- 步骤1:正常获取结果对象的核心字段
|
||||
- 属性id @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getResults();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19466
|
||||
|
||||
- 执行tutorialTest模块的getResultsTest方法 @1
|
||||
- 执行tutorialTest模块的getResultsTest方法 第1条的id属性 @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getReview();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19467
|
||||
|
||||
- 执行tutorialTest模块的getReviewTest方法 属性id @1
|
||||
- 执行tutorialTest模块的getReviewTest方法 属性project @2
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getReviews();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19468
|
||||
|
||||
- 步骤1:正常调用返回数组长度 @1
|
||||
- 步骤2:验证评审ID第1条的id属性 @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getRisk();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19469
|
||||
|
||||
- 步骤1:验证ID值属性id @1
|
||||
- 步骤2:验证名称属性name @Test risk
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getRisks();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19470
|
||||
|
||||
- 步骤1:获取风险列表,验证数组长度 @1
|
||||
- 步骤2:验证第一个风险对象的ID第1条的id属性 @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getRun();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19471
|
||||
|
||||
- 执行tutorialTest模块的getRunTest方法 属性id @1
|
||||
- 执行tutorialTest模块的getRunTest方法 属性status @normal
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getStage();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19472
|
||||
|
||||
- 步骤1:验证stage的id属性属性id @3
|
||||
- 步骤2:验证stage的name属性属性name @Development stage
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getStages();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19473
|
||||
|
||||
- 步骤1:验证返回数组包含ID为3的阶段第3条的id属性 @3
|
||||
- 步骤2:验证阶段名称第3条的name属性 @Development stage
|
||||
|
||||
@@ -4,7 +4,7 @@ declare(strict_types=1);
|
||||
/**
|
||||
|
||||
title=测试 tutorialModel->getStories();
|
||||
cid=1
|
||||
cid=19474
|
||||
|
||||
- 测试获取需求1的信息
|
||||
- 第1条的id属性 @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getStory();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19475
|
||||
|
||||
- 步骤1:正常获取研发需求,验证ID属性id @3
|
||||
- 步骤2:验证标题属性属性title @Test active story
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getStoryByID();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19476
|
||||
|
||||
- 步骤1:获取业务需求
|
||||
- 属性id @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getStoryGrade();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19477
|
||||
|
||||
- 步骤1:验证返回数组长度 @3
|
||||
- 步骤2:验证story层级类型第0条的type属性 @story
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getStoryPairs();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19478
|
||||
|
||||
- 步骤1:正常情况获取需求键值对数量 @4
|
||||
- 步骤2:验证Epic需求ID和标题映射属性1 @Test epic
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getStoryPairs();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19479
|
||||
|
||||
- 步骤1:验证返回结果是数组格式 @1
|
||||
- 步骤2:验证数组包含正确数量的需求键值对 @4
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getSubSpaces();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19480
|
||||
|
||||
- 步骤1:测试'custom'参数属性1 @Test Team Space
|
||||
- 步骤2:测试'mine'参数属性1 @Test My Space
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getSystem();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19481
|
||||
|
||||
- 执行tutorialTest模块的getSystemTest方法 属性id @1
|
||||
- 执行tutorialTest模块的getSystemTest方法 属性name @Test App
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getSystemList();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19482
|
||||
|
||||
- 步骤1:正常情况-验证返回数组包含ID为1的元素第1条的id属性 @1
|
||||
- 步骤2:边界值-验证系统名称第1条的name属性 @Test App
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getSystemPairs();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19483
|
||||
|
||||
- 测试步骤1:验证键1对应的值属性1 @Test App
|
||||
- 测试步骤2:再次验证键1的值属性1 @Test App
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getTask();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19484
|
||||
|
||||
- 步骤1:测试获取默认任务对象的基本属性
|
||||
- 属性id @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getTasks();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19485
|
||||
|
||||
- 步骤1:获取任务列表,验证数组长度 @2
|
||||
- 步骤2:验证第一个任务状态第1条的status属性 @wait
|
||||
|
||||
@@ -4,7 +4,7 @@ declare(strict_types=1);
|
||||
/**
|
||||
|
||||
title=测试 tutorialModel->getTeamMembers();
|
||||
cid=1
|
||||
cid=19486
|
||||
|
||||
- 测试是否能拿到 admin 数据
|
||||
- 第admin条的project属性 @1
|
||||
|
||||
@@ -6,7 +6,7 @@ declare(strict_types=1);
|
||||
|
||||
title=测试 tutorialModel->getTeamMembersPairs();
|
||||
timeout=0
|
||||
cid=1
|
||||
cid=19487
|
||||
|
||||
- 测试是否能拿到数据 admin属性admin @admin
|
||||
- 测试是否能拿到数据 空属性~~ @~~
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getTestReport();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19488
|
||||
|
||||
- 步骤1:正常获取测试报告对象的核心字段
|
||||
- 属性id @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getTestReports();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19489
|
||||
|
||||
- 步骤1:验证返回数组包含1个元素 @1
|
||||
- 步骤2:验证包含ID为1的测试报告第1条的id属性 @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getTesttask();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19490
|
||||
|
||||
- 步骤1:正常获取测试单对象
|
||||
- 属性id @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getTesttaskPairs();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19491
|
||||
|
||||
- 步骤1:正常调用获取测试单键值对属性1 @Test testtask
|
||||
- 步骤2:验证返回数组长度 @1
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
title=测试 tutorialModel::getTesttasks();
|
||||
timeout=0
|
||||
cid=0
|
||||
cid=19492
|
||||
|
||||
- 步骤1:获取测试单列表数量验证 @1
|
||||
- 步骤2:验证返回数组的键值 @1
|
||||
|
||||
@@ -6,7 +6,7 @@ declare(strict_types=1);
|
||||
|
||||
title=测试 tutorialModel->getTutorialed();
|
||||
timeout=0
|
||||
cid=1
|
||||
cid=19493
|
||||
|
||||
- 测试是否能拿到 admin 的数据 @3
|
||||
- 测试是否能拿到 user1 的数据 @4
|
||||
|
||||
@@ -4,7 +4,7 @@ declare(strict_types=1);
|
||||
/**
|
||||
|
||||
title=测试 tutorialModel->getUserPairs();
|
||||
cid=1
|
||||
cid=19494
|
||||
|
||||
- 测试是否能拿到 admin 数据 admin属性admin @admin
|
||||
- 测试是否能拿到 admin 数据 test属性test @Test
|
||||
|
||||
Reference in New Issue
Block a user