@yoroi/common
Version:
The Common package of Yoroi SDK
49 lines (46 loc) • 2.57 kB
JavaScript
;
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