-
Notifications
You must be signed in to change notification settings - Fork 51
/
Copy pathstorage-provider-local.test.ts
34 lines (27 loc) · 1.34 KB
/
storage-provider-local.test.ts
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
29
30
31
32
33
34
import LocalStorageProvider from './storage-provider-local';
describe('LocalStorageProvider', () => {
it('should store and retrieve arbitrary values by key', async () => {
const store = new LocalStorageProvider();
await store.save('key1', 'value1');
await store.save('key2', { value2: 'true' });
await store.save('key3', ['value3']);
await store.save('key4', true);
expect(await store.get('key1')).toBe('value1');
expect(await store.get('key2')).toMatchObject({ value2: 'true' });
expect(await store.get('key3')).toMatchObject(['value3']);
expect(await store.get('key4')).toBe(true);
});
it('should support custom storage key', async () => {
const store1 = new LocalStorageProvider('custom-storage-key');
const store2 = new LocalStorageProvider('custom-storage-key');
const store3 = new LocalStorageProvider('another-custom-storage-key');
await store1.save('key1', 'value1');
expect(await store1.get('key1')).toBe('value1');
expect(await store2.get('key1')).toBe('value1');
expect(await store3.get('key1')).toBe(undefined);
});
it('should return undefined for empty value', async () => {
const store = new LocalStorageProvider();
expect(await store.get('notDefinedKey')).toBe(undefined);
});
});