UNPKG

@gravity-ui/data-source

Version:
61 lines (60 loc) 2.63 kB
"use strict"; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _react = _interopRequireDefault(require("react")); var _react2 = require("@testing-library/react"); var _DataManagerContext = require("../DataManagerContext"); var _withDataManager = require("../withDataManager"); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } jest.mock('../DataManagerContext', function () { var originalModule = jest.requireActual('../DataManagerContext'); return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, originalModule), {}, { useDataManager: jest.fn() }); }); describe('withDataManager', function () { var mockDataManager = { normalizer: undefined, optimisticUpdate: jest.fn(), invalidateData: jest.fn(), invalidateTag: jest.fn(), invalidateTags: jest.fn(), invalidateSource: jest.fn(), resetSource: jest.fn(), invalidateParams: jest.fn(), resetParams: jest.fn(), invalidateSourceTags: jest.fn() }; beforeEach(function () { jest.clearAllMocks(); _DataManagerContext.useDataManager.mockReturnValue(mockDataManager); }); it('should pass dataManager to wrapped component', function () { var TestComponent = function TestComponent(_ref) { var dataManager = _ref.dataManager; return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", { "data-testid": "test-component", children: dataManager ? 'DataManager provided' : 'No DataManager' }); }; var WrappedComponent = (0, _withDataManager.withDataManager)(TestComponent); (0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, {})); expect(_react2.screen.getByTestId('test-component')).toHaveTextContent('DataManager provided'); }); it('should pass through additional props', function () { var TestComponent = function TestComponent(_ref2) { var dataManager = _ref2.dataManager, testProp = _ref2.testProp; return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", { "data-testid": "test-component", children: dataManager ? "DataManager provided, testProp: ".concat(testProp) : 'No DataManager' }); }; var WrappedComponent = (0, _withDataManager.withDataManager)(TestComponent); (0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, { testProp: "test value" })); expect(_react2.screen.getByTestId('test-component')).toHaveTextContent('DataManager provided, testProp: test value'); }); }); // #sourceMappingURL=withDataManager.test.js.map