#!/usr/bin/env php dao->insert(TABLE_TODO) ->set('account')->eq('admin') ->set('date')->eq($today) ->set('begin')->eq($begin) ->set('end')->eq('1400') ->set('type')->eq('custom') ->set('objectID')->eq(0) ->set('pri')->eq(1) ->set('name')->eq('测试待办' . ($i + 1)) ->set('desc')->eq('测试描述') ->set('status')->eq('wait') ->set('private')->eq(0) ->set('assignedTo')->eq('admin') ->set('assignedBy')->eq('admin') ->set('assignedDate')->eq($now) ->exec(); } // user1用户:2条待办在提醒范围内 for($i = 0; $i < 2; $i++) { $begin = array($begin1, $begin10)[$i]; $tester->dao->insert(TABLE_TODO) ->set('account')->eq('user1') ->set('date')->eq($today) ->set('begin')->eq($begin) ->set('end')->eq('1400') ->set('type')->eq('custom') ->set('objectID')->eq(0) ->set('pri')->eq(1) ->set('name')->eq('测试待办' . ($i + 1)) ->set('desc')->eq('测试描述') ->set('status')->eq('wait') ->set('private')->eq(0) ->set('assignedTo')->eq('user1') ->set('assignedBy')->eq('admin') ->set('assignedDate')->eq($now) ->exec(); } // user2用户:3条待办,但begin时间不在提醒范围内 for($i = 0; $i < 3; $i++) { $tester->dao->insert(TABLE_TODO) ->set('account')->eq('user2') ->set('date')->eq($today) ->set('begin')->eq($beginOut) ->set('end')->eq('1400') ->set('type')->eq('custom') ->set('objectID')->eq(0) ->set('pri')->eq(1) ->set('name')->eq('测试待办' . ($i + 1)) ->set('desc')->eq('测试描述') ->set('status')->eq('wait') ->set('private')->eq(0) ->set('assignedTo')->eq('user2') ->set('assignedBy')->eq('admin') ->set('assignedDate')->eq($now) ->exec(); } zenData('user')->gen(5); zenData('notify')->gen(0); global $tester; $messageTest = new messageModelTest(); su('admin'); r($messageTest->batchSaveTodoNoticeTest('admin')) && p() && e('3'); // 测试步骤1:有待办需要提醒时批量保存通知消息 r($messageTest->batchSaveTodoNoticeTest('user2')) && p() && e('0'); // 测试步骤2:无待办需要提醒时返回空数组 su('admin'); $adminResult = $tester->message->batchSaveTodoNotice(); r(count($adminResult)) && p() && e('3'); // 测试步骤3:验证保存的通知消息数据结构正确性 r($messageTest->batchSaveTodoNoticeTest('user1')) && p() && e('2'); // 测试步骤4:测试不同用户的待办通知保存 r($tester->message->dao->select('COUNT(*) as count')->from(TABLE_NOTIFY)->where('objectType')->eq('message')->fetch('count')) && p() && e('8'); // 测试步骤5:验证数据库中通知记录的完整性