* [misc] Enhance unit tests for mailModel::setCC() method
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -159,18 +159,19 @@ class mailTest
|
||||
}
|
||||
|
||||
/**
|
||||
* Set CC.
|
||||
* Test setCC method.
|
||||
*
|
||||
* @param int $ccList
|
||||
* @param int $emails
|
||||
* @param array $ccList
|
||||
* @param array $emails
|
||||
* @access public
|
||||
* @return object
|
||||
* @return mixed
|
||||
*/
|
||||
public function setCCTest($ccList, $emails)
|
||||
{
|
||||
$this->objectModel->setCC($ccList, $emails);
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $this->setMTATest();
|
||||
return $emails;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -542,4 +543,56 @@ class mailTest
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test sendmail method.
|
||||
*
|
||||
* @param int $objectID
|
||||
* @param int $actionID
|
||||
* @access public
|
||||
* @return mixed
|
||||
*/
|
||||
public function sendmailTest($objectID, $actionID)
|
||||
{
|
||||
try
|
||||
{
|
||||
ob_start();
|
||||
$this->objectModel->sendmail($objectID, $actionID);
|
||||
$output = ob_get_clean();
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
$result = new stdClass();
|
||||
$result->processed = 1;
|
||||
$result->objectID = $objectID;
|
||||
$result->actionID = $actionID;
|
||||
$result->hasErrors = $this->objectModel->isError() ? 1 : 0;
|
||||
$result->errors = $this->objectModel->errors;
|
||||
$result->output = $output;
|
||||
|
||||
return $result;
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
$result = new stdClass();
|
||||
$result->processed = 0;
|
||||
$result->objectID = $objectID;
|
||||
$result->actionID = $actionID;
|
||||
$result->error = $e->getMessage();
|
||||
$result->hasErrors = 1;
|
||||
|
||||
return $result;
|
||||
}
|
||||
catch(TypeError $e)
|
||||
{
|
||||
$result = new stdClass();
|
||||
$result->processed = 0;
|
||||
$result->objectID = $objectID;
|
||||
$result->actionID = $actionID;
|
||||
$result->error = $e->getMessage();
|
||||
$result->hasErrors = 1;
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,29 +3,54 @@
|
||||
|
||||
/**
|
||||
|
||||
title=测试 mailModel->setCC();
|
||||
title=测试 mailModel::setCC();
|
||||
timeout=0
|
||||
cid=0
|
||||
|
||||
- 不传入参数,检查admin账号的sended字段 @0
|
||||
- 传入ccList参数,检查admin账号的sended字段 @0
|
||||
- 传入ccList和mails参数,检查admin账号的sended字段属性sended @1
|
||||
- 执行mailTest模块的setCCTest方法,参数是array @0
|
||||
- 执行mailTest模块的setCCTest方法,参数是array 第admin条的sended属性 @1
|
||||
- 执行mailTest模块的setCCTest方法,参数是array 第user1条的sended属性 @~~
|
||||
- 执行mailTest模块的setCCTest方法,参数是array 第admin条的sended属性 @~~
|
||||
- 执行mailTest模块的setCCTest方法,参数是array 第admin条的sended属性 @1
|
||||
|
||||
*/
|
||||
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/lib/mail.unittest.class.php';
|
||||
|
||||
su('admin');
|
||||
|
||||
$mails['admin'] = new stdclass();
|
||||
$mails['admin']->email = 'admin@cnezsoft.com';
|
||||
$mails['admin']->realname = '管理员';
|
||||
$mailTest = new mailTest();
|
||||
|
||||
global $tester;
|
||||
$mailModel = $tester->loadModel('mail');
|
||||
$mailModel->setCC(array(), array());
|
||||
r(isset($mails['admin']->sended)) && p() && e('0'); //不传入参数,检查admin账号的sended字段
|
||||
// 步骤1:测试空ccList数组情况
|
||||
$emails = array();
|
||||
r($mailTest->setCCTest(array(), $emails)) && p() && e(0);
|
||||
|
||||
$mailModel->setCC(array('admin'), array());
|
||||
r(isset($mails['admin']->sended)) && p() && e('0'); //传入ccList参数,检查admin账号的sended字段
|
||||
// 步骤2:测试有效ccList和emails情况
|
||||
$emails = array();
|
||||
$emails['admin'] = new stdClass();
|
||||
$emails['admin']->email = 'admin@cnezsoft.com';
|
||||
$emails['admin']->realname = '管理员';
|
||||
r($mailTest->setCCTest(array('admin'), $emails)) && p('admin:sended') && e('1');
|
||||
|
||||
$mailModel->setCC(array('admin'), $mails);
|
||||
r($mails['admin']) && p('sended') && e('1'); //传入ccList和mails参数,检查admin账号的sended字段
|
||||
// 步骤3:测试emails中缺少对应账号情况
|
||||
$emails = array();
|
||||
$emails['user1'] = new stdClass();
|
||||
$emails['user1']->email = 'user1@cnezsoft.com';
|
||||
$emails['user1']->realname = '用户1';
|
||||
r($mailTest->setCCTest(array('admin'), $emails)) && p('user1:sended') && e('~~');
|
||||
|
||||
// 步骤4:测试无效邮箱格式情况
|
||||
$emails = array();
|
||||
$emails['admin'] = new stdClass();
|
||||
$emails['admin']->email = 'invalid-email';
|
||||
$emails['admin']->realname = '管理员';
|
||||
r($mailTest->setCCTest(array('admin'), $emails)) && p('admin:sended') && e('~~');
|
||||
|
||||
// 步骤5:测试已发送标记情况
|
||||
$emails = array();
|
||||
$emails['admin'] = new stdClass();
|
||||
$emails['admin']->email = 'admin@cnezsoft.com';
|
||||
$emails['admin']->realname = '管理员';
|
||||
$emails['admin']->sended = true;
|
||||
r($mailTest->setCCTest(array('admin'), $emails)) && p('admin:sended') && e('1');
|
||||
Reference in New Issue
Block a user