znt/module/user/test/model/getprogramstakeholder.php

48 lines
1.7 KiB
PHP
Executable file
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env php
<?php
/**
title=测试 userModel::getProgramStakeholder();
timeout=0
cid=19627
- 步骤1正常情况检查产品1有admin第1条的admin属性 @admin
- 步骤2空数组 @0
- 步骤3不存在项目ID @0
- 步骤4仅项目经理第5条的pm4属性 @pm4
- 步骤5单项目多产品
- 第1条的admin属性 @admin
- 第2条的admin属性 @admin
*/
// 1. 导入依赖(路径固定,不可修改)
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
// 2. zendata数据准备
$stakeholderTable = zenData('stakeholder');
$stakeholderTable->objectID->range('1,2,3,3,4,4,4,4');
$stakeholderTable->objectType->range('program');
$stakeholderTable->user->range('admin,user1,user2,user3,user4,user5,admin,user1');
$stakeholderTable->gen(8);
$projectTable = zenData('project');
$projectTable->id->range('1-6');
$projectTable->type->range('program');
$projectTable->PM->range('admin,pm1,pm2,pm3,pm4,pm5');
$projectTable->gen(6);
// 3. 用户登录
su('admin');
// 4. 创建测试实例
$userTest = new userModelTest();
// 5. 测试步骤必须包含至少5个
r($userTest->getProgramStakeholderTest(array(1 => array(1, 2), 2 => array(3)))) && p('1:admin') && e('admin'); // 步骤1正常情况检查产品1有admin
r($userTest->getProgramStakeholderTest(array())) && p() && e(0); // 步骤2空数组
r($userTest->getProgramStakeholderTest(array(999 => array()))) && p() && e(0); // 步骤3不存在项目ID
r($userTest->getProgramStakeholderTest(array(5 => array(5)))) && p('5:pm4') && e('pm4'); // 步骤4仅项目经理
r($userTest->getProgramStakeholderTest(array(1 => array(1, 2)))) && p('1:admin;2:admin') && e('admin;admin'); // 步骤5单项目多产品