Skip to content

Commit ef8aed8

Browse files
committed
More tests
1 parent d8d095f commit ef8aed8

File tree

1 file changed

+26
-3
lines changed

1 file changed

+26
-3
lines changed

src/breadcrumb-group/__tests__/breadcrumb-group.test.tsx

+26-3
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,19 @@ import createWrapper, { BreadcrumbGroupWrapper, ElementWrapper } from '../../../
1111
import itemStyles from '../../../lib/components/breadcrumb-group/item/styles.css.js';
1212
import styles from '../../../lib/components/breadcrumb-group/styles.css.js';
1313

14+
let mockMobileViewport = false;
15+
jest.mock('@cloudscape-design/component-toolkit', () => {
16+
const actualUseContainerQuery = jest.requireActual('@cloudscape-design/component-toolkit');
17+
return {
18+
...actualUseContainerQuery,
19+
useContainerQuery: (arg: any) =>
20+
mockMobileViewport ? [10, () => {}] : actualUseContainerQuery.useContainerQuery(arg),
21+
};
22+
});
23+
afterEach(() => {
24+
mockMobileViewport = false;
25+
});
26+
1427
const renderBreadcrumbGroup = (props: BreadcrumbGroupProps) => {
1528
const renderResult = render(<BreadcrumbGroup {...props} />);
1629
return createWrapper(renderResult.container).findBreadcrumbGroup()!;
@@ -123,7 +136,8 @@ describe('BreadcrumbGroup Component', () => {
123136
});
124137
});
125138

126-
test('supports extended items object', () => {
139+
test.each([[true], [false]])('supports extended items object (mobile: %p)', mobile => {
140+
mockMobileViewport = mobile;
127141
interface ExtendedItem extends BreadcrumbGroupProps.Item {
128142
metadata: number;
129143
}
@@ -143,7 +157,13 @@ describe('BreadcrumbGroup Component', () => {
143157
/>
144158
);
145159
const wrapper = createWrapper(container).findBreadcrumbGroup()!;
146-
wrapper.findBreadcrumbLink(2)!.click();
160+
if (mobile) {
161+
const dropdown = wrapper.findDropdown()!;
162+
dropdown.openDropdown();
163+
dropdown.findItems()[1].click();
164+
} else {
165+
wrapper.findBreadcrumbLink(2)!.click();
166+
}
147167
expect(onClick).toHaveBeenCalledWith(items[1]);
148168
});
149169

@@ -233,7 +253,10 @@ describe('BreadcrumbGroup Component', () => {
233253
});
234254
});
235255

236-
describe('funnel attributes', () => {
256+
describe.each([[true], [false]])('funnel attributes (mobile: %p)', mobile => {
257+
beforeEach(() => {
258+
mockMobileViewport = mobile;
259+
});
237260
function getElementsText(elements: Array<ElementWrapper>) {
238261
return Array.from(elements).map(element => element.getElement().textContent);
239262
}

0 commit comments

Comments
 (0)