znt/module/mail/test/model/sendmail.php

66 lines
2.4 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=测试 mailModel::sendmail();
timeout=0
cid=17017
- 测试步骤1空参数输入情况属性processed @1
- 测试步骤2只传入actionID无objectID属性processed @1
- 测试步骤3只传入objectID无actionID属性processed @1
- 测试步骤4传入有效的objectID和actionID属性processed @0
- 测试步骤5测试不同对象类型的邮件发送属性processed @0
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
// 手动插入基础测试数据避免zendata工具路径问题
global $tester;
// 插入基础action数据
$tester->dao->delete()->from(TABLE_ACTION)->where('id')->gt(0)->exec();
for($i = 1; $i <= 5; $i++)
{
$action = new stdClass();
$action->id = $i;
$action->objectType = $i <= 2 ? 'story' : 'task';
$action->objectID = $i <= 3 ? $i : $i - 2;
$action->actor = 'admin';
$action->action = 'opened';
$action->date = '2024-01-01 00:00:00';
$action->comment = '测试注释';
$tester->dao->insert(TABLE_ACTION)->data($action)->exec();
}
// 插入基础用户数据
$tester->dao->delete()->from(TABLE_USER)->where('account')->ne('system')->exec();
$users = array(
array('id' => 1, 'account' => 'admin', 'realname' => '管理员', 'email' => 'admin@test.com'),
array('id' => 2, 'account' => 'user1', 'realname' => '用户1', 'email' => 'user1@test.com'),
array('id' => 3, 'account' => 'user2', 'realname' => '用户2', 'email' => 'user2@test.com'),
);
foreach($users as $userData)
{
$user = new stdClass();
foreach($userData as $key => $value) $user->$key = $value;
$user->password = md5('123456');
$user->deleted = '0';
$user->type = 'inside';
$user->dept = 1;
$user->role = 'dev';
$tester->dao->insert(TABLE_USER)->data($user)->exec();
}
su('admin');
$mail = new mailModelTest();
r($mail->sendmailTest(0, 0)) && p('processed') && e('1'); // 测试步骤1空参数输入情况
r($mail->sendmailTest(0, 1)) && p('processed') && e('1'); // 测试步骤2只传入actionID无objectID
r($mail->sendmailTest(1, 0)) && p('processed') && e('1'); // 测试步骤3只传入objectID无actionID
r($mail->sendmailTest(1, 1)) && p('processed') && e('0'); // 测试步骤4传入有效的objectID和actionID
r($mail->sendmailTest(2, 2)) && p('processed') && e('0'); // 测试步骤5测试不同对象类型的邮件发送