znt/module/story/test/model/getepicparents.php

59 lines
2.6 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=测试 storyModel::getEpicParents();
timeout=0
cid=18527
- 步骤1正常产品获取史诗父级期望返回数组类型 @1
- 步骤2产品ID为0期望返回空数组 @0
- 步骤3不存在的产品ID期望返回空数组 @0
- 步骤4测试追加史诗功能期望返回包含追加史诗的数组 @1
- 步骤5测试排除子史诗功能期望返回正确的父级史诗 @1
*/
// 1. 导入依赖
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
// 2. zendata数据准备
$storyTable = zenData('story');
$storyTable->id->range('1-20');
$storyTable->product->range('1{15},2{5}');
$storyTable->type->range('epic{10},requirement{5},story{5}');
$storyTable->status->range('active{15},reviewing{2},closed{3}');
$storyTable->parent->range('0{10},1{3},2{3},3{2},4{2}');
$storyTable->grade->range('1{8},2{7},3{5}');
$storyTable->title->range('史诗1,史诗2,史诗3,史诗4,史诗5,史诗6,史诗7,史诗8,史诗9,史诗10,需求1,需求2,需求3,需求4,需求5,故事1,故事2,故事3,故事4,故事5');
$storyTable->vision->range('rnd');
$storyTable->deleted->range('0');
$storyTable->path->range(',1,,2,,3,,4,,5,,6,,7,,8,,9,,10,,1,11,,2,12,,3,13,,4,14,,5,15,');
$storyTable->root->range('1{3},2{3},3{2},4{2},5{2},6,7,8,9,10');
$storyTable->gen(20);
$storyGradeTable = zenData('storygrade');
$storyGradeTable->type->range('epic{3},requirement{3},story{3}');
$storyGradeTable->grade->range('1,2,3');
$storyGradeTable->name->range('史诗1级,史诗2级,史诗3级,需求1级,需求2级,需求3级,故事1级,故事2级,故事3级');
$storyGradeTable->status->range('enable');
$storyGradeTable->gen(9);
// 3. 设置必要的配置
global $config;
if(!isset($config->vision)) $config->vision = 'rnd';
// 4. 用户登录
su('admin');
// 5. 创建测试实例
$storyTest = new storyModelTest();
// 6. 必须包含至少5个测试步骤
r(is_array($storyTest->getEpicParentsTest(1, '', 'epic', 0))) && p() && e('1'); // 步骤1正常产品获取史诗父级期望返回数组类型
r(count($storyTest->getEpicParentsTest(0, '', 'epic', 0))) && p() && e('0'); // 步骤2产品ID为0期望返回空数组
r(count($storyTest->getEpicParentsTest(999, '', 'epic', 0))) && p() && e('0'); // 步骤3不存在的产品ID期望返回空数组
r(is_array($storyTest->getEpicParentsTest(1, '5,6', 'epic', 0))) && p() && e('1'); // 步骤4测试追加史诗功能期望返回包含追加史诗的数组
r(is_array($storyTest->getEpicParentsTest(1, '', 'epic', 2))) && p() && e('1'); // 步骤5测试排除子史诗功能期望返回正确的父级史诗