* [misc] Enhance unit tests for todoTao::updateDate() method

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
liugang
2025-09-25 09:16:47 +08:00
co-authored by Claude
parent 8cf7d9ebe7
commit 28b4fe4b87
3 changed files with 72 additions and 44 deletions
@@ -743,4 +743,24 @@ class todoTest
return $result;
}
/**
* Test updateDate method.
*
* @param array $todoIdList
* @param string $date
* @access public
* @return bool|array
*/
public function updateDateTest(array $todoIdList, string $date): bool|array
{
$reflection = new ReflectionClass($this->objectTao);
$method = $reflection->getMethod('updateDate');
$method->setAccessible(true);
$result = $method->invoke($this->objectTao, $todoIdList, $date);
if(dao::isError()) return dao::getError();
return $result;
}
}
+27 -25
View File
@@ -1,41 +1,43 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
su('admin');
/**
title=测试 todoTao::updateDate();
timeout=0
cid=1
cid=0
- 判断是否更新为当前的时间 @1
- 判断是否更新为当前的时间 @1
- 判断是否更新为当前的时间 @1
- 执行todoTest模块的updateDateTest方法,参数是$singleTodoList, $validDate1 @1
- 执行todoTest模块的updateDateTest方法,参数是$multipleTodoList, $validDate2 @1
- 执行todoTest模块的updateDateTest方法,参数是$emptyTodoList, $validDateTime @1
- 执行todoTest模块的updateDateTest方法,参数是$nonExistentList, $validDate1 @1
- 执行todoTest模块的updateDateTest方法,参数是$validTodoList, $edgeDate @1
*/
function initData ()
{
zenData('todo')->loadYaml('updatedate')->gen(5);
}
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/todo.unittest.class.php';
initData();
zenData('todo')->loadYaml('updatedate')->gen(10);
global $tester;
$tester->loadModel('todo')->todoTao;
su('admin');
$todoDate1 = date('Y-m-d');
$todoDate2 = date('Y-m-d H:i');
$todoTest = new todoTest();
$todoIDList1 = array(1);
$todoIDList2 = array(2, 3);
$todoIDList3 = array('id' => 4);
$todoIDList4 = array('id' => 5, 'account' => 'admin');
$validDate1 = '2024-01-15';
$validDate2 = '2024-02-20';
$validDateTime = '2024-03-25 14:30:00';
$edgeDate = '2024-12-31';
$shortDate = '2024-01-01';
r($tester->todo->updateDate($todoIDList1, $todoDate1)) && p() && e('1'); // 判断是否更新为当前的时间
r($tester->todo->updateDate($todoIDList2, $todoDate1)) && p() && e('1'); // 判断是否更新为当前的时间
r($tester->todo->updateDate($todoIDList3, $todoDate2)) && p() && e('1'); // 判断是否更新为当前的时间
r($tester->todo->updateDate($todoIDList4, $todoDate2)) && p() && e('1'); // 判断是否更新为当前的时间
$singleTodoList = array(1);
$multipleTodoList = array(2, 3, 4);
$emptyTodoList = array();
$nonExistentList = array(999, 998);
$validTodoList = array(5, 6);
r($todoTest->updateDateTest($singleTodoList, $validDate1)) && p() && e('1');
r($todoTest->updateDateTest($multipleTodoList, $validDate2)) && p() && e('1');
r($todoTest->updateDateTest($emptyTodoList, $validDateTime)) && p() && e('1');
r($todoTest->updateDateTest($nonExistentList, $validDate1)) && p() && e('1');
r($todoTest->updateDateTest($validTodoList, $edgeDate)) && p() && e('1');
@@ -1,39 +1,45 @@
title: zt_updatedate
author: shenshulong
title: zt_todo for updateDate test
author: claude
version: '1.0'
fields:
- field: id
range: 1-100
range: 1-10
- field: account
range: 'admin,user1,user2'
range: 'admin,user1,user2,test'
- field: objectID
range: 10-20
range: 10-30
- field: date
range: 1-9
prefix: '2023-04-2'
- field: begin
range: 1000-1100
range: 1000-1800
- field: end
range: 1200-1300
range: 1200-1900
- field: type
range: 'task'
range: 'task,story,bug,custom'
- field: cycle
range: 0
- field: pri
range: 3
range: 1-4
- field: name
range: 1-5
prefix: '我的待办'
range: 1-10
prefix: '测试待办'
- field: desc
range: 1-5
prefix: '这是待办描述'
range: 1-10
prefix: '测试待办描述'
- field: status
range: 'wait,doing,done'
range: 'wait,doing,done,closed'
- field: vision
range: 'rnd,litle'
- field: finishedDate
range: 1-9
prefix: '2023-04-2'
- field: closedDate
range: 'rnd,lite'
- field: assignedTo
range: 'admin,user1,user2'
- field: assignedBy
range: 'admin'
- field: assignedDate
range: 1-9
prefix: '2023-04-2'
postfix: ' 10:00:00'
- field: private
range: 0-1
- field: deleted
range: 0