@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
JavaScript
;
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);
});
});