UNPKG

bixi

Version:

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

57 lines (50 loc) 1.65 kB
import { ITokenModel } from '../token/interface'; import { CookieStorageStore } from './cookie-storage.service'; describe('auth: cookie-storage', () => { const store = new CookieStorageStore(); const KEY = 'token'; const VALUE: ITokenModel = { token: 'token data' } as ITokenModel; beforeEach(() => { // tslint:disable-next-line:no-any const data: { [key: string]: any } = {}; // tslint:disable-next-line:no-any (window as any).Cookies = { set: jasmine.createSpy('set').and.callFake((key: string, value: string) => (data[key] = value as string)), get: jasmine.createSpy('get').and.callFake((key: string) => data[key] || null), remove: jasmine.createSpy('remove').and.callFake((key: string) => { delete data[key]; }) }; }); it('should be never return null', () => { store.set(KEY, null); const ret = store.get(KEY); expect(ret).not.toBeNull(); }); describe('[property]', () => { it('#get', () => { store.set(KEY, VALUE); const ret = store.get(KEY); expect(ret).not.toBeNull(); expect(ret.token).toBe(VALUE.token); const invalidRet = store.get('asdf'); expect(invalidRet).not.toBeNull(); expect(invalidRet.token).toBeUndefined(); }); it('#set', () => { store.set(KEY, VALUE); const ret = store.get(KEY); expect(ret).not.toBeNull(); expect(ret.token).toBe(VALUE.token); }); it('#remove', () => { store.set(KEY, VALUE); store.remove(KEY); const ret = store.get(KEY); expect(ret).not.toBeNull(); expect(ret.token).toBeUndefined(); }); }); });