summaryrefslogtreecommitdiff
path: root/spec/frontend/helpers/local_storage_helper_spec.js
blob: 5d9961e7631c148fe6e03ed7727ef65f9e28adca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import { useLocalStorageSpy } from './local_storage_helper';

describe('block before helper is installed', () => {
  it('should leave original localStorage intact', () => {
    expect(localStorage.getItem).toEqual(expect.any(Function));
    expect(jest.isMockFunction(localStorage.getItem)).toBe(false);
  });
});

describe('localStorage helper', () => {
  useLocalStorageSpy();

  it('mocks localStorage but works exactly like original localStorage', () => {
    localStorage.setItem('test', 'testing');
    localStorage.setItem('test2', 'testing');

    expect(localStorage.getItem('test')).toBe('testing');

    localStorage.removeItem('test', 'testing');

    expect(localStorage.getItem('test')).toBe(null);
    expect(localStorage.getItem('test2')).toBe('testing');

    localStorage.clear();

    expect(localStorage.getItem('test2')).toBe(null);
  });
});