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

59 lines
2.1 KiB
PHP
Raw Permalink Normal View History

#!/usr/bin/env php
<?php
/**
title=测试 storyModel::getBySQL();
timeout=0
cid=18510
- 执行storyTest模块的getBySQLTest方法参数是1, "1 = 1 AND `status` = 'active'", 'id_desc' @2
- 执行storyTest模块的getBySQLTest方法参数是'all', "1 = 1 AND `type` = 'story'", 'id_asc' @15
- 执行storyTest模块的getBySQLTest方法参数是2, "1 = 1", 'id' @3
- 执行storyTest模块的getBySQLTest方法参数是'all', "1 = 1", 'id', null, 'requirement' @5
- 执行storyTest模块的getBySQLTest方法参数是'all', "1 = 1 AND `status` = 'draft'", 'id' @4
- 执行storyTest模块的getBySQLTest方法参数是3, "1 = 1", 'id' @3
- 执行storyTest模块的getBySQLTest方法参数是999, "1 = 1", 'id' @0
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
// 准备测试数据
zenData('product')->gen(5);
zenData('productplan')->gen(10);
$story = zenData('story');
$story->id->range('1-20');
$story->product->range('1-5');
$story->type->range('story{15},requirement{5}');
$story->status->range('active{8},draft{4},reviewing{3},changing{2},closed{3}');
$story->vision->range('rnd');
$story->version->range('1');
$story->gen(20);
su('admin');
$storyTest = new storyModelTest();
// 测试步骤1正常查询指定产品的活跃需求
r($storyTest->getBySQLTest(1, "1 = 1 AND `status` = 'active'", 'id_desc')) && p() && e('2');
// 测试步骤2查询所有产品的需求
r($storyTest->getBySQLTest('all', "1 = 1 AND `type` = 'story'", 'id_asc')) && p() && e('15');
// 测试步骤3测试空SQL条件查询
r($storyTest->getBySQLTest(2, "1 = 1", 'id')) && p() && e('3');
// 测试步骤4测试不同类型过滤(requirement类型)
r($storyTest->getBySQLTest('all', "1 = 1", 'id', null, 'requirement')) && p() && e('5');
// 测试步骤5测试特定状态过滤
r($storyTest->getBySQLTest('all', "1 = 1 AND `status` = 'draft'", 'id')) && p() && e('4');
// 测试步骤6测试单个产品的需求数量
r($storyTest->getBySQLTest(3, "1 = 1", 'id')) && p() && e('3');
// 测试步骤7测试无效产品ID
r($storyTest->getBySQLTest(999, "1 = 1", 'id')) && p() && e('0');