UNPKG

@yoroi/common

Version:

The Common package of Yoroi SDK

49 lines (46 loc) 2.57 kB
"use strict"; var _react = _interopRequireDefault(require("react")); var _reactTestRenderer = _interopRequireDefault(require("react-test-renderer")); var _syncStorageReactjs = require("./sync-storage-reactjs"); var _mmkvStorage = require("../adapters/mmkv-storage"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // Update with the actual module path const rootStorage = (0, _mmkvStorage.mountMMKVStorage)({ path: '/' }); describe('SyncStorageProvider and useSyncStorage Tests', () => { test('SyncStorageProvider provides storage context', () => { const TestComponent = () => { const storage = (0, _syncStorageReactjs.useSyncStorage)(); return /*#__PURE__*/_react.default.createElement("div", null, storage ? 'Storage Available' : 'Storage Unavailable'); }; const tree = _reactTestRenderer.default.create( /*#__PURE__*/_react.default.createElement(_syncStorageReactjs.SyncStorageProvider, { storage: rootStorage }, /*#__PURE__*/_react.default.createElement(TestComponent, null))); const treeInstance = tree.root; const textElement = treeInstance.findByType('div'); expect(textElement.props.children).toBe('Storage Available'); }); test('SyncStorageProvider provides the default rootStorage context', () => { const TestComponent = () => { const storage = (0, _syncStorageReactjs.useSyncStorage)(); return /*#__PURE__*/_react.default.createElement("div", null, storage ? 'Storage Available' : 'Storage Unavailable'); }; const tree = _reactTestRenderer.default.create( /*#__PURE__*/_react.default.createElement(_syncStorageReactjs.SyncStorageProvider, null, /*#__PURE__*/_react.default.createElement(TestComponent, null))); const treeInstance = tree.root; const textElement = treeInstance.findByType('div'); expect(textElement.props.children).toBe('Storage Available'); }); test('useSyncStorage throws error without SyncStorageProvider', () => { const InvalidComponent = () => { (0, _syncStorageReactjs.useSyncStorage)(); return /*#__PURE__*/_react.default.createElement("div", null, "Invalid Component"); }; // Suppress console error caused by the 'invalid' function const originalError = console.error; console.error = jest.fn(); expect(() => _reactTestRenderer.default.create( /*#__PURE__*/_react.default.createElement(InvalidComponent, null))).toThrow('Missing SyncStorageProvider'); console.error = originalError; }); }); //# sourceMappingURL=sync-storage-reactjs.test.js.map