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.

66 lines (65 loc) 2.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /* eslint-disable @typescript-eslint/unbound-method */ const LocalStorage_1 = require("./LocalStorage"); describe('LocalStorage', () => { beforeEach(() => { window.localStorage.clear(); }); it('should get default value from storage when key is not found', () => { const key = 'key'; { const value = 'value'; expect(LocalStorage_1.LocalStorage.get(key, value)).toBe(value); } { const value = 1; expect(LocalStorage_1.LocalStorage.get(key, value)).toBe(value); } { const value = { key: 'value' }; expect(LocalStorage_1.LocalStorage.get(key, value)).toBe(value); } }); it('should set value to storage', () => { const key = 'key'; const value = 'value'; expect(window.localStorage.getItem(key)).toBe(null); LocalStorage_1.LocalStorage.set(key, value); expect(window.localStorage.getItem(key)).toBe(value); }); it('should remove value from storage', () => { const key = 'key'; const value = 'value'; LocalStorage_1.LocalStorage.set(key, value); expect(window.localStorage.getItem(key)).toBe(value); LocalStorage_1.LocalStorage.remove(key); expect(window.localStorage.getItem(key)).toBe(null); }); it('should remove items from storage', () => { const key1 = 'key1'; const value1 = 'value1'; const key2 = 'key2'; const value2 = 'value2'; LocalStorage_1.LocalStorage.set(key1, value1); LocalStorage_1.LocalStorage.set(key2, value2); expect(window.localStorage.getItem(key1)).toBe(value1); expect(window.localStorage.getItem(key2)).toBe(value2); LocalStorage_1.LocalStorage.removeItems([key1, key2]); expect(window.localStorage.getItem(key1)).toBe(null); expect(window.localStorage.getItem(key2)).toBe(null); }); it('should clear storage', () => { const key1 = 'key1'; const value1 = 'value1'; const key2 = 'key2'; const value2 = 'value2'; LocalStorage_1.LocalStorage.set(key1, value1); LocalStorage_1.LocalStorage.set(key2, value2); expect(window.localStorage.getItem(key1)).toBe(value1); expect(window.localStorage.getItem(key2)).toBe(value2); LocalStorage_1.LocalStorage.clear(); expect(window.localStorage.getItem(key1)).toBe(null); expect(window.localStorage.getItem(key2)).toBe(null); }); });