Skip to content

Commit ee00dc6

Browse files
authored
UILD-420: Fixed incorrect display of preview content (#70)
1 parent 82890bf commit ee00dc6

File tree

2 files changed

+34
-3
lines changed

2 files changed

+34
-3
lines changed

src/components/EditPreview/EditPreview.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ export const EditPreview = memo(() => {
2525
const showPreview = (dependencies?.entries?.length === 1 && !isCreateWorkPageOpened) || previewContent.length;
2626
const selectedForPreview = previewContent?.[0];
2727

28-
useEffect(() => resetPreviewContent, [resourceId]);
28+
useEffect(() => {
29+
resetPreviewContent();
30+
}, [resourceId]);
2931

3032
return (
3133
<div

src/test/__tests__/components/EditPreview.test.tsx

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { render, screen } from '@testing-library/react';
1+
import { act, render, screen } from '@testing-library/react';
22
import { RouterProvider, createMemoryRouter } from 'react-router-dom';
33
import { PROFILE_BFIDS } from '@common/constants/bibframe.constants';
44
import { EditPreview } from '@components/EditPreview';
@@ -15,11 +15,16 @@ jest.mock('react-router-dom', () => ({
1515
}));
1616

1717
describe('EditPreview', () => {
18+
const resetPreviewContent = jest.fn();
19+
1820
beforeEach(() => {
1921
setInitialGlobalState([
2022
{
2123
store: useInputsStore,
22-
state: { record: {} },
24+
state: {
25+
record: {},
26+
resetPreviewContent,
27+
},
2328
},
2429
{
2530
store: useUIStore,
@@ -41,4 +46,28 @@ describe('EditPreview', () => {
4146
test('contains instances list when create work page is opened', () => {
4247
expect(getByTestId('instances-list')).toBeInTheDocument();
4348
});
49+
50+
test('calls resetPreviewContent when resourceId changes', () => {
51+
const router = createMemoryRouter(
52+
[
53+
{
54+
path: '/resources/:resourceId/edit',
55+
element: <EditPreview />,
56+
},
57+
],
58+
{
59+
initialEntries: ['/resources/123/edit'],
60+
},
61+
);
62+
63+
const { rerender } = render(<RouterProvider router={router} />);
64+
65+
act(() => {
66+
router.navigate('/resources/456/edit');
67+
});
68+
69+
rerender(<RouterProvider router={router} />);
70+
71+
expect(resetPreviewContent).toHaveBeenCalled();
72+
});
4473
});

0 commit comments

Comments
 (0)