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();