Files
jiapu/tests/auth-pages.test.js
T
2026-07-10 17:08:22 +08:00

92 lines
2.6 KiB
JavaScript

const assert = require('assert');
const AuthPages = require('../public/js/auth-pages.js');
function fakeHash(value) {
return `hashed:${value}`;
}
function run() {
assert.deepStrictEqual(AuthPages.buildLoginBody({
phone: '13800000000',
password: '123456',
validToken: 'ticket'
}, fakeHash), {
phone: '13800000000',
password: 'hashed:123456',
validToken: 'ticket'
});
assert.deepStrictEqual(AuthPages.buildSmsLoginBody({
phone: '13800000000',
smsCode: '6666',
validToken: 'ticket'
}), {
phone: '13800000000',
smsCode: '6666',
validToken: 'ticket'
});
assert.deepStrictEqual(AuthPages.buildRegisterBody({
phone: '13800000000',
password: '123456',
nickName: '汤小明',
validToken: 'ticket'
}, fakeHash), {
phone: '13800000000',
password: 'hashed:123456',
nickName: '汤小明',
validToken: 'ticket'
});
assert.deepStrictEqual(AuthPages.buildPasswordResetBody({
phone: '13800000000',
smsCode: '8888',
newPassword: 'abcdef',
validToken: 'ticket'
}, fakeHash), {
phone: '13800000000',
smsCode: '8888',
newPassword: 'hashed:abcdef',
validToken: 'ticket'
});
assert.strictEqual(AuthPages.getCaptchaScene('login'), 'WEB_H5_LOGIN');
assert.strictEqual(AuthPages.getCaptchaScene('sms-login'), 'WEB_H5_LOGIN');
assert.strictEqual(AuthPages.getCaptchaScene('register'), 'WEB_H5_REGISTER');
assert.strictEqual(AuthPages.getCaptchaScene('password-reset'), 'WEB_H5_FORGOT_PASSWORD');
assert.strictEqual(AuthPages.getSuccessUrl('register'), 'login.html');
assert.strictEqual(AuthPages.getSuccessUrl('password-reset'), 'login.html');
assert.strictEqual(AuthPages.validateAuthValues('login', {
phone: '',
password: '123456'
}), '请填写手机号');
assert.strictEqual(AuthPages.validateAuthValues('login', {
phone: '123',
password: '123456'
}), '请输入正确的手机号');
assert.strictEqual(AuthPages.validateAuthValues('register', {
phone: '13800000000',
password: '12345'
}), '密码至少需要 6 位');
assert.strictEqual(AuthPages.validateAuthValues('sms-login', {
phone: '13800000000',
smsCode: '12'
}), '请输入正确的短信验证码');
assert.strictEqual(AuthPages.validateAuthValues('password-reset', {
phone: '13800000000',
smsCode: '123456',
newPassword: 'abcdef',
confirmPassword: 'abcdeg'
}), '两次输入的新密码不一致');
assert.strictEqual(AuthPages.validateAuthValues('password-reset', {
phone: '13800000000',
smsCode: '123456',
newPassword: 'abcdef',
confirmPassword: 'abcdef'
}), '');
console.log('auth-pages tests passed');
}
run();