znt/module/group/test/model/getobjectforadmingroup.php

82 lines
3.8 KiB
PHP
Raw Permalink Normal View History

#!/usr/bin/env php
<?php
/**
title=测试 groupModel::getObjectForAdminGroup();
timeout=0
cid=16706
- 步骤1验证项目集属性programs @项目集1|项目1
- 步骤2验证项目属性projects @迭代1|阶段1|看板1
- 步骤3验证产品属性products @正常产品1|项目集1/正常产品2|正常产品3
- 步骤4验证执行属性executions @项目2|项目3|迭代2|阶段2|看板2
- 步骤5空数据库属性programs @~~
- 步骤6验证已删除项目不显示属性projects @~~
- 步骤7混合类型项目验证项目集属性programs @新项目集1
- 步骤8混合类型项目验证项目属性projects @新项目1
- 步骤9混合类型项目验证执行属性executions @新迭代1|新阶段1|新看板1
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
// 测试数据准备:正常项目数据
$projectTable = zenData('project');
$projectTable->id->range('1-10');
$projectTable->name->range('项目集1,项目1,迭代1,阶段1,看板1,项目2,项目3,迭代2,阶段2,看板2');
$projectTable->type->range('program{2},project{3},sprint{2},stage{2},kanban{1}');
$projectTable->path->range(',1,,2,,3,,4,,5,');
$projectTable->grade->range('1{2},1{3},2{5}');
$projectTable->parent->range('0{5},2{2},3{2},4{1}');
$projectTable->project->range('0{5},2{2},3{2},4{1}');
$projectTable->deleted->range('0');
$projectTable->gen(10);
$productTable = zenData('product');
$productTable->id->range('1-3');
$productTable->name->range('正常产品1,正常产品2,正常产品3');
$productTable->program->range('0,1,0');
$productTable->deleted->range('0');
$productTable->gen(3);
su('admin');
$group = new groupModelTest();
r($group->getObjectForAdminGroupTest()) && p('programs') && e('项目集1|项目1'); // 步骤1验证项目集
r($group->getObjectForAdminGroupTest()) && p('projects') && e('迭代1|阶段1|看板1'); // 步骤2验证项目
r($group->getObjectForAdminGroupTest()) && p('products') && e('正常产品1|项目集1/正常产品2|正常产品3'); // 步骤3验证产品
r($group->getObjectForAdminGroupTest()) && p('executions') && e('项目2|项目3|迭代2|阶段2|看板2'); // 步骤4验证执行
// 测试步骤5清空数据测试
zenData('project')->gen(0);
zenData('product')->gen(0);
r($group->getObjectForAdminGroupTest()) && p('programs') && e('~~'); // 步骤5空数据库
// 测试步骤6已删除项目过滤测试
$deletedProjectTable = zenData('project');
$deletedProjectTable->id->range('11-12');
$deletedProjectTable->name->range('已删除项目1,已删除项目2');
$deletedProjectTable->type->range('project');
$deletedProjectTable->deleted->range('1');
$deletedProjectTable->gen(2);
r($group->getObjectForAdminGroupTest()) && p('projects') && e('~~'); // 步骤6验证已删除项目不显示
// 测试步骤7混合类型项目测试
$mixedProjectTable = zenData('project');
$mixedProjectTable->id->range('13-17');
$mixedProjectTable->name->range('新项目集1,新项目1,新迭代1,新阶段1,新看板1');
$mixedProjectTable->type->range('program,project,sprint,stage,kanban');
$mixedProjectTable->path->range(',13,,14,,14,,14,,14,');
$mixedProjectTable->grade->range('1,1,2,2,2');
$mixedProjectTable->parent->range('0,0,14,14,14');
$mixedProjectTable->project->range('0,0,14,14,14');
$mixedProjectTable->deleted->range('0');
$mixedProjectTable->gen(5);
r($group->getObjectForAdminGroupTest()) && p('programs') && e('新项目集1'); // 步骤7混合类型项目验证项目集
r($group->getObjectForAdminGroupTest()) && p('projects') && e('新项目1'); // 步骤8混合类型项目验证项目
r($group->getObjectForAdminGroupTest()) && p('executions') && e('新迭代1|新阶段1|新看板1'); // 步骤9混合类型项目验证执行