UNPKG

@yoroi/common

Version:
55 lines (54 loc) 2.53 kB
"use strict"; var _reactNative = require("@testing-library/react-native"); var _react = _interopRequireDefault(require("react")); var _reactNative2 = require("react-native"); var _mmkvStorage = require("../adapters/mmkv-storage"); var _syncStorageReactjs = require("./sync-storage-reactjs"); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } 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__*/(0, _jsxRuntime.jsx)(_reactNative2.View, { children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative2.Text, { children: storage ? 'Storage Available' : 'Storage Unavailable' }) }); }; (0, _reactNative.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_syncStorageReactjs.SyncStorageProvider, { storage: rootStorage, children: /*#__PURE__*/(0, _jsxRuntime.jsx)(TestComponent, {}) })); expect(_reactNative.screen.getByText('Storage Available')).toBeTruthy(); }); test('SyncStorageProvider provides the default rootStorage context', () => { const TestComponent = () => { const storage = (0, _syncStorageReactjs.useSyncStorage)(); return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative2.View, { children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative2.Text, { children: storage ? 'Storage Available' : 'Storage Unavailable' }) }); }; (0, _reactNative.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_syncStorageReactjs.SyncStorageProvider, { children: /*#__PURE__*/(0, _jsxRuntime.jsx)(TestComponent, {}) })); expect(_reactNative.screen.getByText('Storage Available')).toBeTruthy(); }); test('useSyncStorage throws error without SyncStorageProvider', () => { const InvalidComponent = () => { (0, _syncStorageReactjs.useSyncStorage)(); return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative2.View, { children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative2.Text, { children: "Invalid Component" }) }); }; expect(() => (0, _reactNative.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(InvalidComponent, {}))).toThrow('Missing SyncStorageProvider'); }); }); //# sourceMappingURL=sync-storage-reactjs.test.js.map