|
|
@@ -1,86 +0,0 @@
|
|
|
-// 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' } }),
|
|
|
- );
|
|
|
- });
|
|
|
-
|
|
|
-});
|