Skip to content

Commit 0f47141

Browse files
committed
feat: 🎸 first integration of testing-library
✅ Closes: #63
1 parent 89939c5 commit 0f47141

File tree

6 files changed

+41
-24
lines changed

6 files changed

+41
-24
lines changed

Diff for: ‎packages/create-widget/template/babel.config.js

-5
This file was deleted.

Diff for: ‎packages/create-widget/template/jest.config.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
const config = require('@merkur/tools/jest.config.js');
22

33
config.transform = {
4-
'^.+\\.[t|j]sx?$': 'esbuild-jest',
4+
'^.+\\.[t|j]sx?$': 'es-jest',
55
};
66

77
module.exports = {

Diff for: ‎packages/create-widget/views/preact/template.json

+3-4
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@
33
"@merkur/preact": "0.36.0"
44
},
55
"devDependencies": {
6-
"enzyme": "3.11.0",
7-
"identity-obj-proxy": "^3.0.0",
8-
"enzyme-adapter-preact-pure": "4.1.0",
9-
"enzyme-to-json": "3.6.2"
6+
"@testing-library/jest-dom": "^6.5.0",
7+
"@testing-library/preact": "^3.2.4",
8+
"identity-obj-proxy": "^3.0.0"
109
}
1110
}

Diff for: ‎packages/create-widget/views/preact/template/jest.config.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
const config = require('@merkur/tools/jest.config.js');
22

33
config.setupFilesAfterEnv = ['./jest.setup.js'];
4-
config.snapshotSerializers = ['enzyme-to-json/serializer'];
54
config.transform = {
6-
'^.+\\.[t|j]sx?$': 'esbuild-jest',
5+
'^.+\\.[t|j]sx?$': [
6+
'es-jest',
7+
{ jsx: 'automatic', jsxImportSource: 'preact' },
8+
],
79
};
810

911
module.exports = {
Original file line numberDiff line numberDiff line change
@@ -1,6 +1 @@
1-
import { configure } from 'enzyme';
2-
import Adapter from 'enzyme-adapter-preact-pure';
3-
import { createSerializer } from 'enzyme-to-json';
4-
5-
configure({ adapter: new Adapter() });
6-
expect.addSnapshotSerializer(createSerializer({ mode: 'deep' }));
1+
import '@testing-library/jest-dom';
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
/**
22
* @jest-environment jsdom
33
*/
4-
5-
import { shallow } from 'enzyme';
4+
import {
5+
render,
6+
fireEvent,
7+
cleanup,
8+
prettyDOM,
9+
screen,
10+
} from '@testing-library/preact';
611

712
import { createMerkurWidget } from '@merkur/core';
813

@@ -15,15 +20,36 @@ describe('View', () => {
1520
beforeEach(async () => {
1621
widget = await createMerkurWidget({
1722
...widgetProperties,
18-
mount() {
19-
return shallow(View(widget));
23+
mount(widget) {
24+
widget.$external.result = render(View(widget));
25+
return widget.$external.result;
26+
},
27+
unmount() {
28+
cleanup();
29+
},
30+
update() {
31+
return widget.$external.result.rerender(View(widget));
2032
},
2133
});
2234
});
2335

36+
afterEach(() => {
37+
widget.unmount();
38+
});
39+
2440
it('should display main view', async () => {
25-
const wrapper = await widget.mount();
41+
const { container } = await widget.mount();
42+
43+
expect(prettyDOM(container)).toMatchSnapshot();
44+
});
45+
46+
it('should increase counter', async () => {
47+
const { container } = await widget.mount();
48+
49+
const button = screen.getByText('increase counter');
50+
51+
fireEvent.click(button);
2652

27-
expect(wrapper).toMatchSnapshot();
53+
expect(prettyDOM(container)).toMatchSnapshot();
2854
});
2955
});

0 commit comments

Comments
 (0)