+ [misc] Add unit tests for taskZen::getParentEstStartedAndDeadline() method
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
+57
@@ -0,0 +1,57 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
/**
|
||||
|
||||
title=测试 taskZen::getParentEstStartedAndDeadline();
|
||||
timeout=0
|
||||
cid=0
|
||||
|
||||
- 步骤1:正常情况返回数量 @2
|
||||
- 步骤2:空数组返回数量 @0
|
||||
- 步骤3:不存在ID返回数量 @0
|
||||
- 步骤4:验证父任务1开始时间第1条的estStarted属性 @2024-01-01
|
||||
- 步骤5:验证父任务4截止时间第4条的deadline属性 @2024-02-28
|
||||
- 步骤6:验证多层级任务路径处理第7条的estStarted属性 @2024-03-01
|
||||
- 步骤7:验证零时间处理第13条的deadline属性 @2024-04-30
|
||||
|
||||
*/
|
||||
|
||||
// 1. 导入依赖(路径固定,不可修改)
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/lib/taskzen.unittest.class.php';
|
||||
|
||||
// 2. 直接插入测试数据
|
||||
global $tester;
|
||||
$tester->dao->exec("TRUNCATE TABLE zt_task");
|
||||
$tester->dao->exec("INSERT INTO zt_task (id, parent, path, project, execution, name, type, status, estStarted, deadline) VALUES
|
||||
(1, 0, ',1,', 1, 1, '根任务1', 'devel', 'wait', '2024-01-01', '2024-01-31'),
|
||||
(2, 1, ',1,2,', 1, 1, '子任务1-1', 'devel', 'doing', '0000-00-00', '2024-01-15'),
|
||||
(3, 1, ',1,3,', 1, 1, '子任务1-2', 'devel', 'done', '2024-01-03', '0000-00-00'),
|
||||
(4, 0, ',4,', 1, 1, '根任务2', 'test', 'wait', '2024-02-01', '2024-02-28'),
|
||||
(5, 4, ',4,5,', 1, 1, '子任务2-1', 'test', 'doing', '0000-00-00', '2024-02-15'),
|
||||
(6, 4, ',4,6,', 1, 1, '子任务2-2', 'test', 'done', '2024-02-03', '0000-00-00'),
|
||||
(7, 0, ',7,', 1, 1, '根任务3', 'design', 'wait', '2024-03-01', '0000-00-00'),
|
||||
(8, 7, ',7,8,', 1, 1, '子任务3-1', 'design', 'doing', '0000-00-00', '2024-03-20'),
|
||||
(9, 7, ',7,9,', 1, 1, '子任务3-2', 'design', 'done', '2024-03-10', '2024-03-18'),
|
||||
(10, 0, ',10,', 1, 1, '根任务4', 'study', 'wait', '0000-00-00', '2024-04-30'),
|
||||
(11, 10, ',10,11,', 1, 1, '子任务4-1', 'study', 'doing', '2024-04-01', '0000-00-00'),
|
||||
(12, 10, ',10,12,', 1, 1, '子任务4-2', 'study', 'done', '2024-04-03', '2024-04-20'),
|
||||
(13, 0, ',13,', 2, 2, '独立任务1', 'devel', 'wait', '0000-00-00', '2024-04-30'),
|
||||
(14, 0, ',14,', 2, 2, '独立任务2', 'test', 'doing', '2024-04-01', '0000-00-00'),
|
||||
(15, 14, ',14,15,', 2, 2, '子任务5-1', 'test', 'done', '2024-04-05', '2024-04-15')");
|
||||
|
||||
// 3. 用户登录
|
||||
su('admin');
|
||||
|
||||
// 4. 创建测试实例
|
||||
$taskTest = new taskZenTest();
|
||||
|
||||
// 5. 强制要求:必须包含至少7个测试步骤
|
||||
r(count($taskTest->getParentEstStartedAndDeadlineTest(array(1, 4)))) && p() && e('2'); // 步骤1:正常情况返回数量
|
||||
r(count($taskTest->getParentEstStartedAndDeadlineTest(array()))) && p() && e('0'); // 步骤2:空数组返回数量
|
||||
r(count($taskTest->getParentEstStartedAndDeadlineTest(array(999, 1000)))) && p() && e('0'); // 步骤3:不存在ID返回数量
|
||||
r($taskTest->getParentEstStartedAndDeadlineTest(array(1))) && p('1:estStarted') && e('2024-01-01'); // 步骤4:验证父任务1开始时间
|
||||
r($taskTest->getParentEstStartedAndDeadlineTest(array(4))) && p('4:deadline') && e('2024-02-28'); // 步骤5:验证父任务4截止时间
|
||||
r($taskTest->getParentEstStartedAndDeadlineTest(array(7))) && p('7:estStarted') && e('2024-03-01'); // 步骤6:验证多层级任务路径处理
|
||||
r($taskTest->getParentEstStartedAndDeadlineTest(array(13))) && p('13:deadline') && e('2024-04-30'); // 步骤7:验证零时间处理
|
||||
@@ -0,0 +1,77 @@
|
||||
---
|
||||
title: 测试getParentEstStartedAndDeadline方法的任务数据
|
||||
desc: 包含多层级任务数据,用于测试父任务开始时间和截止时间获取功能
|
||||
author: AI
|
||||
version: 1.0
|
||||
|
||||
fields:
|
||||
- field: id
|
||||
note: 任务ID
|
||||
range: 1-20
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: parent
|
||||
note: 父任务ID
|
||||
range: 0{4},1{3},2{2},4{3},5{2},6{2},7{2},8{2}
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: path
|
||||
note: 任务路径
|
||||
range: ',1,',',1,2,',',1,2,3,',',1,3,',',4,',',4,5,',',4,5,6,',',4,6,',',7,',',7,8,',',7,8,9,',',7,9,',',10,',',10,11,',',10,11,12,',',10,12,',',13,',',13,14,',',13,14,15,',',13,15,',',16,',',17,'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: project
|
||||
note: 项目ID
|
||||
range: 1{10},2{10}
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: execution
|
||||
note: 执行ID
|
||||
range: 1{10},2{10}
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: name
|
||||
note: 任务名称
|
||||
range: '根任务1,子任务1-1,孙任务1-1-1,子任务1-2,根任务2,子任务2-1,孙任务2-1-1,子任务2-2,根任务3,子任务3-1,孙任务3-1-1,子任务3-2,根任务4,子任务4-1,孙任务4-1-1,子任务4-2,独立任务1,独立任务2,删除任务,测试任务'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: type
|
||||
note: 任务类型
|
||||
range: devel{8},test{6},design{4},study{2}
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: status
|
||||
note: 任务状态
|
||||
range: wait{6},doing{6},done{4},pause{2},cancel{1},closed{1}
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: estStarted
|
||||
note: 预计开始时间
|
||||
range: '2024-01-01,0000-00-00,2024-01-05,2024-01-03,2024-02-01,0000-00-00,2024-02-10,2024-02-05,2024-03-01,0000-00-00,2024-03-15,2024-03-10,0000-00-00,2024-04-01,2024-04-05,2024-04-03,2024-05-01,2024-06-01,0000-00-00,2024-07-01'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
- field: deadline
|
||||
note: 截止时间
|
||||
range: '2024-01-31,2024-01-15,0000-00-00,2024-01-25,2024-02-28,2024-02-20,0000-00-00,2024-02-25,0000-00-00,2024-03-20,2024-03-25,2024-03-18,2024-04-30,0000-00-00,2024-04-15,2024-04-20,2024-05-31,2024-06-30,2024-07-15,0000-00-00'
|
||||
prefix: ""
|
||||
postfix: ""
|
||||
loop: 0
|
||||
format: ""
|
||||
Reference in New Issue
Block a user