mirror of
https://github.com/wassname/talk.git
synced 2026-07-02 01:38:35 +08:00
53 lines
1.5 KiB
JavaScript
53 lines
1.5 KiB
JavaScript
const app = require('../../../../app');
|
|
const chai = require('chai');
|
|
const expect = chai.expect;
|
|
|
|
chai.use(require('chai-http'));
|
|
|
|
const User = require('../../../../models/user');
|
|
|
|
describe('/api/v1/auth', () => {
|
|
describe('#get', () => {
|
|
it('should return nothing when no user is logged in', () => {
|
|
return chai.request(app)
|
|
.get('/api/v1/auth')
|
|
.then((res) => {
|
|
expect(res.status).to.be.equal(204);
|
|
expect(res.body).to.be.empty;
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
describe('/api/v1/auth/local', () => {
|
|
|
|
beforeEach(() => {
|
|
return User.createLocalUser('maria@gmail.com', 'password!', 'Maria');
|
|
});
|
|
|
|
describe('#post', () => {
|
|
it('should send back the user on a successful login', () => {
|
|
return chai.request(app)
|
|
.post('/api/v1/auth/local')
|
|
.send({email: 'maria@gmail.com', password: 'password!'})
|
|
.catch((res) => {
|
|
expect(res).to.have.status(200);
|
|
expect(res).to.be.json;
|
|
expect(res.body).to.have.property('user');
|
|
expect(res.body.user).to.have.property('displayName', 'Maria');
|
|
});
|
|
});
|
|
|
|
it('should not send back the user on a unsuccessful login', () => {
|
|
return chai.request(app)
|
|
.post('/api/v1/auth/local')
|
|
.send({email: 'maria@gmail.com', password: 'password!3'})
|
|
.catch((err) => {
|
|
expect(err).to.not.be.null;
|
|
expect(err.response).to.have.status(401);
|
|
expect(err.response.body).to.have.property('message', 'not authorized');
|
|
});
|
|
});
|
|
});
|
|
});
|