@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.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
/* eslint-disable @typescript-eslint/unbound-method */
const SessionStorage_1 = require("./SessionStorage");
describe('SessionStorage', () => {
beforeEach(() => {
window.sessionStorage.clear();
});
it('should get default value from storage when key is not found', () => {
const key = 'key';
{
const value = 'value';
expect(SessionStorage_1.SessionStorage.get(key, value)).toBe(value);
}
{
const value = 1;
expect(SessionStorage_1.SessionStorage.get(key, value)).toBe(value);
}
{
const value = { key: 'value' };
expect(SessionStorage_1.SessionStorage.get(key, value)).toBe(value);
}
});
it('should set value to storage', () => {
const key = 'key';
const value = 'value';
expect(window.sessionStorage.getItem(key)).toBe(null);
SessionStorage_1.SessionStorage.set(key, value);
expect(window.sessionStorage.getItem(key)).toBe(value);
});
it('should remove value from storage', () => {
const key = 'key';
const value = 'value';
SessionStorage_1.SessionStorage.set(key, value);
expect(window.sessionStorage.getItem(key)).toBe(value);
SessionStorage_1.SessionStorage.remove(key);
expect(window.sessionStorage.getItem(key)).toBe(null);
});
it('should remove items from storage', () => {
const key1 = 'key1';
const value1 = 'value1';
const key2 = 'key2';
const value2 = 'value2';
SessionStorage_1.SessionStorage.set(key1, value1);
SessionStorage_1.SessionStorage.set(key2, value2);
expect(window.sessionStorage.getItem(key1)).toBe(value1);
expect(window.sessionStorage.getItem(key2)).toBe(value2);
SessionStorage_1.SessionStorage.removeItems([key1, key2]);
expect(window.sessionStorage.getItem(key1)).toBe(null);
expect(window.sessionStorage.getItem(key2)).toBe(null);
});
it('should clear storage', () => {
const key1 = 'key1';
const value1 = 'value1';
const key2 = 'key2';
const value2 = 'value2';
SessionStorage_1.SessionStorage.set(key1, value1);
SessionStorage_1.SessionStorage.set(key2, value2);
expect(window.sessionStorage.getItem(key1)).toBe(value1);
expect(window.sessionStorage.getItem(key2)).toBe(value2);
SessionStorage_1.SessionStorage.clear();
expect(window.sessionStorage.getItem(key1)).toBe(null);
expect(window.sessionStorage.getItem(key2)).toBe(null);
});
});