Skip to content

Commit 604f8c3

Browse files
author
Kubit
committed
Modify use of windowMatchMedia and ResizeObserver
1 parent 84617f1 commit 604f8c3

File tree

46 files changed

+106
-269
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+106
-269
lines changed

src/components/actionBottomSheet/__tests__/actionBottomSheet.test.tsx

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,9 @@ import * as React from 'react';
44
import { axe } from 'jest-axe';
55

66
import { renderProvider } from '@/tests/renderProvider/renderProvider.utility';
7-
import { windowMatchMedia } from '@/tests/windowMatchMedia';
87

98
import { ActionBottomSheetUnControlled as ActionBottomSheet } from '../actionBottomSheetUnControlled';
109

11-
window.matchMedia = windowMatchMedia();
12-
1310
describe('ActionBottomSheet component', () => {
1411
it('Should render ActionBottomSheet component', async () => {
1512
const { container } = renderProvider(
@@ -38,6 +35,30 @@ describe('ActionBottomSheet component', () => {
3835
expect(results).toHaveNoViolations();
3936
});
4037

38+
it('When no title is used, an aria-dialog-name should be provided', async () => {
39+
const { container } = renderProvider(
40+
<ActionBottomSheet
41+
closeIcon={{ icon: 'UNICORN', ['aria-label']: 'ariaLabelButton' }}
42+
open={true}
43+
popover={{ ['aria-label']: 'ariaLabel' }}
44+
variant={'DEFAULT'}
45+
>
46+
Hello
47+
</ActionBottomSheet>
48+
);
49+
50+
const popover = screen.getByText('Hello');
51+
expect(popover).toBeInTheDocument();
52+
53+
const results = await axe(container);
54+
expect(container).toHTMLValidate({
55+
rules: {
56+
'no-inline-style': 'off',
57+
},
58+
});
59+
expect(results).toHaveNoViolations();
60+
});
61+
4162
it('Should simulate icon onClick', async () => {
4263
const { container } = renderProvider(
4364
<ActionBottomSheet
@@ -68,12 +89,15 @@ describe('ActionBottomSheet component', () => {
6889
title={{ content: 'title' }}
6990
variant={'DEFAULT'}
7091
>
71-
Hello
92+
Internal content
7293
</ActionBottomSheet>
7394
);
7495
const triggerIcon = screen.getByLabelText('ariaLabelButton');
96+
97+
const internalContent = screen.getByText('Internal content');
7598
await act(async () => {
76-
fireEvent.keyDown(window, {
99+
// Internal popover element fire the escape keydown
100+
fireEvent.keyDown(internalContent, {
77101
key: 'Escape',
78102
code: 'Escape',
79103
});

src/components/badge/__tests__/badge.test.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,10 @@ import * as React from 'react';
44
import { axe } from 'jest-axe';
55

66
import { renderProvider } from '@/tests/renderProvider/renderProvider.utility';
7-
import { windowMatchMedia } from '@/tests/windowMatchMedia';
87

98
import { BadgeUnControlled as Badge } from '../badgeUnControlled';
109
import { IBadgeUnControlled } from '../types';
1110

12-
window.matchMedia = windowMatchMedia();
13-
1411
// Mocks
1512
const mockProps: IBadgeUnControlled = {
1613
dataTestId: 'badge-component',
@@ -129,7 +126,8 @@ describe('Badge component', () => {
129126
expect(contentExpand).toBeInTheDocument();
130127

131128
await act(async () => {
132-
fireEvent.keyDown(window, {
129+
// Internal popover element fire the escape keydown
130+
fireEvent.keyDown(contentExpand, {
133131
key: 'Escape',
134132
code: 'Escape',
135133
});

src/components/calendar/__tests__/calendar.test.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,9 @@ import { fireEvent, screen } from '@testing-library/react';
44
import * as React from 'react';
55

66
import { renderProvider } from '@/tests/renderProvider/renderProvider.utility';
7-
import { windowMatchMedia } from '@/tests/windowMatchMedia';
87

98
import { Calendar } from '../calendar';
109

11-
window.matchMedia = windowMatchMedia();
12-
1310
const mockProps = {
1411
variant: 'DEFAULT',
1512
minDate: new Date('2000-01-01'),

src/components/calendar/list/__tests__/list.test.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,10 @@ import * as React from 'react';
66
import { axe } from 'jest-axe';
77

88
import { renderProvider } from '@/tests/renderProvider/renderProvider.utility';
9-
import { windowMatchMedia } from '@/tests/windowMatchMedia';
109

1110
import { List } from '../list';
1211
import { IList } from '../types/list';
1312

14-
window.matchMedia = windowMatchMedia();
15-
1613
const mockProps: IList = {
1714
selectedDate: [new Date(), new Date()],
1815
currentDate: new Date(2023, 0, 5),

src/components/calendar/selector/__tests__/selector.test.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,9 @@ import { fireEvent, screen } from '@testing-library/react';
44
import * as React from 'react';
55

66
import { renderProvider } from '@/tests/renderProvider/renderProvider.utility';
7-
import { windowMatchMedia } from '@/tests/windowMatchMedia';
87

98
import { Selector } from '../selector';
109

11-
window.matchMedia = windowMatchMedia();
12-
1310
const mockProps = {
1411
maxDate: new Date(),
1512
minDate: new Date(2015, 0, 15),

src/components/calendar/selector/monthSelector/__tests__/monthSelector.test.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,9 @@ import { fireEvent, screen } from '@testing-library/react';
44
import * as React from 'react';
55

66
import { renderProvider } from '@/tests/renderProvider/renderProvider.utility';
7-
import { windowMatchMedia } from '@/tests/windowMatchMedia';
87

98
import { MonthSelector } from '../monthSelector';
109

11-
window.matchMedia = windowMatchMedia();
12-
1310
const mockProps = {
1411
currentDate: new Date(2022, 11, 17),
1512
minDate: new Date(2023, 0, 1),

src/components/calendar/selector/yearSelector/__tests__/yearSelector.test.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,9 @@ import { fireEvent, screen } from '@testing-library/react';
44
import * as React from 'react';
55

66
import { renderProvider } from '@/tests/renderProvider/renderProvider.utility';
7-
import { windowMatchMedia } from '@/tests/windowMatchMedia';
87

98
import { YearSelector } from '../yearSelector';
109

11-
window.matchMedia = windowMatchMedia();
12-
1310
const mockProps = {
1411
currentDate: new Date(2022, 0, 17),
1512
setCurrentDate: jest.fn(),

src/components/dataTable/__tests__/dataTable.test.tsx

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,25 +14,6 @@ const mockProps = {
1414
};
1515

1616
describe('DataTable', () => {
17-
beforeAll(() => {
18-
global.ResizeObserver = class ResizeObserver {
19-
callback;
20-
constructor(callback) {
21-
this.callback = callback;
22-
}
23-
observe() {
24-
// Call the callback
25-
this.callback();
26-
}
27-
unobserve() {
28-
// do nothing
29-
}
30-
disconnect() {
31-
// do nothing
32-
}
33-
};
34-
});
35-
3617
it('Should render a unique table component when no rowGroups are used', async () => {
3718
const columns = [
3819
{ field: 'field1', headerContent: 'Header 1' },

src/components/dataTable/__tests__/hooks/useDataTableHasScroll.test.ts

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,6 @@ describe('useDataTableHasScroll', () => {
77
let scrollableContainer: HTMLDivElement;
88
let ref: React.RefObject<HTMLDivElement>;
99

10-
beforeAll(() => {
11-
global.ResizeObserver = class ResizeObserver {
12-
callback;
13-
constructor(callback) {
14-
this.callback = callback;
15-
}
16-
observe() {
17-
// Call the callback
18-
this.callback();
19-
}
20-
unobserve() {
21-
// do nothing
22-
}
23-
disconnect() {
24-
// do nothing
25-
}
26-
};
27-
});
28-
2910
beforeEach(() => {
3011
wrapper = document.createElement('div');
3112
scrollableContainer = document.createElement('div');

src/components/dataTable/__tests__/hooks/useDataTableStickyDividers.test.ts

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -13,25 +13,6 @@ describe('useDataTableStickyDividers', () => {
1313
let leftBoxShadowContainer: HTMLDivElement;
1414
let ref: React.RefObject<HTMLDivElement>;
1515

16-
beforeAll(() => {
17-
global.ResizeObserver = class ResizeObserver {
18-
callback;
19-
constructor(callback) {
20-
this.callback = callback;
21-
}
22-
observe() {
23-
// Call the callback
24-
this.callback();
25-
}
26-
unobserve() {
27-
// do nothing
28-
}
29-
disconnect() {
30-
// do nothing
31-
}
32-
};
33-
});
34-
3516
beforeEach(() => {
3617
wrapper = document.createElement('div');
3718
scrollableContainer = document.createElement('div');

0 commit comments

Comments
 (0)