Skip to content

Commit affdf8c

Browse files
committed
Fix tests for primereact.
Mock inject stylesheet. Mock dropdown, multiselect and slider. They don't work with jsdom. Update snapshots.
1 parent 05d308f commit affdf8c

File tree

12 files changed

+11481
-313
lines changed

12 files changed

+11481
-313
lines changed

packages/primereact/babel.config.js

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"extends": "../../babel.config.json"
3+
}

packages/primereact/jest.config.js

Lines changed: 0 additions & 11 deletions
This file was deleted.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"testEnvironment": "jsdom",
3+
"transform": {
4+
"^.+\\.(ts|tsx|js|jsx)$": ["babel-jest", { "configFile": "./babel.config.json" }]
5+
},
6+
"transformIgnorePatterns": ["/node_modules/(?!nanoid/.*)"],
7+
"moduleNameMapper": {
8+
"^@/(.*)$": "<rootDir>/src/$1"
9+
},
10+
"setupFilesAfterEnv": [
11+
"<rootDir>/test/setup.ts"
12+
]
13+
}

packages/primereact/test/Array.test.tsx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,17 @@ import { arrayTests } from '@rjsf/snapshot-tests';
22

33
import Form from '../src';
44

5+
// Mock PrimeReact components that use parentElement or real DOM
6+
jest.mock('primereact/dropdown', () => ({
7+
Dropdown: (props: Record<string, any>) => <select {...props} />,
8+
}));
9+
10+
jest.mock('primereact/multiselect', () => ({
11+
MultiSelect: (props: Record<string, any>) => <select multiple {...props} />,
12+
}));
13+
14+
jest.mock('primereact/slider', () => ({
15+
Slider: (props: Record<string, any>) => <input type='range' {...props} />,
16+
}));
17+
518
arrayTests(Form);

packages/primereact/test/Form.test.tsx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,17 @@ import { formTests } from '@rjsf/snapshot-tests';
22

33
import Form from '../src';
44

5+
// Mock PrimeReact components that use parentElement or real DOM
6+
jest.mock('primereact/dropdown', () => ({
7+
Dropdown: (props: Record<string, any>) => <select {...props} />,
8+
}));
9+
10+
jest.mock('primereact/multiselect', () => ({
11+
MultiSelect: (props: Record<string, any>) => <select multiple {...props} />,
12+
}));
13+
14+
jest.mock('primereact/slider', () => ({
15+
Slider: (props: Record<string, any>) => <input type='range' {...props} />,
16+
}));
17+
518
formTests(Form);

packages/primereact/test/GridSnap.test.tsx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,19 @@ import { gridTests } from '@rjsf/snapshot-tests';
22

33
import Form from '../src';
44

5+
// Mock PrimeReact components that use parentElement or real DOM
6+
jest.mock('primereact/dropdown', () => ({
7+
Dropdown: (props: Record<string, any>) => <select {...props} />,
8+
}));
9+
10+
jest.mock('primereact/multiselect', () => ({
11+
MultiSelect: (props: Record<string, any>) => <select multiple {...props} />,
12+
}));
13+
14+
jest.mock('primereact/slider', () => ({
15+
Slider: (props: Record<string, any>) => <input type='range' {...props} />,
16+
}));
17+
518
gridTests(Form, {
619
ColumnWidthAll: { xs: 12 },
720
ColumnWidth4: { xs: 4 },

0 commit comments

Comments
 (0)