From b57210b839a0a66e6b6fcf35180940abe9880f92 Mon Sep 17 00:00:00 2001 From: Oleksandr Hladchenko1 Date: Wed, 22 Jan 2025 11:02:31 +0100 Subject: [PATCH] UIIN-3195: Add and fix tests --- src/views/ItemView.test.js | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/src/views/ItemView.test.js b/src/views/ItemView.test.js index 96f092ecc..a36586ed8 100644 --- a/src/views/ItemView.test.js +++ b/src/views/ItemView.test.js @@ -376,10 +376,42 @@ describe('ItemView', () => { expect(screen.queryByText('Linked order line')).not.toBeInTheDocument(); }); - describe('when an error was occured', () => { + describe('when error was occured due to local-specific reference data', () => { it('should show an error message', async () => { useHoldingMutation.mockClear().mockReturnValue({ mutateHolding: mockMutate }); - useUpdateOwnership.mockClear().mockReturnValue({ updateOwnership: jest.fn().mockRejectedValue() }); + useUpdateOwnership.mockClear().mockReturnValue({ + updateOwnership: jest.fn().mockRejectedValue({ + response: { + status: 400, + } + }) + }); + checkIfUserInCentralTenant.mockClear().mockReturnValue(false); + + renderWithIntl(, translationsProperties); + + const updateOwnershipBtn = screen.getByText('Update ownership'); + fireEvent.click(updateOwnershipBtn); + + act(() => UpdateItemOwnershipModal.mock.calls[0][0].handleSubmit('university', { id: 'locationId' }, 'holdingId')); + + const confirmationModal = screen.getByText('Update ownership of items'); + fireEvent.click(within(confirmationModal).getByText('confirm')); + + await waitFor(() => expect(screen.queryByText('Item ownership could not be updated because it contains local-specific reference data.')).toBeDefined()); + }); + }); + + describe('when error was occured', () => { + it('should show an error message', async () => { + useHoldingMutation.mockClear().mockReturnValue({ mutateHolding: mockMutate }); + useUpdateOwnership.mockClear().mockReturnValue({ + updateOwnership: jest.fn().mockRejectedValue({ + response: { + status: 500, + }, + }) + }); checkIfUserInCentralTenant.mockClear().mockReturnValue(false); renderWithIntl(, translationsProperties);