Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/elements/content-sidebar/MetadataSidebarRedesign.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,7 @@ function MetadataSidebarRedesign({
}
clearExtractError();
setEditingTemplate(null);
setShouldShowOnlyReviewFields(false);
};

const isExistingMetadataInstance = (): boolean => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { RouteComponentProps } from 'react-router-dom';
import { createMemoryHistory } from 'history';
import { type MetadataTemplate, type MetadataTemplateInstance } from '@box/metadata-editor';
import { FIELD_PERMISSIONS_CAN_UPLOAD, ERROR_CODE_METADATA_STRUCTURED_TEXT_REP } from '../../../constants';
import { screen, render, waitFor } from '../../../test-utils/testing-library';
import { screen, render, waitFor, within } from '../../../test-utils/testing-library';
import {
MetadataSidebarRedesignComponent as MetadataSidebarRedesign,
type MetadataSidebarRedesignProps,
Expand Down Expand Up @@ -354,6 +354,37 @@ describe('elements/content-sidebar/Metadata/MetadataSidebarRedesign', () => {
expect(screen.getByRole('heading', { level: 4, name: 'Visible Template' })).toBeInTheDocument();
});

test('should call handleDeleteMetadataInstance when delete button is clicked', async () => {
const handleDeleteMetadataInstance = jest.fn();
mockUseSidebarMetadataFetcher.mockReturnValue({
clearExtractError: jest.fn(),
extractSuggestions: jest.fn(),
handleCreateMetadataInstance: jest.fn(),
handleDeleteMetadataInstance,
handleUpdateMetadataInstance: jest.fn(),
templateInstances: [mockCustomTemplateInstance],
templates: mockTemplates,
errorMessage: null,
status: STATUS.SUCCESS,
file: mockFile,
extractErrorCode: null,
});

renderComponent({}, { 'metadata.deleteConfirmationModalCheckbox.enabled': true });

expect(screen.getByText(mockCustomTemplateInstance.fields[0].key)).toBeVisible();
expect(screen.getByText(mockCustomTemplateInstance.fields[1].key)).toBeVisible();

await userEvent.click(screen.getByRole('button', { name: 'Edit' }));
await userEvent.click(screen.getByRole('button', { name: 'Delete' }));

await userEvent.click(screen.getByText('Confirm deletion of Metadata instance'));
const dialog = screen.getByRole('dialog');
await userEvent.click(within(dialog).getByRole('button', { name: 'Delete' }));

expect(handleDeleteMetadataInstance).toHaveBeenCalledWith(mockCustomTemplateInstance);
});
Comment thread
coderabbitai[bot] marked this conversation as resolved.

test('should render filter dropdown when more than one templates are present', () => {
mockUseSidebarMetadataFetcher.mockReturnValue({
clearExtractError: jest.fn(),
Expand Down
Loading