MyCrypto/spec/utils/localStorage.spec.ts

39 lines
1.1 KiB
TypeScript

import LocalStorageMock from '../mocks/localStorage';
import {
loadState,
saveState,
loadStatePropertyOrEmptyObject,
REDUX_STATE
} from '../../common/utils/localStorage';
window.localStorage = new LocalStorageMock();
describe('saveState', () => {
it('should serialize and persist state to local storage under key: "REDUX_STATE"', () => {
const persistMe = {
foo: 'bar'
};
saveState(persistMe);
expect(JSON.parse(localStorage.getItem(REDUX_STATE))).toEqual(persistMe);
});
});
describe('loadStage', () => {
it('should return local storage under KEY: "REDUX_STATE"', () => {
const exValue = 'foo';
localStorage.setItem(REDUX_STATE, JSON.stringify(exValue));
expect(loadState()).toEqual(exValue);
});
});
describe('loadStatePropertyOrEmptyObject', () => {
it('should return property of object from local storage under KEY: "REDUX_STATE"', () => {
const serializeThis = {
one: 'foo',
two: 'bar'
};
saveState(serializeThis);
expect(loadStatePropertyOrEmptyObject('one')).toEqual(serializeThis.one);
});
});