UNPKG

@yoroi/swap

Version:
56 lines (55 loc) 2.05 kB
"use strict"; var _storage = require("./storage"); var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/async-storage")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } jest.mock('@react-native-async-storage/async-storage', () => { const mock = require('@react-native-async-storage/async-storage/jest/async-storage-mock'); return { __esModule: true, default: mock, ...mock }; }); const mockedAsyncStorage = _asyncStorage.default; describe('swapStorageMaker', () => { let storage; beforeEach(() => { jest.clearAllMocks(); storage = (0, _storage.swapStorageMaker)(); }); it('should save settings', async () => { const settings = { slippage: 0.5, routingPreference: 'auto' }; await storage.settings.save(settings); expect(mockedAsyncStorage.setItem).toHaveBeenCalledWith(_storage.swapStorageSettingsKey, JSON.stringify(settings)); }); it('should read settings', async () => { const settings = { slippage: 0.2, routingPreference: 'auto' }; mockedAsyncStorage.getItem.mockResolvedValueOnce(JSON.stringify(settings)); const result = await storage.settings.read(); expect(result).toEqual(settings); expect(mockedAsyncStorage.getItem).toHaveBeenCalledWith(_storage.swapStorageSettingsKey); }); it('should fallback to default settings on invalid data', async () => { mockedAsyncStorage.getItem.mockResolvedValueOnce('not-json'); const result = await storage.settings.read(); expect(result).toEqual({ slippage: 1, routingPreference: 'auto' }); }); it('should remove settings', async () => { await storage.settings.remove(); expect(mockedAsyncStorage.removeItem).toHaveBeenCalledWith(_storage.swapStorageSettingsKey); }); it('should clear all swap storage', async () => { await storage.clear(); expect(mockedAsyncStorage.removeItem).toHaveBeenCalledWith(_storage.swapStorageSettingsKey); }); }); //# sourceMappingURL=storage.test.js.map