znt/module/todo/test/tao/getcyclelist.php

60 lines
2.2 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=测试 todoTao::getCycleList();
timeout=0
cid=19274
- 空输入返回0 @0
- 验证返回5条记录 @5
- 无效输入返回0 @0
- 验证按ID倒序排序后第一个key是10 @10
- 验证混合输入只返回2条有效记录 @2
- 获取通过周期待办的生成的待办数据为空的情况,结果为 0 @0
- 获取有周期待办生成的待办数量,结果为 3 @3
- 获取有周期待办生成的待办数据详细信息
- 第2条的account属性 @admin
- 第2条的name属性 @周期待办每月的每天提前1天生成
- 第2条的begin属性 @0801
- 第2条的end属性 @1801
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/tao.class.php';
// 准备测试数据
$todoTable = zenData('todo');
$todoTable->loadYaml('todo_getcyclelist', false, 2)->gen(15);
// 模拟用户登录
su('admin');
// 创建测试实例
$todoTest = new todoTaoTest();
// 测试步骤1测试空的todoList输入
r($todoTest->getCycleListTaoTest(array())) && p() && e('0'); // 空输入返回0
// 测试步骤2测试包含有效objectID的todoListobjectID存在且type=custom的记录
$validTodoList = array(1 => 'todo1', 2 => 'todo2', 6 => 'todo6', 8 => 'todo8', 10 => 'todo10');
$result2 = $todoTest->getCycleListTaoTest($validTodoList);
r(count($result2)) && p() && e('5'); // 验证返回5条记录
// 测试步骤3测试包含无效objectID的todoListobjectID不存在
$invalidTodoList = array(999 => 'invalid', 1000 => 'invalid2');
r($todoTest->getCycleListTaoTest($invalidTodoList)) && p() && e('0'); // 无效输入返回0
// 测试步骤4测试不同排序规则的有效输入id_desc降序排列
$validTodoList2 = array(1 => 'todo1', 6 => 'todo6', 10 => 'todo10');
$result4 = $todoTest->getCycleListTaoTest($validTodoList2, 'id_desc');
r(key($result4)) && p() && e('10'); // 验证按ID倒序排序后第一个key是10
// 测试步骤5测试混合有效无效objectID的todoList
$mixedTodoList = array(1 => 'todo1', 999 => 'invalid', 6 => 'todo6', 1000 => 'invalid2');
$result5 = $todoTest->getCycleListTaoTest($mixedTodoList);
r(count($result5)) && p() && e('2'); // 验证混合输入只返回2条有效记录