Skip to content

Commit 3c77036

Browse files
[core] Replace enzyme in describeConformance (#42847)
Co-authored-by: Diego Andai <[email protected]>
1 parent e5e9b9d commit 3c77036

File tree

30 files changed

+129
-183
lines changed

30 files changed

+129
-183
lines changed

docs/pages/joy-ui/api/tooltip.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@
223223
"isGlobal": false
224224
}
225225
],
226-
"spread": true,
226+
"spread": false,
227227
"themeDefaultProps": true,
228228
"muiName": "JoyTooltip",
229229
"forwardsRefTo": "HTMLButtonElement",

docs/pages/material-ui/api/switch.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@
133133
"isGlobal": false
134134
}
135135
],
136-
"spread": false,
136+
"spread": true,
137137
"themeDefaultProps": false,
138138
"muiName": "MuiSwitch",
139139
"forwardsRefTo": "HTMLSpanElement",

packages/mui-base/test/describeConformanceUnstyled.tsx

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import {
99
SlotTestingOptions,
1010
describeRef,
1111
randomStringValue,
12-
testClassName,
1312
testComponentProp,
1413
testReactTestRenderer,
1514
} from '@mui-internal/test-utils';
@@ -266,6 +265,25 @@ function testSlotPropsProp(
266265
});
267266
}
268267

268+
function testClassName(element: React.ReactElement, getOptions: () => ConformanceOptions) {
269+
it('applies the className to the root component', async () => {
270+
const { render } = getOptions();
271+
272+
if (!render) {
273+
throwMissingPropError('render');
274+
}
275+
276+
const className = randomStringValue();
277+
const testId = randomStringValue();
278+
279+
const { getByTestId } = await render(
280+
React.cloneElement(element, { className, 'data-testid': testId }),
281+
);
282+
283+
expect(getByTestId(testId)).to.have.class(className);
284+
});
285+
}
286+
269287
interface TestOwnerState {
270288
'data-testid'?: string;
271289
}

packages/mui-joy/src/Autocomplete/Autocomplete.tsx

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -632,9 +632,14 @@ const Autocomplete = React.forwardRef(function Autocomplete(
632632
},
633633
});
634634

635-
const defaultRenderOption = (optionProps: any, option: unknown) => (
636-
<SlotOption {...optionProps}>{getOptionLabel(option)}</SlotOption>
637-
);
635+
const defaultRenderOption = (optionProps: any, option: unknown) => {
636+
const { key, ...rest } = optionProps;
637+
return (
638+
<SlotOption key={key} {...rest}>
639+
{getOptionLabel(option)}
640+
</SlotOption>
641+
);
642+
};
638643

639644
const renderOption = renderOptionProp || defaultRenderOption;
640645

packages/mui-joy/src/Menu/Menu.test.tsx

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,6 @@ describe('Joy <Menu />', () => {
3131
<DropdownContext.Provider value={testContext}>{node}</DropdownContext.Provider>,
3232
);
3333
},
34-
wrapMount: (mount) => (node: React.ReactNode) => {
35-
const wrapper = mount(
36-
<DropdownContext.Provider value={testContext}>{node}</DropdownContext.Provider>,
37-
);
38-
return wrapper.childAt(0);
39-
},
4034
ThemeProvider,
4135
muiName: 'JoyMenu',
4236
refInstanceof: window.HTMLUListElement,

packages/mui-joy/src/MenuButton/MenuButton.test.tsx

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,6 @@ describe('<MenuButton />', () => {
2222
describeConformance(<MenuButton />, () => ({
2323
classes,
2424
inheritComponent: 'button',
25-
wrapMount: (mount) => (node: React.ReactNode) => {
26-
const wrapper = mount(
27-
<DropdownContext.Provider value={testContext}>{node}</DropdownContext.Provider>,
28-
);
29-
return wrapper.childAt(0);
30-
},
3125
muiName: 'JoyMenuButton',
3226
refInstanceof: window.HTMLButtonElement,
3327
render: (node) => {

packages/mui-joy/src/MenuItem/MenuItem.test.tsx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,6 @@ describe('Joy <MenuItem />', () => {
3636
classes,
3737
inheritComponent: ListItemButton,
3838
render: (node) => render(<MenuProvider value={testContext}>{node}</MenuProvider>),
39-
wrapMount: (mount) => (node) => {
40-
const wrapper = mount(<MenuProvider value={testContext}>{node}</MenuProvider>);
41-
return wrapper.childAt(0);
42-
},
4339
ThemeProvider,
4440
refInstanceof: window.HTMLLIElement,
4541
testComponentPropWith: 'a',

packages/mui-joy/src/Tab/Tab.test.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ describe('Joy <Tab />', () => {
3232
classes,
3333
inheritComponent: 'button',
3434
render: (node) => render(<TabsProvider defaultValue={0}>{node}</TabsProvider>),
35-
wrapMount: (mount) => (node) => mount(<TabsProvider defaultValue={0}>{node}</TabsProvider>),
3635
ThemeProvider,
3736
muiName: 'JoyTab',
3837
refInstanceof: window.HTMLButtonElement,

packages/mui-joy/src/TabList/TabList.test.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ describe('Joy <TabList />', () => {
2121
classes,
2222
inheritComponent: 'div',
2323
render: (node) => render(<TabsProvider defaultValue={0}>{node}</TabsProvider>),
24-
wrapMount: (mount) => (node) => mount(<TabsProvider defaultValue={0}>{node}</TabsProvider>),
2524
ThemeProvider,
2625
muiName: 'JoyTabList',
2726
refInstanceof: window.HTMLDivElement,

packages/mui-joy/src/TabPanel/TabPanel.test.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ describe('Joy <TabPanel />', () => {
2020
classes,
2121
inheritComponent: 'div',
2222
render: (node) => render(<TabsProvider defaultValue={0}>{node}</TabsProvider>),
23-
wrapMount: (mount) => (node) => mount(<TabsProvider defaultValue={0}>{node}</TabsProvider>),
2423
ThemeProvider,
2524
muiName: 'JoyTabPanel',
2625
refInstanceof: window.HTMLDivElement,

0 commit comments

Comments
 (0)