UNPKG

sails-base

Version:

sails1.0+扩展基础包,包含用户体系权限校验及model的attr,action的inputs入参提示语自定义功能

121 lines (106 loc) 3.06 kB
/** * @Filename register.test.js * @Description 注册测试 * @author kenchar (kenchar.lv@gmail.com) * @date 2019-07-23 */ const assert = require('power-assert'); const request = require('supertest'); const _ = require('lodash'); describe('#user.register()', () => { let agent; let modelVM; let actionDef; let actionVM; const failedStatusCode = 500; const reqPath = '/user/register'; before(async () => { modelVM = User.violationMessages; actionDef = await sails.helpers.getActionModelByPath(reqPath); actionVM = actionDef.violationMessages; agent = request.agent(sails.hooks.http.app); }); describe('#本地账号注册Success.', () => { it('本地邮箱账号注册Success.', done => { //do something request(sails.hooks.http.app) .post(reqPath) .send({ identifier: 'test1@seekow.com', password: 'test123456' }) .expect(200, done); }); it('本地用户名账号注册Success.', done => { //do something request(sails.hooks.http.app) .post(reqPath) .send({ identifier: 'jclv', password: 'test123456' }) .expect(200, done); }); }); describe('#本地账号注册Failed.', () => { it('邮箱地址已被使用.', done => { request(sails.hooks.http.app) .post(reqPath) .send({ identifier: 'test@seekow.com', password: 'test123456' }) .expect(failedStatusCode) .end((err, res) => { if (err) return done(err); //是否等于自定义的错误信息 assert.equal(modelVM.email.unique, res.body.message); done(); }); }); it('用户名已被使用.', done => { request(sails.hooks.http.app) .post(reqPath) .send({ identifier: 'test', password: 'test123456' }) .expect(failedStatusCode) .end((err, res) => { if (err) return done(err); //是否等于自定义的错误信息 assert.equal(modelVM.username.unique, res.body.message); done(); }); }); it('注册账号为空.', done => { request(sails.hooks.http.app) .post(reqPath) .send({ password: 'test123456' }) .expect(failedStatusCode) .end((err, res) => { if (err) return done(err); //是否等于自定义的错误信息 assert.equal(actionVM.identifier.required, res.body.message); done(); }); }); it('密码强度太低.', done => { request(sails.hooks.http.app) .post(reqPath) .send({ identifier: 'test2@seekow.com', password: 'test' }) .expect(failedStatusCode) .end((err, res) => { if (err) return done(err); //是否等于自定义的错误信息 assert.equal(actionVM.password.minLength, res.body.message); done(); }); }); }); });