diff --git a/src/components/settings/SettingsAppearanceTab/index.jsx b/src/components/settings/SettingsAppearanceTab/index.jsx index 4d6a630f3e..1c02a4147c 100644 --- a/src/components/settings/SettingsAppearanceTab/index.jsx +++ b/src/components/settings/SettingsAppearanceTab/index.jsx @@ -145,7 +145,7 @@ export const SettingsAppearanceTab = ({ }} maxSize={512000} accept={{ - 'image/*': ['.png'], + 'image/png': ['.png'], }} /> )} diff --git a/src/components/settings/SettingsAppearanceTab/tests/SettingsAppearanceTab.test.jsx b/src/components/settings/SettingsAppearanceTab/tests/SettingsAppearanceTab.test.jsx index 388e150c24..22c638e08b 100644 --- a/src/components/settings/SettingsAppearanceTab/tests/SettingsAppearanceTab.test.jsx +++ b/src/components/settings/SettingsAppearanceTab/tests/SettingsAppearanceTab.test.jsx @@ -104,6 +104,25 @@ describe('Portal Appearance Tab', () => { expect(spy).toHaveBeenCalled(); }); }); + test('drops invalid image file type into dropzone', async () => { + render( + + + + + , + ); + const fakeFile = new File(['hello'], 'hello.jpg', { type: 'image/jpg' }); + const dropzone = screen.getByRole('presentation', { hidden: true }); + userEvent.upload(dropzone.firstChild, fakeFile); + await waitFor(() => { + expect(screen.getByText('Invalid file type, only png images allowed.')).toBeInTheDocument(); + }); + }); test('renders curated theme cards', async () => { render(