Files
2025-11-14 13:05:25 +08:00

61 lines
1.8 KiB
PHP
Executable File

#!/usr/bin/env php
<?php
/**
title=测试 userModel::su();
timeout=0
cid=19656
- 执行userTest模块的suTest方法 属性result @1
- 执行userTest模块的suTest方法 第currentUser条的account属性 @admin
- 执行userTest模块的suTest方法 第currentUser条的account属性 @manager
- 执行userTest模块的suTest方法 第currentUser条的account属性 @admin
- 执行$error属性message @No admin users.
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/user.unittest.class.php';
$userTable = zenData('user');
$userTable->id->range('1-5');
$userTable->account->range('admin,user1,user2,manager,developer');
$userTable->realname->range('管理员,用户1,用户2,经理,开发者');
$userTable->password->range('123456{5}');
$userTable->deleted->range('0{5}');
$userTable->gen(5);
$companyTable = zenData('company');
$companyTable->id->range('1');
$companyTable->name->range('测试公司');
$companyTable->admins->range('admin,user1,user2');
$companyTable->gen(1);
su('user1');
$userTest = new userTest();
r($userTest->suTest()) && p('result') && e('1');
r($userTest->suTest()) && p('currentUser:account') && e('admin');
$userTest->objectModel->dao->update(TABLE_COMPANY)->set('admins')->eq('manager,developer,user1')->exec();
r($userTest->suTest()) && p('currentUser:account') && e('manager');
$userTest->objectModel->dao->update(TABLE_COMPANY)->set('admins')->eq(',admin,user1,')->exec();
r($userTest->suTest()) && p('currentUser:account') && e('admin');
$userTest->objectModel->dao->update(TABLE_COMPANY)->set('admins')->eq('')->exec();
try
{
$userTest->suTest();
$error = new stdClass();
$error->message = 'Test failed';
}
catch(EndResponseException $e)
{
$error = new stdClass();
$error->message = $e->getContent();
}
r($error) && p('message') && e('No admin users.');