znt/module/todo/test/zen/setcycle.php

103 lines
3 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=测试 todoZen::setCycle();
timeout=0
cid=19306
- 步骤1正常天循环属性type @cycle
- 步骤2正常周循环属性type @cycle
- 步骤3正常月循环属性type @cycle
- 步骤4缺少day字段 @0
- 步骤5空周配置 @0
- 步骤6空日期处理属性type @cycle
- 步骤7非整数beforeDays @0
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/todozen.unittest.class.php';
zenData('todo')->gen(0);
su('admin');
$todoTest = new todoTest();
// 测试步骤1正常的天循环配置
$dayTodoData = new stdClass();
$dayTodoData->date = '2024-01-01';
$dayTodoData->config = array(
'type' => 'day',
'day' => 5,
'beforeDays' => 2
);
$dayTodoData->cycle = 1;
r($todoTest->setCycleTest($dayTodoData)) && p('type') && e('cycle'); // 步骤1正常天循环
// 测试步骤2正常的周循环配置
$weekTodoData = new stdClass();
$weekTodoData->date = '2024-01-01';
$weekTodoData->config = array(
'type' => 'week',
'week' => array(1, 3, 5),
'beforeDays' => 1
);
$weekTodoData->cycle = 1;
r($todoTest->setCycleTest($weekTodoData)) && p('type') && e('cycle'); // 步骤2正常周循环
// 测试步骤3正常的月循环配置
$monthTodoData = new stdClass();
$monthTodoData->date = '2024-01-01';
$monthTodoData->config = array(
'type' => 'month',
'month' => array(1, 15, 30),
'beforeDays' => 3
);
$monthTodoData->cycle = 1;
r($todoTest->setCycleTest($monthTodoData)) && p('type') && e('cycle'); // 步骤3正常月循环
// 测试步骤4缺少必需字段的天循环配置
$invalidDayTodoData = new stdClass();
$invalidDayTodoData->date = '2024-01-01';
$invalidDayTodoData->config = array(
'type' => 'day',
'beforeDays' => 2
);
$invalidDayTodoData->cycle = 1;
r($todoTest->setCycleTest($invalidDayTodoData)) && p() && e('0'); // 步骤4缺少day字段
// 测试步骤5无效输入的周循环配置
$invalidWeekTodoData = new stdClass();
$invalidWeekTodoData->date = '2024-01-01';
$invalidWeekTodoData->config = array(
'type' => 'week',
'week' => array(),
'beforeDays' => 1
);
$invalidWeekTodoData->cycle = 1;
r($todoTest->setCycleTest($invalidWeekTodoData)) && p() && e('0'); // 步骤5空周配置
// 测试步骤6空日期的周期配置处理
$emptyDateTodoData = new stdClass();
$emptyDateTodoData->date = '0000-00-00';
$emptyDateTodoData->config = array(
'type' => 'day',
'day' => 3,
'beforeDays' => 1
);
$emptyDateTodoData->cycle = 1;
r($todoTest->setCycleTest($emptyDateTodoData)) && p('type') && e('cycle'); // 步骤6空日期处理
// 测试步骤7非整数beforeDays配置
$invalidBeforeDaysTodoData = new stdClass();
$invalidBeforeDaysTodoData->date = '2024-01-01';
$invalidBeforeDaysTodoData->config = array(
'type' => 'day',
'day' => 5,
'beforeDays' => 'abc'
);
$invalidBeforeDaysTodoData->cycle = 1;
r($todoTest->setCycleTest($invalidBeforeDaysTodoData)) && p() && e('0'); // 步骤7非整数beforeDays