| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- // eslint-disable-next-line import/no-unresolved
- import 'jest-localstorage-mock';
- import { LocalStorageManager } from '~/service/localstorage-manager';
- let localStorageManager = null;
- beforeEach(() => {
- localStorageManager = LocalStorageManager.getInstance();
- // == init jest-localstorage-mock
- // reset the storage
- localStorage.clear();
- sessionStorage.clear();
- // set preset data
- sessionStorage.setItem('localstorage-manager-test', JSON.stringify({ foo: 'bar' }));
- // reset mocks
- localStorage.setItem.mockClear();
- sessionStorage.setItem.mockClear();
- });
- describe('LocalStorageManager', () => {
- test('.getInstance() returns the same instance', () => {
- expect(LocalStorageManager.getInstance()).toBe(localStorageManager);
- });
- test('.retrieveFromSessionStorage() with unknown namespace returns the empty object', () => {
- const item = localStorageManager.retrieveFromSessionStorage('unknown namespace');
- expect(item).toEqual({});
- });
- test('.retrieveFromSessionStorage() without key returns the preset data', () => {
- const item = localStorageManager.retrieveFromSessionStorage('localstorage-manager-test');
- expect(item).toEqual({ foo: 'bar' });
- });
- test('.retrieveFromSessionStorage() with key returns the preset data', () => {
- const item = localStorageManager.retrieveFromSessionStorage('localstorage-manager-test', 'foo');
- expect(item).toBe('bar');
- });
- test('.saveToSessionStorage() without key works fine', () => {
- localStorageManager.saveToSessionStorage(
- 'localstorage-manager-test',
- { foo: { qux: 'quux' } },
- );
- expect(sessionStorage.__STORE__.length).toBe(1);
- expect(sessionStorage.setItem)
- .toHaveBeenLastCalledWith(
- 'localstorage-manager-test',
- JSON.stringify({ foo: { qux: 'quux' } }),
- );
- });
- test('.saveToSessionStorage() with key works fine', () => {
- localStorageManager.saveToSessionStorage(
- 'localstorage-manager-test',
- 'baz',
- { qux: 'quux' },
- );
- expect(sessionStorage.__STORE__.length).toBe(1);
- expect(sessionStorage.setItem)
- .toHaveBeenLastCalledWith(
- 'localstorage-manager-test',
- JSON.stringify({ foo: 'bar', baz: { qux: 'quux' } }),
- );
- });
- test('.saveToSessionStorage() with unknown key works fine', () => {
- localStorageManager.saveToSessionStorage(
- 'localstorage-manager-test-unknown-key',
- 'baz',
- { qux: 'quux' },
- );
- expect(sessionStorage.__STORE__.length).toBe(2);
- expect(sessionStorage.setItem)
- .toHaveBeenLastCalledWith(
- 'localstorage-manager-test-unknown-key',
- JSON.stringify({ baz: { qux: 'quux' } }),
- );
- });
- });
|