store.test.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import store from '../store';
  2. Object.assign(window, {
  3. localStorage: {
  4. removeItem(key) {
  5. delete window.localStorage[key];
  6. },
  7. },
  8. });
  9. describe('store', () => {
  10. it('should store', () => {
  11. store.set('key1', '123');
  12. expect(store.get('key1')).toBe('123');
  13. });
  14. it('get key when undefined', () => {
  15. expect(store.get('key2')).toBe(undefined);
  16. });
  17. it('check if key exixts', () => {
  18. store.set('key3', '123');
  19. expect(store.exists('key3')).toBe(true);
  20. });
  21. it('get boolean when no key', () => {
  22. expect(store.getBool('key4', false)).toBe(false);
  23. });
  24. it('get boolean', () => {
  25. store.set('key5', 'true');
  26. expect(store.getBool('key5', false)).toBe(true);
  27. });
  28. it('gets an object', () => {
  29. expect(store.getObject('object1')).toBeUndefined();
  30. expect(store.getObject('object1', [])).toEqual([]);
  31. store.setObject('object1', [1]);
  32. expect(store.getObject('object1')).toEqual([1]);
  33. });
  34. it('sets an object', () => {
  35. expect(store.setObject('object2', { a: 1 })).toBe(true);
  36. expect(store.getObject('object2')).toEqual({ a: 1 });
  37. });
  38. it('key should be deleted', () => {
  39. store.set('key6', '123');
  40. store.delete('key6');
  41. expect(store.exists('key6')).toBe(false);
  42. });
  43. });