znt/module/user/test/model/checkneedmodifypassword.php

83 lines
4.8 KiB
PHP
Raw Permalink Normal View History

#!/usr/bin/env php
<?php
/**
title=测试 userModel->checkNeedModifyPassword();
cid=19587
- 首次登录修改密码功能关闭,首次登录无需修改密码。
- 属性account @user1
- 属性modifyPassword @~~
- 属性modifyPasswordReason @~~
- 首次登录修改密码功能开启,首次登录需要修改密码。
- 属性modifyPassword @1
- 属性modifyPasswordReason @modifyPasswordFirstLogin
- 首次登录修改密码功能开启,非首次登录无需修改密码。
- 属性modifyPassword @~~
- 属性modifyPasswordReason @~~
- 修改弱密码功能关闭,弱密码无需修改密码。
- 属性modifyPassword @~~
- 属性modifyPasswordReason @~~
- 修改弱密码功能开启,弱密码需要修改密码。
- 属性modifyPassword @1
- 属性modifyPasswordReason @weak
- 修改弱密码功能开启,强密码无需修改密码。
- 属性modifyPassword @~~
- 属性modifyPasswordReason @~~
- 密码强度检查功能设为 1,密码强度为 0,模块为 index方法为 index无需修改密码。
- 属性modifyPassword @~~
- 属性modifyPasswordReason @~~
- 密码强度检查功能设为 1,密码强度为 0,模块为 user方法为 index无需修改密码。
- 属性modifyPassword @~~
- 属性modifyPasswordReason @~~
- 密码强度检查功能设为 1,密码强度为 0,模块为 user方法为 login需要修改密码。
- 属性modifyPassword @1
- 属性modifyPasswordReason @passwordStrengthWeak
- 密码强度检查功能设为 1,密码强度为 1,模块为 user方法为 login无需修改密码。
- 属性modifyPassword @~~
- 属性modifyPasswordReason @~~
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/model.class.php';
$userTest = new userModelTest();
global $app, $config;
$config->safe = new stdclass();
$user1 = (object)array('account' => 'user1', 'visits' => 0);
$user2 = (object)array('account' => 'user1', 'visits' => 1);
$user3 = (object)array('account' => 'user1', 'visits' => 1, 'phone' => '', 'mobile' => '', 'birthday' => '', 'password' => '123456');;
$user4 = (object)array('account' => 'user1', 'visits' => 1, 'phone' => '', 'mobile' => '', 'birthday' => '', 'password' => 'Admin123@');;
$config->safe->modifyPasswordFirstLogin = 0;
$config->safe->changeWeak = 0;
$config->safe->mode = 0;
r($userTest->checkNeedModifyPasswordTest(clone($user1), 0)) && p('account,modifyPassword,modifyPasswordReason') && e('user1,~~,~~'); // 首次登录修改密码功能关闭,首次登录无需修改密码。
$config->safe->modifyPasswordFirstLogin = 1;
r($userTest->checkNeedModifyPasswordTest(clone($user1), 0)) && p('modifyPassword,modifyPasswordReason') && e('1,modifyPasswordFirstLogin'); // 首次登录修改密码功能开启,首次登录需要修改密码。
r($userTest->checkNeedModifyPasswordTest(clone($user2), 0)) && p('modifyPassword,modifyPasswordReason') && e('~~,~~'); // 首次登录修改密码功能开启,非首次登录无需修改密码。
r($userTest->checkNeedModifyPasswordTest(clone($user3), 0)) && p('modifyPassword,modifyPasswordReason') && e('~~,~~'); // 修改弱密码功能关闭,弱密码无需修改密码。
unset($config->safe->weak); // 重置弱密码设置,防止数据库中的设置影响单元测试。
$config->safe->changeWeak = 1;
r($userTest->checkNeedModifyPasswordTest(clone($user3), 0)) && p('modifyPassword,modifyPasswordReason') && e('1,weak'); // 修改弱密码功能开启,弱密码需要修改密码。
r($userTest->checkNeedModifyPasswordTest(clone($user4), 0)) && p('modifyPassword,modifyPasswordReason') && e('~~,~~'); // 修改弱密码功能开启,强密码无需修改密码。
$config->safe->mode = 1;
$app->setModuleName('index');
$app->setMethodName('index');
r($userTest->checkNeedModifyPasswordTest(clone($user4), 0)) && p('modifyPassword,modifyPasswordReason') && e('~~,~~'); // 密码强度检查功能设为 1密码强度为 0模块为 index方法为 index无需修改密码。
$app->setModuleName('user');
r($userTest->checkNeedModifyPasswordTest(clone($user4), 0)) && p('modifyPassword,modifyPasswordReason') && e('~~,~~'); // 密码强度检查功能设为 1密码强度为 0模块为 user方法为 index无需修改密码。
$app->setMethodName('login');
r($userTest->checkNeedModifyPasswordTest(clone($user4), 0)) && p('modifyPassword,modifyPasswordReason') && e('1,passwordStrengthWeak'); // 密码强度检查功能设为 1密码强度为 0模块为 user方法为 login需要修改密码。
r($userTest->checkNeedModifyPasswordTest(clone($user4), 1)) && p('modifyPassword,modifyPasswordReason') && e('~~,~~'); // 密码强度检查功能设为 1密码强度为 1模块为 user方法为 login无需修改密码。