Skip to content

Commit 2d25ee1

Browse files
committed
chore: add tests
1 parent 492dd42 commit 2d25ee1

File tree

1 file changed

+35
-1
lines changed

1 file changed

+35
-1
lines changed

src/__tests__/functional-tests/test-utils.test.tsx

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import { pascalCase } from 'change-case';
1111

1212
import { clearVisualRefreshState } from '@cloudscape-design/component-toolkit/internal/testing';
1313

14-
import { Modal } from '../../../lib/components';
14+
import { Dropdown, Modal } from '../../../lib/components';
1515
import Button from '../../../lib/components/button';
1616
import createWrapperDom, { ElementWrapper as DomElementWrapper } from '../../../lib/components/test-utils/dom';
1717
import createWrapperSelectors from '../../../lib/components/test-utils/selectors';
@@ -249,3 +249,37 @@ describe.each(componentWithMultipleRootElements)('ElementWrapper selectors for %
249249
});
250250
});
251251
});
252+
253+
describe('DropdownWrapper test-utils', () => {
254+
test('findOpenDropdown returns null when dropdown is closed', () => {
255+
const { container } = renderTestingLibrary(
256+
<Dropdown trigger={<button />} open={false} content={<div>content</div>} />
257+
);
258+
const wrapper = createWrapperDom(container).findDropdown()!;
259+
expect(wrapper.findOpenDropdown()).toBeNull();
260+
});
261+
262+
test('findOpenDropdown returns the open dropdown element when open', () => {
263+
const { container } = renderTestingLibrary(
264+
<Dropdown trigger={<button />} open={true} content={<div>content</div>} />
265+
);
266+
const wrapper = createWrapperDom(container).findDropdown()!;
267+
expect(wrapper.findOpenDropdown()).not.toBeNull();
268+
});
269+
270+
test('findOpenDropdown with expandToViewport finds portaled dropdown', () => {
271+
const { container } = renderTestingLibrary(
272+
<Dropdown trigger={<button />} open={true} expandToViewport={true} content={<div>content</div>} />
273+
);
274+
const wrapper = createWrapperDom(container).findDropdown()!;
275+
expect(wrapper.findOpenDropdown({ expandToViewport: true })).not.toBeNull();
276+
});
277+
278+
test('findOpenDropdown with expandToViewport returns null when closed', () => {
279+
const { container } = renderTestingLibrary(
280+
<Dropdown trigger={<button />} open={false} expandToViewport={true} content={<div>content</div>} />
281+
);
282+
const wrapper = createWrapperDom(container).findDropdown()!;
283+
expect(wrapper.findOpenDropdown({ expandToViewport: true })).toBeNull();
284+
});
285+
});

0 commit comments

Comments
 (0)