UNPKG

@gravity-ui/data-source

Version:
55 lines (54 loc) 2.13 kB
"use strict"; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _reactQuery = require("@tanstack/react-query"); var _react = require("@testing-library/react"); var _useQueryContext = require("../useQueryContext"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } jest.mock('@tanstack/react-query', function () { var originalModule = jest.requireActual('@tanstack/react-query'); return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, originalModule), {}, { useQueryClient: jest.fn() }); }); describe('useQueryContext', function () { var mockQueryClient = new _reactQuery.QueryClient(); beforeEach(function () { jest.clearAllMocks(); _reactQuery.useQueryClient.mockReturnValue(mockQueryClient); }); it('should return context with queryClient', function () { var _renderHook = (0, _react.renderHook)(function () { return (0, _useQueryContext.useQueryContext)(); }), result = _renderHook.result; expect(result.current).toEqual({ queryClient: mockQueryClient }); }); it('should memoize the context', function () { var _renderHook2 = (0, _react.renderHook)(function () { return (0, _useQueryContext.useQueryContext)(); }), result = _renderHook2.result, rerender = _renderHook2.rerender; var firstResult = result.current; rerender(); expect(result.current).toBe(firstResult); }); it('should update context when queryClient changes', function () { var _renderHook3 = (0, _react.renderHook)(function () { return (0, _useQueryContext.useQueryContext)(); }), result = _renderHook3.result, rerender = _renderHook3.rerender; var firstResult = result.current; var newMockQueryClient = new _reactQuery.QueryClient(); _reactQuery.useQueryClient.mockReturnValue(newMockQueryClient); rerender(); expect(result.current).not.toBe(firstResult); expect(result.current).toEqual({ queryClient: newMockQueryClient }); }); }); // #sourceMappingURL=useQueryContext.test.js.map