Files
EasySoft-ZenTaoPMS/module/user/test/model/checkneedmodifypassword.php
2025-11-14 13:05:25 +08:00

83 lines
4.8 KiB
PHP
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=测试 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/user.unittest.class.php';
$userTest = new userTest();
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无需修改密码。