When writing a Jest test for a Svelte component I am getting a TypeError: Select is not a constructor error when the component imports a library using the es6 import syntax.
TestSelect.js:
<script>
import Select from 'svelte-select';
let items = [
{value: 'chocolate', label: 'Chocolate'},
{value: 'pizza', label: 'Pizza'},
{value: 'cake', label: 'Cake'},
{value: 'chips', label: 'Chips'},
{value: 'ice-cream', label: 'Ice Cream'},
];
let selectedValue = undefined;
</script>
<Select {items} bind:selectedValue></Select>
TestSelect.spec.js:
import '@testing-library/jest-dom/extend-expect';
import { render } from '@testing-library/svelte';
import TestSelect from './TestSelect.svelte';
describe('Component', () => {
test('Should render', () => {
const { container } = render(TestSelect, {});
expect(true);
});
});
Jest config
"jest": {
"collectCoverage": true,
"testResultsProcessor": "jest-sonar-reporter",
"coveragePathIgnorePatterns": [
"/node_modules/"
],
"transform": {
"^.+\\.js$": "babel-jest",
"^.+\\.svelte$": "svelte-jester"
},
"moduleFileExtensions": [
"js",
"svelte"
],
"setupFilesAfterEnv": [
"@testing-library/jest-dom/extend-expect"
],
"verbose": true
}
I'm wondering if there is a jest config option that I have missed. Thanks in advance