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(