UNPKG

@mewters/smart-storage

Version:

A JavaScript/TypeScript library designed to simplify working with localStorage, sessionStorage, and cookies by offering automatic object conversion and consistent API.

55 lines (54 loc) 1.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /* eslint-disable @typescript-eslint/unbound-method */ const BaseStorage_1 = require("./BaseStorage"); describe('BaseStorage', () => { let baseStorage; let storage; beforeEach(() => { storage = { getItem: jest.fn(), setItem: jest.fn(), removeItem: jest.fn(), clear: jest.fn(), length: 0, key: jest.fn(), }; baseStorage = new BaseStorage_1.BaseStorage(storage); }); it('should get value from storage', () => { const key = 'key'; const value = 'value'; storage.getItem.mockReturnValue(value); expect(baseStorage.get(key, '')).toBe(value); expect(storage.getItem).toBeCalledWith(key); }); it('should set value to storage', () => { const key = 'key'; { const value = 'value'; baseStorage.set(key, value); expect(storage.setItem).toBeCalledWith(key, value); } { const value = { key: 'value' }; baseStorage.set(key, value); expect(storage.setItem).toBeCalledWith(key, JSON.stringify(value)); } }); it('should remove value from storage', () => { const key = 'key'; baseStorage.remove(key); expect(storage.removeItem).toBeCalledWith(key); }); it('should remove items from storage', () => { const keys = ['key1', 'key2']; baseStorage.removeItems(keys); expect(storage.removeItem).toBeCalledWith(keys[0]); expect(storage.removeItem).toBeCalledWith(keys[1]); }); it('should clear storage', () => { baseStorage.clear(); expect(storage.clear).toBeCalled(); }); });