UNPKG

@yoroi/common

Version:
54 lines (53 loc) 1.97 kB
"use strict"; import { render, screen } from '@testing-library/react-native'; import React from 'react'; import { Text, View } from 'react-native'; import { mountMMKVStorage } from '../adapters/mmkv-storage'; import { SyncStorageProvider, useSyncStorage } from './sync-storage-reactjs'; import { jsx as _jsx } from "react/jsx-runtime"; const rootStorage = mountMMKVStorage({ path: '/' }); describe('SyncStorageProvider and useSyncStorage Tests', () => { test('SyncStorageProvider provides storage context', () => { const TestComponent = () => { const storage = useSyncStorage(); return /*#__PURE__*/_jsx(View, { children: /*#__PURE__*/_jsx(Text, { children: storage ? 'Storage Available' : 'Storage Unavailable' }) }); }; render(/*#__PURE__*/_jsx(SyncStorageProvider, { storage: rootStorage, children: /*#__PURE__*/_jsx(TestComponent, {}) })); expect(screen.getByText('Storage Available')).toBeTruthy(); }); test('SyncStorageProvider provides the default rootStorage context', () => { const TestComponent = () => { const storage = useSyncStorage(); return /*#__PURE__*/_jsx(View, { children: /*#__PURE__*/_jsx(Text, { children: storage ? 'Storage Available' : 'Storage Unavailable' }) }); }; render(/*#__PURE__*/_jsx(SyncStorageProvider, { children: /*#__PURE__*/_jsx(TestComponent, {}) })); expect(screen.getByText('Storage Available')).toBeTruthy(); }); test('useSyncStorage throws error without SyncStorageProvider', () => { const InvalidComponent = () => { useSyncStorage(); return /*#__PURE__*/_jsx(View, { children: /*#__PURE__*/_jsx(Text, { children: "Invalid Component" }) }); }; expect(() => render(/*#__PURE__*/_jsx(InvalidComponent, {}))).toThrow('Missing SyncStorageProvider'); }); }); //# sourceMappingURL=sync-storage-reactjs.test.js.map