@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.
103 lines (102 loc) • 4.11 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const CookieStorage_1 = require("./CookieStorage");
describe('CookieStorage', () => {
beforeEach(() => {
CookieStorage_1.CookieStorage.clear();
});
it('should get cookie value from a string', () => {
{
const cookieString = 'key1=value; key2=value2';
const key = 'key1';
const value = 'value';
expect(CookieStorage_1.CookieStorage.getCookieValue(key, cookieString)).toBe(value);
}
{
const cookieString = 'key1=value; key2=value2';
const key = 'key2';
const value = 'value2';
expect(CookieStorage_1.CookieStorage.getCookieValue(key, cookieString)).toBe(value);
}
{
const cookieString = 'key1=value; key2=value2';
const key = 'key3';
expect(CookieStorage_1.CookieStorage.getCookieValue(key, cookieString)).toBeUndefined();
}
{
const cookieString = 'key1=; key2=value2';
const key = 'key1';
expect(CookieStorage_1.CookieStorage.getCookieValue(key, cookieString)).toBe('');
}
{
const cookieString = '';
const key = '';
const value = undefined;
expect(CookieStorage_1.CookieStorage.getCookieValue(key, cookieString)).toBe(value);
}
});
it('should get value from storage', () => {
const key = 'key';
{
const value = 'value';
expect(CookieStorage_1.CookieStorage.get(key, value)).toBe(value);
}
{
const value = 1;
expect(CookieStorage_1.CookieStorage.get(key, value)).toBe(value);
}
{
const value = { key: 'value' };
expect(CookieStorage_1.CookieStorage.get(key, value)).toBe(value);
}
});
it('should set value to storage', () => {
expect(document.cookie).toBe('');
{
const key = 'key';
const value = 'value';
CookieStorage_1.CookieStorage.set(key, value);
expect(CookieStorage_1.CookieStorage.get(key, '')).toBe(value);
}
{
const key = 'key';
const value = { key: 'value' };
CookieStorage_1.CookieStorage.set(key, value);
expect(CookieStorage_1.CookieStorage.get(key, '')).toStrictEqual(value);
}
});
it('should remove value from storage', () => {
const key = 'key';
const value = 'value';
CookieStorage_1.CookieStorage.set(key, value);
expect(CookieStorage_1.CookieStorage.get(key, '')).toBe(value);
CookieStorage_1.CookieStorage.remove(key);
expect(CookieStorage_1.CookieStorage.get(key, '')).toBe('');
});
it('should remove items from storage', () => {
const key1 = 'key1';
const value1 = 'value1';
const key2 = 'key2';
const value2 = 'value2';
CookieStorage_1.CookieStorage.set(key1, value1);
CookieStorage_1.CookieStorage.set(key2, value2);
expect(CookieStorage_1.CookieStorage.get(key1, '')).toBe(value1);
expect(CookieStorage_1.CookieStorage.get(key2, '')).toBe(value2);
CookieStorage_1.CookieStorage.removeItems([key1, key2]);
expect(CookieStorage_1.CookieStorage.get(key1, '')).toBe('');
expect(CookieStorage_1.CookieStorage.get(key2, '')).toBe('');
});
it('should clear storage', () => {
const key1 = 'key1';
const value1 = 'value1';
const key2 = 'key2';
const value2 = 'value2';
CookieStorage_1.CookieStorage.set(key1, value1);
CookieStorage_1.CookieStorage.set(key2, value2);
expect(CookieStorage_1.CookieStorage.get(key1, '')).toBe(value1);
expect(CookieStorage_1.CookieStorage.get(key2, '')).toBe(value2);
CookieStorage_1.CookieStorage.clear();
expect(CookieStorage_1.CookieStorage.get(key1, '')).toBe('');
expect(CookieStorage_1.CookieStorage.get(key2, '')).toBe('');
});
});