diff --git a/web/app/components/datasets/common/document-picker/preview-document-picker.spec.tsx b/web/app/components/datasets/common/document-picker/preview-document-picker.spec.tsx index ab46eb4bdc..9306404d7c 100644 --- a/web/app/components/datasets/common/document-picker/preview-document-picker.spec.tsx +++ b/web/app/components/datasets/common/document-picker/preview-document-picker.spec.tsx @@ -362,6 +362,18 @@ describe('PreviewDocumentPicker', () => { expect(screen.getByText('--')).toBeInTheDocument() }) + it('should render when value prop is omitted (optional)', () => { + const files = createMockDocumentList(2) + const onChange = vi.fn() + // Do not pass `value` at all to verify optional behavior + render() + + // Renders placeholder for missing name + expect(screen.getByText('--')).toBeInTheDocument() + // Portal wrapper renders + expect(screen.getByTestId('portal-elem')).toBeInTheDocument() + }) + it('should handle empty files array', () => { renderComponent({ files: [] }) diff --git a/web/app/components/datasets/common/document-picker/preview-document-picker.tsx b/web/app/components/datasets/common/document-picker/preview-document-picker.tsx index 4e728cfb21..74e8ea9673 100644 --- a/web/app/components/datasets/common/document-picker/preview-document-picker.tsx +++ b/web/app/components/datasets/common/document-picker/preview-document-picker.tsx @@ -18,7 +18,7 @@ import DocumentList from './document-list' type Props = { className?: string - value: DocumentItem + value?: DocumentItem files: DocumentItem[] onChange: (value: DocumentItem) => void } @@ -30,7 +30,8 @@ const PreviewDocumentPicker: FC = ({ onChange, }) => { const { t } = useTranslation() - const { name, extension } = value + const name = value?.name || '' + const extension = value?.extension const [open, { set: setOpen,