diff --git a/src/Holding/CreateHolding/CreateHolding.test.js b/src/Holding/CreateHolding/CreateHolding.test.js index 6d0af4af5..a45633c2a 100644 --- a/src/Holding/CreateHolding/CreateHolding.test.js +++ b/src/Holding/CreateHolding/CreateHolding.test.js @@ -1,3 +1,4 @@ +/* eslint-disable import/no-unresolved */ import '../../../test/jest/__mock__'; import { MemoryRouter } from 'react-router-dom'; @@ -5,21 +6,17 @@ import { QueryClient, QueryClientProvider } from 'react-query'; import { render, screen } from '@testing-library/react'; import { Promise } from 'core-js'; import { instance } from '../../../test/fixtures/instance'; -import { - useHolding, - useInstance, -} from '../../common/hooks'; +import { useHolding, useInstance } from '../../common/hooks'; import { useHoldingMutation } from '../../hooks'; import HoldingsForm from '../../edit/holdings/HoldingsForm'; import CreateHolding from './CreateHolding'; - jest.mock('../../edit/holdings/HoldingsForm', () => jest.fn().mockReturnValue('HoldingsForm')); jest.mock('../../hooks', () => ({ ...jest.requireActual('../../hooks'), - useCallout: jest.fn().mockReturnValue({ sendCallout: jest.fn() }), useHoldingMutation: jest.fn().mockReturnValue({ mutateHolding: jest.fn() }), })); +jest.mock('../../hooks/useCallout', () => jest.fn().mockReturnValue({ sendCallout: jest.fn() })); jest.mock('../../common/hooks', () => ({ ...jest.requireActual('../../common/hooks'), useInstance: jest.fn().mockReturnValue({ instance: {}, isLoading: false }), @@ -31,32 +28,24 @@ const defaultProps = { instanceId: instance.id, holdingId: 'holdingId', referenceData: {}, - mutator:{ - GET:jest.fn().mockReturnValue({}), - POST:jest.fn().mockReturnValue({}), + mutator: { + GET: jest.fn(() => Promise.resolve({ data: {} })), + POST: jest.fn(() => Promise.resolve({ data: {} })), holding: { - POST:jest.fn(() => Promise.resolve({ data:{} })) + POST: jest.fn(() => Promise.resolve({ data: {} })), }, - } + }, }; const queryClient = new QueryClient(); const wrapper = ({ children }) => ( - - {children} - + {children} ); -const renderCreateHolding = (props = {}) => render( - , - { wrapper }, -); +const renderCreateHolding = (props = {}) => render(, { wrapper }); describe('CreateHolding', () => { const mockMutate = jest.fn(); @@ -64,7 +53,9 @@ describe('CreateHolding', () => { beforeEach(() => { useInstance.mockClear(); useHolding.mockClear(); - useHoldingMutation.mockClear().mockReturnValue({ mutateHolding: mockMutate }); + useHoldingMutation + .mockClear() + .mockReturnValue({ mutateHolding: mockMutate }); }); it('should render HoldingsForm', () => { @@ -82,7 +73,10 @@ describe('CreateHolding', () => { }); it('should call holding mutation when the holding form is submitted', () => { + useInstance.mockReturnValue({ isLoading: false, instance: { id: 0 } }); + renderCreateHolding(); HoldingsForm.mock.calls[0][0].onSubmit(); + expect(defaultProps.mutator.holding.POST).toBeCalled(); }); });