diff --git a/back/methods/vn-user/specs/renew-token.spec.js b/back/methods/vn-user/specs/renew-token.spec.js new file mode 100644 index 0000000000..d87c6a30e1 --- /dev/null +++ b/back/methods/vn-user/specs/renew-token.spec.js @@ -0,0 +1,28 @@ +const {models} = require('vn-loopback/server/server'); + +describe('VnUser renewToken()', () => { + describe('when credentials are correct', () => { + it('should not do anything', async() => { + const login = await models.VnUser.signIn('employee', 'nightmare'); + const accessToken = await models.AccessToken.findById(login.token); + const ctx = {req: {accessToken: accessToken}}; + + const response = await models.VnUser.renewToken(ctx); + + expect(response.data.message).toBe('Token is active'); + }); + + it('should invalidate the current token and create a new one', async() => { + const login = await models.VnUser.signIn('employee', 'nightmare'); + const accessToken = await models.AccessToken.findById(login.token); + const ctx = {req: {accessToken: accessToken}}; + const sevenHoursBefore = new Date(Date.now() - (7 * 60 * 60 * 1000)); + ctx.req.accessToken.created = sevenHoursBefore; + + const renewToken = await models.VnUser.renewToken(ctx); + + expect(renewToken.token).toBeDefined(); + expect(renewToken.created).toBeDefined(); + }); + }); +}); diff --git a/front/salix/components/layout/index.spec.js b/front/salix/components/layout/index.spec.js index d43f9a3d33..97a6f7d711 100644 --- a/front/salix/components/layout/index.spec.js +++ b/front/salix/components/layout/index.spec.js @@ -74,7 +74,8 @@ describe('Component vnLayout', () => { created: new Date() }; localStorage.setItem('renewPeriod', 100); - controller.vnTokenCreated.created = new Date(Date.now() - (60 * 60 * 1000)); + const oneHourBefore = new Date(Date.now() - (60 * 60 * 1000)); + controller.vnTokenCreated.created = oneHourBefore; $httpBackend.expect('POST', `VnUsers/renewToken`).respond(response); controller.checkTokenValidity();