UNPKG

bixi

Version:

企业级中后台前端解决方案

62 lines (59 loc) 2.18 kB
import { JWTTokenModel } from './jwt.model'; describe('auth: jwt.model', () => { const model = new JWTTokenModel(); beforeEach(() => { // from: https://jwt.io/ model.token = `eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1OTg1NDEzOTYsImlhdCI6MTU5ODUxMTM5NiwibmJmIjoxNTk4NTExMzk2LCJqdGkiOiIyOWIzNzJmZC0yMDRiLTRlODQtOTEzZC1jYjFmZjVlYTA2MGUiLCJpZGVudGl0eSI6ImFkbWluIiwiZnJlc2giOmZhbHNlLCJ0eXBlIjoiYWNjZXNzIiwidXNlcl9jbGFpbXMiOnsidXNlcm5hbWUiOiJhZG1pbiIsIm5pY2tuYW1lIjoiXHU3YmExXHU3NDA2XHU1NDU4Iiwic3RhdHVzIjoxLCJ1c2VyX2lkIjoxLCJyb2xlX2lkcyI6WzFdLCJyb2xlX25hbWVfbGlzdCI6WyJcdTdiYTFcdTc0MDZcdTU0NTgiXX19.VIJnS_lzRWd9t03z6wyuZ1xJZvxTCutfnEE21R_F_Oc`; }); const payloadDATA = { name: 'datagrand', user_claims: { username: 'admin' } }; describe('#payload', () => { it('should be decoded', () => { const payload = model.payload; console.log('payload', payload); expect(payload.user_claims.username).toBe(payloadDATA.user_claims.username); }); it('should be throw error when token is null or undefined', () => { expect(() => { model.token = null; const payload = model.payload; console.log(payload); }).toThrowError(); expect(() => { model.token = undefined; const payload = model.payload; console.log(payload); }).toThrowError(); }); it('should be throw error when invalid token length', () => { expect(() => { model.token = `a`; const payload = model.payload; console.log(payload); }).toThrowError(); expect(() => { model.token = `a.a.a`; const payload = model.payload; console.log(payload); }).toThrowError(); }); it('should be throw error when invalid token', () => { expect(() => { model.token = `a.aa.a`; const payload = model.payload; console.log(payload); }).toThrowError(); }); it(`should be throw error when can't decode the token`, () => { expect(() => { model.token = `a.aaa.a`; const payload = model.payload; console.log(payload); }).toThrowError(); }); }); });