UNPKG

@yoroi/common

Version:

The Common package of Yoroi SDK

49 lines (48 loc) 2.26 kB
"use strict"; var _useMutationWithInvalidations = require("./useMutationWithInvalidations"); var _reactQuery = require("react-query"); var _react = _interopRequireDefault(require("react")); var _reactNative = require("@testing-library/react-native"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } const mutationFn = () => Promise.resolve(true); describe('useMutationWithInvalidations', () => { it('should cancel and invalidate queries', async () => { const queries = ['query1', 'query2']; const client = getMockedQueryClient(); const wrapper = props => /*#__PURE__*/_react.default.createElement(_reactQuery.QueryClientProvider, _extends({}, props, { client: client })); const { result } = (0, _reactNative.renderHook)(() => (0, _useMutationWithInvalidations.useMutationWithInvalidations)({ mutationFn, invalidateQueries: queries }), { wrapper }); await (0, _reactNative.act)(async () => { result.current.mutate(undefined); }); await (0, _reactNative.waitFor)(() => result.current.isSuccess); expect(client.cancelQueries).toHaveBeenCalledTimes(2); expect(client.cancelQueries).toHaveBeenNthCalledWith(1, queries[0]); expect(client.cancelQueries).toHaveBeenNthCalledWith(2, queries[1]); expect(client.invalidateQueries).toHaveBeenCalledTimes(2); expect(client.invalidateQueries).toHaveBeenNthCalledWith(1, queries[0]); expect(client.invalidateQueries).toHaveBeenNthCalledWith(2, queries[1]); }); }); const getMockedQueryClient = () => { const queryClient = new _reactQuery.QueryClient(); queryClient.cancelQueries = jest.fn(); queryClient.invalidateQueries = jest.fn(); queryClient.setDefaultOptions({ queries: { cacheTime: 0, retry: false } }); return queryClient; }; //# sourceMappingURL=useMutationWithInvalidations.test.js.map