UNPKG

js-web-tools

Version:
90 lines (87 loc) 2.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.JWT_REGEX = void 0; var _jwt = require("../jwt"); var JWT_REGEX = /^Bearer%20[A-Za-z0-9-_=]+\.[A-Za-z0-9-_=]+\.?[A-Za-z0-9-_.+/=]*$/; exports.JWT_REGEX = JWT_REGEX; describe('jwt', function () { it('should get a token using default config', function () { var jwt = new _jwt.JWT(); var token = jwt.sign({ username: 'Erick', role: 'admin' }); expect(JWT_REGEX.test(token)).toEqual(true); token = jwt.sign('{"username": "Erick", "role": "admin"}'); expect(JWT_REGEX.test(token)).toEqual(true); }); it('should get a not expire token', function () { var jwt = new _jwt.JWT(); var token = jwt.sign({ username: 'Erick' }); expect(jwt.isExpire()).toEqual(true); expect(jwt.isExpire(token)).toEqual(false); expect(jwt.verify(token)).toEqual(true); }); it('should get a expire token', function (done) { var jwt = new _jwt.JWT(null, { expiresIn: 1 }); var token = jwt.sign({ username: 'Erick' }); setTimeout(function () { expect(jwt.isExpire(token)).toEqual(true); expect(jwt.verify(token)).toEqual(false); done(); }, 2000); }); it('should not get a token', function () { var jwt = new _jwt.JWT(); var token = jwt.sign('{username: "Erick"}'); expect(token).toEqual(''); }); it('should get object values', function () { var jwt = new _jwt.JWT(); var token = jwt.sign({ username: 'Erick', role: 'admin', id: 10001 }); expect(jwt.get('username', token)).toEqual('Erick'); expect(jwt.get('role', token)).toEqual('admin'); expect(jwt.get('id', token)).toEqual(10001); expect(jwt.get(token)).toMatchObject({ username: 'Erick', role: 'admin', id: 10001 }); }); it('should get null if token is empty string', function () { var jwt = new _jwt.JWT(); expect(jwt.get()).toEqual(null); expect(jwt.get(undefined)).toEqual(null); expect(jwt.get(null)).toEqual(null); expect(jwt.get('')).toEqual(null); }); it('should decode token and get payload', function (done) { var jwt = new _jwt.JWT(); var token = jwt.sign({ username: 'Erick', role: 'admin' }, { expiresIn: '120' }); setTimeout(function () { expect(jwt.isExpire(token)).toEqual(true); expect(jwt.decode(token)).toMatchObject({ username: 'Erick', role: 'admin' }); done(); }, 300); }); });