backend unit test for routes logout

This commit is contained in:
Carlos Jimenez 2018-01-29 21:20:04 +01:00
parent 09f244bc62
commit 7c36daf496
3 changed files with 19 additions and 4 deletions

View File

@ -85,7 +85,8 @@ module.exports = function(app) {
}); });
app.get('/logout', function(req, res) { app.get('/logout', function(req, res) {
User.logout(req.accessToken.id, User.logout(req.accessToken.id, () => {
() => res.redirect('/')); res.redirect('/');
});
}); });
}; };

View File

@ -2,14 +2,18 @@ import app from '../../../server/server';
import routes from '../routes'; import routes from '../routes';
describe('Auth routes', () => { describe('Auth routes', () => {
let User = app.models.User;
let loginFunction; let loginFunction;
let logoutFunction;
let res; let res;
let req; let req;
beforeEach(() => { beforeEach(() => {
spyOn(app, 'post'); spyOn(app, 'post');
spyOn(app, 'get').and.callThrough();
routes(app); routes(app);
loginFunction = app.post.calls.mostRecent().args[1]; loginFunction = app.post.calls.mostRecent().args[1];
logoutFunction = app.get.calls.argsFor(2)[1];
res = {}; res = {};
req = {body: {}}; req = {body: {}};
}); });
@ -46,11 +50,22 @@ describe('Auth routes', () => {
}; };
loginFunction(req, res); loginFunction(req, res);
}); });
it('should logout after login', done => {
spyOn(User, 'logout').and.callThrough();
req.accessToken = {id: 'testingTokenId'};
logoutFunction(req, res);
res.redirect = url => {
expect(User.logout).toHaveBeenCalledWith('testingTokenId', jasmine.any(Function));
expect(url).toBe('/');
done();
};
});
}); });
describe('when the user is incorrect', () => { describe('when the user is incorrect', () => {
it('should return a 401 unauthorized', done => { it('should return a 401 unauthorized', done => {
req.body.user = 'IDontExists'; req.body.user = 'IDontExist';
req.body.password = 'TotallyWrongPassword'; req.body.password = 'TotallyWrongPassword';
res.status = status => { res.status = status => {
expect(status).toBe(401); expect(status).toBe(401);

View File

@ -389,7 +389,6 @@ INSERT INTO `vn`.`client`(`id`,`name`,`fi`,`socialName`,`contact`,`street`,`city
(9, 'Bruce Banner', '16104829E', 'Hulk', 'Black widow', 'Somewhere in New York', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'BruceBanner@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 4, 0, 1), (9, 'Bruce Banner', '16104829E', 'Hulk', 'Black widow', 'Somewhere in New York', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'BruceBanner@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 4, 0, 1),
(10, 'Jessica Jones', '58282869H', 'Jessica Jones', 'Luke Cage', 'NYCC 2015 Poster', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'JessicaJones@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 4, 0, 1); (10, 'Jessica Jones', '58282869H', 'Jessica Jones', 'Luke Cage', 'NYCC 2015 Poster', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'JessicaJones@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 4, 0, 1);
INSERT INTO `salix`.`Address`(`id`, `consignee`, `street`, `city`, `postcode`, `provinceFk`, `phone`, `mobile`, `isEnabled`, `isDefaultAddress`, `clientFk`, `defaultAgencyFk`, `longitude`, `latitude`, `isEqualizated`) INSERT INTO `salix`.`Address`(`id`, `consignee`, `street`, `city`, `postcode`, `provinceFk`, `phone`, `mobile`, `isEnabled`, `isDefaultAddress`, `clientFk`, `defaultAgencyFk`, `longitude`, `latitude`, `isEqualizated`)
VALUES VALUES
(1, 'Bruce Wayne', 'The Bat cave', 'Silla', 46460, 1, NULL, NULL, 1, 1, 1, 2, NULL, NULL, 0), (1, 'Bruce Wayne', 'The Bat cave', 'Silla', 46460, 1, NULL, NULL, 1, 1, 1, 2, NULL, NULL, 0),