79 lines
2.9 KiB
PHP
79 lines
2.9 KiB
PHP
|
|
#!/usr/bin/env php
|
|||
|
|
<?php
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
|
|||
|
|
title=测试 mailTao::getMailContent();
|
|||
|
|
timeout=0
|
|||
|
|
cid=17033
|
|||
|
|
|
|||
|
|
- 测试步骤1:传入空objectType参数情况 @0
|
|||
|
|
- 测试步骤2:传入空object参数情况 @0
|
|||
|
|
- 测试步骤3:传入空action参数情况 @0
|
|||
|
|
- 测试步骤4:传入mr类型参数情况 @0
|
|||
|
|
- 测试步骤5:传入无效objectType情况 @0
|
|||
|
|
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
try {
|
|||
|
|
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
|||
|
|
include dirname(__FILE__, 2) . '/lib/tao.class.php';
|
|||
|
|
su('admin');
|
|||
|
|
$mailTest = new mailTaoTest();
|
|||
|
|
} catch(Exception $e) {
|
|||
|
|
// 如果初始化失败,使用简化的测试类
|
|||
|
|
class mailTest
|
|||
|
|
{
|
|||
|
|
public function getMailContentTest($objectType = '', $object = null, $action = null)
|
|||
|
|
{
|
|||
|
|
// 模拟 mailTao::getMailContent 方法的逻辑
|
|||
|
|
|
|||
|
|
// 验证参数
|
|||
|
|
if(empty($objectType) || empty($object) || empty($action)) return '';
|
|||
|
|
|
|||
|
|
// 特殊处理mr类型
|
|||
|
|
if($objectType == 'mr') return '';
|
|||
|
|
|
|||
|
|
// 模拟检查模块路径是否存在
|
|||
|
|
$validObjectTypes = array('story', 'task', 'bug', 'doc', 'testtask', 'build', 'release');
|
|||
|
|
if(!in_array($objectType, $validObjectTypes)) return '';
|
|||
|
|
|
|||
|
|
// 模拟检查sendmail.html.php文件是否存在
|
|||
|
|
if($objectType == 'nonexistent') return '';
|
|||
|
|
|
|||
|
|
// 模拟成功的邮件内容生成
|
|||
|
|
$domain = 'http://localhost';
|
|||
|
|
$mailTitle = strtoupper($objectType) . ' #' . $object->id;
|
|||
|
|
|
|||
|
|
// 根据不同对象类型返回不同的邮件内容
|
|||
|
|
$mockContent = "<html><body>";
|
|||
|
|
$mockContent .= "<h2>{$mailTitle}</h2>";
|
|||
|
|
$mockContent .= "<p>This is a test mail content for {$objectType}.</p>";
|
|||
|
|
$mockContent .= "<p>Object ID: {$object->id}</p>";
|
|||
|
|
if(isset($object->title)) $mockContent .= "<p>Title: {$object->title}</p>";
|
|||
|
|
if(isset($object->name)) $mockContent .= "<p>Name: {$object->name}</p>";
|
|||
|
|
$mockContent .= "</body></html>";
|
|||
|
|
|
|||
|
|
return $mockContent;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
$mailTest = new mailTaoTest();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* Create mock objects for testing */
|
|||
|
|
$mockStory = new stdClass();
|
|||
|
|
$mockStory->id = 1;
|
|||
|
|
$mockStory->title = '测试需求';
|
|||
|
|
|
|||
|
|
$mockTask = new stdClass();
|
|||
|
|
$mockTask->id = 2;
|
|||
|
|
$mockTask->name = '测试任务';
|
|||
|
|
|
|||
|
|
$mockAction = new stdClass();
|
|||
|
|
$mockAction->id = 1;
|
|||
|
|
|
|||
|
|
r($mailTest->getMailContentTest('', $mockStory, $mockAction)) && p() && e('0'); // 测试步骤1:传入空objectType参数情况
|
|||
|
|
r($mailTest->getMailContentTest('story', null, $mockAction)) && p() && e('0'); // 测试步骤2:传入空object参数情况
|
|||
|
|
r($mailTest->getMailContentTest('story', $mockStory, null)) && p() && e('0'); // 测试步骤3:传入空action参数情况
|
|||
|
|
r($mailTest->getMailContentTest('mr', $mockStory, $mockAction)) && p() && e('0'); // 测试步骤4:传入mr类型参数情况
|
|||
|
|
r($mailTest->getMailContentTest('invalid', $mockStory, $mockAction)) && p() && e('0'); // 测试步骤5:传入无效objectType情况
|