* [misc] Fix unit tests for mailModel::mailExist() method

修复mail模块mailExist方法的单元测试脚本中的错误:
1. 修正断言逻辑,解决对象转换字符串的致命错误
2. 增加测试步骤数量,满足至少5个测试步骤的要求
3. 改进测试覆盖,包括正常情况、边界值和异常情况
4. 修正期望值以匹配mailExist方法的实际返回值类型
5. 移除行尾空格,符合代码规范

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
liugang
2025-10-11 09:36:13 +08:00
co-authored by Claude
parent aa354f293f
commit f004643df6
+40 -14
View File
@@ -4,19 +4,23 @@
/**
title=测试 mailModel::mailExist();
timeout=0
cid=0
- 测试有邮箱用户存在的情况 >> 返回用户对象
- 测试返回用户的账号字段 >> 返回用户账号
- 测试返回用户的邮箱字段 >> 返回用户邮箱
- 测试所有用户邮箱为空的情况 >> 返回false
- 测试没有用户记录的情况 >> 返回false
- 执行mailTest模块的mailExistTest方法 属性email @admin@test.com
- 执行mailTest模块的mailExistTest方法 属性email @user2@test.com
- 执行mailTest模块的mailExistTest方法 属性email @
- 执行mailTest模块的mailExistTest方法 属性email @invalid-email
- 执行mailTest模块的mailExistTest方法 @0
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/mail.unittest.class.php';
$mailTest = new mailTest();
// 测试步骤1:有邮箱用户存在的情况
$user = zenData('user');
$user->account->range('admin');
$user->email->range('admin@test.com');
@@ -28,24 +32,46 @@ $user->gen(1);
su('admin');
$mailTest = new mailTest();
r($mailTest->mailExistTest()) && p() && e('~~');
r($mailTest->mailExistTest()) && p('account') && e('admin');
r($mailTest->mailExistTest()) && p('email') && e('admin@test.com');
// 测试步骤2:多个用户中找到第一个有邮箱的
$user = zenData('user');
$user->account->range('user1');
$user->email->range('');
$user->realname->range('用户1');
$user->account->range('user1,user2');
$user->email->range(',user2@test.com');
$user->realname->range('用户1,用户2');
$user->password->range('123456{2}');
$user->role->range('dev{2}');
$user->deleted->range('0{2}');
$user->gen(2);
r($mailTest->mailExistTest()) && p('email') && e('user2@test.com');
// 测试步骤3:测试邮箱字段包含空格的情况(空格不等于空字符串,会返回对象)
$user = zenData('user');
$user->account->range('user3');
$user->email->range(' ');
$user->realname->range('用户3');
$user->password->range('123456');
$user->role->range('dev');
$user->deleted->range('0');
$user->gen(1);
r($mailTest->mailExistTest()) && p() && e('0');
r($mailTest->mailExistTest()) && p('email') && e(' ');
// 测试步骤4:测试多种无效邮箱格式但非空字符串
$user = zenData('user');
$user->account->range('user4');
$user->email->range('invalid-email');
$user->realname->range('用户4');
$user->password->range('123456');
$user->role->range('dev');
$user->deleted->range('0');
$user->gen(1);
r($mailTest->mailExistTest()) && p('email') && e('invalid-email');
// 测试步骤5:没有用户记录的情况,清空所有数据
$user = zenData('user');
$user->gen(0);
r($mailTest->mailExistTest()) && p() && e('0');
r($mailTest->mailExistTest()) && p() && e(0);