znt/module/sso/test/model/getbindusers.php

64 lines
2.5 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=测试 ssoModel::getBindUsers();
timeout=0
cid=18405
- 步骤1正常情况查询有ranzhi绑定的用户期望返回4条记录 @4
- 步骤2验证ranzhi1对应user1的映射关系属性ranzhi1 @user1
- 步骤3验证ranzhi3对应user3的映射关系属性ranzhi3 @user3
- 步骤4测试无ranzhi绑定用户情况期望返回空数组 @0
- 步骤5测试已删除用户不被返回期望返回3条记录排除已删除的user4和user5 @3
*/
// 1. 导入依赖(路径固定,不可修改)
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
// 2. zendata数据准备根据需要配置
$user = zenData('user');
$user->id->range('1-10');
$user->account->range('admin,user1,user2,user3,user4,user5,user6,user7,user8,user9');
$user->password->range('123456{10}');
$user->realname->range('管理员,用户1,用户2,用户3,用户4,用户5,用户6,用户7,用户8,用户9');
$user->ranzhi->range('``,ranzhi1,ranzhi2,ranzhi3,ranzhi4,``,``,``,``,``');
$user->deleted->range('0{8},1{2}');
$user->gen(10);
// 3. 用户登录(选择合适角色)
su('admin');
// 4. 创建测试实例(变量名与模块名一致)
$ssoTest = new ssoModelTest();
// 5. 🔴 强制要求必须包含至少5个测试步骤
$result1 = $ssoTest->getBindUsersTest();
r(count($result1)) && p() && e('4'); // 步骤1正常情况查询有ranzhi绑定的用户期望返回4条记录
r($result1) && p('ranzhi1') && e('user1'); // 步骤2验证ranzhi1对应user1的映射关系
r($result1) && p('ranzhi3') && e('user3'); // 步骤3验证ranzhi3对应user3的映射关系
// 测试所有用户都没有ranzhi绑定的情况
$user = zenData('user');
$user->id->range('1-5');
$user->account->range('admin,user1,user2,user3,user4');
$user->ranzhi->range('``{5}');
$user->deleted->range('0{5}');
$user->gen(5);
$result2 = $ssoTest->getBindUsersTest();
r(count($result2)) && p() && e('0'); // 步骤4测试无ranzhi绑定用户情况期望返回空数组
// 测试包含已删除用户的情况
$user = zenData('user');
$user->id->range('1-6');
$user->account->range('admin,user1,user2,user3,user4,user5');
$user->ranzhi->range('``,ranzhi1,ranzhi2,ranzhi3,ranzhi4,ranzhi5');
$user->deleted->range('0{4},1{2}');
$user->gen(6);
$result3 = $ssoTest->getBindUsersTest();
r(count($result3)) && p() && e('3'); // 步骤5测试已删除用户不被返回期望返回3条记录排除已删除的user4和user5