Skip to content

Commit d7b7a05

Browse files
committed
chore: (WIP) Fixes table integ tests for React 18
1 parent 041d9eb commit d7b7a05

File tree

5 files changed

+23
-18
lines changed

5 files changed

+23
-18
lines changed

pages/table/expandable-rows-test.page.tsx

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -269,17 +269,20 @@ function useTableData() {
269269

270270
// Imitate server-side delay when items update.
271271
const memoItems = useEqualsMemo(collectionResult.items);
272-
const [readyItems, setReadyItems] = useState(memoItems);
272+
const [delayedItems, setDelayedItems] = useState(memoItems);
273+
const readyItems = settings.manualServerMock ? memoItems : delayedItems;
273274
useEffect(() => {
274-
setLoading(true);
275-
setError(false);
276-
return getServerResponse(() => {
277-
setLoading(false);
278-
setReadyItems(memoItems);
279-
setError(settings.emulateServerError);
280-
});
275+
if (!settings.manualServerMock) {
276+
setLoading(true);
277+
setError(false);
278+
return getServerResponse(() => {
279+
setLoading(false);
280+
setDelayedItems(memoItems);
281+
setError(settings.emulateServerError);
282+
});
283+
}
281284
// eslint-disable-next-line react-hooks/exhaustive-deps
282-
}, [getServerResponse, memoItems, setLoading, setError, setReadyItems]);
285+
}, [getServerResponse, memoItems, setLoading, setError, setDelayedItems]);
283286

284287
// Decorate path options to only show the last node and not the full path.
285288
collectionResult.propertyFilterProps.filteringOptions = collectionResult.propertyFilterProps.filteringOptions.map(

src/table/__integ__/expandable-rows.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ describe('Expandable rows', () => {
4545
})
4646
);
4747

48-
(process.env.REACT_VERSION !== '18' ? test : test.skip)(
48+
test(
4949
'uses items loader on the first expandable item',
5050
setupTest({ useProgressiveLoading: true, useServerMock: true }, async page => {
5151
const targetCluster = 'cluster-33387b6c';

src/table/__integ__/performance-marks.test.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,17 @@ function setupTest(
1313
}) => Promise<void>
1414
) {
1515
return useBrowser(async browser => {
16-
if (process.env.REACT_VERSION === '18') {
17-
return;
18-
}
1916
const page = new BasePageObject(browser);
2017
await browser.url(`#/light/table/performance-marks${!inViewport ? '?outsideOfViewport=true' : ''}`);
2118
const getMarks = async () => {
19+
let awsuiMarks: PerformanceMark[] = [];
2220
await new Promise(r => setTimeout(r, 200));
23-
const marks = await browser.execute(() => performance.getEntriesByType('mark') as PerformanceMark[]);
24-
return marks.filter(m => m.detail?.source === 'awsui');
21+
await page.waitForAssertion(async () => {
22+
const marks = await browser.execute(() => performance.getEntriesByType('mark') as PerformanceMark[]);
23+
awsuiMarks = marks.filter(m => m.detail?.source === 'awsui');
24+
expect(awsuiMarks).not.toHaveLength(0);
25+
});
26+
return awsuiMarks;
2527
};
2628
const isElementPerformanceMarkExisting = (id: string) =>
2729
page.isExisting(`[data-analytics-performance-mark="${id}"]`);

src/table/__integ__/resizable-columns.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,7 @@ test(
331331
})
332332
);
333333

334-
(process.env.REACT_VERSION !== '18' ? test : test.skip)(
334+
test(
335335
'should recover column widths when the inner state is reset',
336336
setupTest(async page => {
337337
await page.resizeColumn(2, 100);

src/table/__integ__/table.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ test(
6161
})
6262
);
6363

64-
(process.env.REACT_VERSION !== '18' ? test : test.skip)(
64+
test(
6565
'sets role=region and aria-label on scrollable wrapper when overflowing',
6666
useBrowser(async browser => {
6767
const tableWrapper = createWrapper().findTable();
@@ -84,6 +84,6 @@ test(
8484
ariaLabelledby = await page.getElementAttribute(scrollableWrapperSelector, 'aria-labelledby');
8585
expect(role).toEqual('region');
8686
expect(ariaLabelledby).not.toBeFalsy();
87-
await expect(page.getElementsText(`#${ariaLabelledby}`)).resolves.toEqual([tableHeading]);
87+
await expect(page.getElementsText(`#${CSS.escape(ariaLabelledby)}`)).resolves.toEqual([tableHeading]);
8888
})
8989
);

0 commit comments

Comments
 (0)