diff --git a/module/todo/test/lib/todo.unittest.class.php b/module/todo/test/lib/todo.unittest.class.php index 2f73766384..18ac18972f 100755 --- a/module/todo/test/lib/todo.unittest.class.php +++ b/module/todo/test/lib/todo.unittest.class.php @@ -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; + } } diff --git a/module/todo/test/tao/updatedate.php b/module/todo/test/tao/updatedate.php index 2f2e1a57e3..f4d822fed2 100755 --- a/module/todo/test/tao/updatedate.php +++ b/module/todo/test/tao/updatedate.php @@ -1,41 +1,43 @@ #!/usr/bin/env php 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'); \ No newline at end of file diff --git a/module/todo/test/tao/yaml/updatedate/updatedate.yaml b/module/todo/test/tao/yaml/updatedate/updatedate.yaml index a39e6637d6..dc8375ce61 100644 --- a/module/todo/test/tao/yaml/updatedate/updatedate.yaml +++ b/module/todo/test/tao/yaml/updatedate/updatedate.yaml @@ -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