salix/back/methods/vn-user/specs/validate-token.spec.js

44 lines
1.2 KiB
JavaScript

const {models} = require('vn-loopback/server/server');
describe('Validate Token', () => {
const startingTime = Date.now();
let ctx = null;
beforeAll(async() => {
const unAuthCtx = {
req: {
headers: {},
connection: {
remoteAddress: '127.0.0.1'
},
getLocale: () => 'en'
},
args: {}
};
let login = await models.VnUser.signIn(unAuthCtx, 'salesAssistant', 'nightmare');
let accessToken = await models.AccessToken.findById(login.token);
ctx = {req: {accessToken: accessToken}};
});
beforeEach(() => {
jasmine.clock().install();
jasmine.clock().mockDate(new Date(startingTime));
});
afterEach(() => {
jasmine.clock().uninstall();
});
it('Token is not expired', async() => {
const isValid = await models.VnUser.validateToken(ctx.req.accessToken);
expect(isValid).toBeTrue();
});
it('Token is expired', async() => {
jasmine.clock().mockDate(new Date(startingTime + 21600000));
const isValid = await models.VnUser.validateToken(ctx.req.accessToken);
expect(isValid).toBeFalse();
});
});