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

76 lines
2.7 KiB
PHP
Raw Permalink Normal View History

#!/usr/bin/env php
<?php
/**
title=测试 ssoModel::createUser();
timeout=0
cid=18403
- 步骤1用户已存在属性data @该用户名已经存在,请更换用户名,或直接绑定到该用户。
- 步骤2正常创建属性status @success
- 步骤3无效性别属性status @fail
- 步骤4空账号属性status @success
- 步骤5创建另一个用户属性status @success
*/
// 1. 导入依赖
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
// 2. zendata数据准备
zendata('user')->loadYaml('user_createuser', false, 2)->gen(5);
// 3. 用户登录
su('admin');
// 4. 创建测试实例
$ssoTest = new ssoModelTest();
// 5. 测试步骤执行
// 测试步骤1用户已存在的情况
$existingUser = new stdclass();
$existingUser->account = 'admin';
$existingUser->realname = '绑定用户1';
$existingUser->email = 'user@test.com';
$existingUser->gender = 'm';
$existingUser->ranzhi = 'bindUser1';
r($ssoTest->createTest($existingUser)) && p('data') && e('该用户名已经存在,请更换用户名,或直接绑定到该用户。'); // 步骤1用户已存在
// 测试步骤2正常创建新用户的情况
$newUser = new stdclass();
$newUser->account = 'newuser1';
$newUser->realname = '新用户1';
$newUser->email = 'newuser1@test.com';
$newUser->gender = 'f';
$newUser->ranzhi = 'ranzhiUser1';
r($ssoTest->createTest($newUser)) && p('status') && e('success'); // 步骤2正常创建
// 测试步骤3无效性别字段的情况
$invalidGenderUser = new stdclass();
$invalidGenderUser->account = 'newuser2';
$invalidGenderUser->realname = '新用户2';
$invalidGenderUser->email = 'newuser2@test.com';
$invalidGenderUser->gender = 'invalid';
$invalidGenderUser->ranzhi = 'ranzhiUser2';
r($ssoTest->createTest($invalidGenderUser)) && p('status') && e('fail'); // 步骤3无效性别
// 测试步骤4账号为空的边界值测试期望成功因为数据库允许空账号
$emptyAccountUser = new stdclass();
$emptyAccountUser->account = '';
$emptyAccountUser->realname = '测试用户';
$emptyAccountUser->email = 'test@test.com';
$emptyAccountUser->gender = 'm';
$emptyAccountUser->ranzhi = 'ranzhiUser3';
r($ssoTest->createTest($emptyAccountUser)) && p('status') && e('success'); // 步骤4空账号
// 测试步骤5正常创建另一个用户的情况验证多用户创建
$anotherUser = new stdclass();
$anotherUser->account = 'newuser3';
$anotherUser->realname = '新用户3';
$anotherUser->email = 'newuser3@test.com';
$anotherUser->gender = 'f';
$anotherUser->ranzhi = 'ranzhiUser4';
r($ssoTest->createTest($anotherUser)) && p('status') && e('success'); // 步骤5创建另一个用户