@patternfly/react-core 4.244.1 → 4.245.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/dist/esm/components/Alert/Alert.d.ts +4 -0
- package/dist/esm/components/Alert/Alert.d.ts.map +1 -1
- package/dist/esm/components/Alert/Alert.js.map +1 -1
- package/dist/esm/components/Alert/AlertActionCloseButton.js +2 -4
- package/dist/esm/components/Alert/AlertActionCloseButton.js.map +1 -1
- package/dist/esm/components/Alert/AlertToggleExpandButton.js +1 -1
- package/dist/esm/components/Alert/AlertToggleExpandButton.js.map +1 -1
- package/dist/esm/components/Breadcrumb/Breadcrumb.d.ts +4 -0
- package/dist/esm/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/esm/components/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/esm/components/Button/Button.d.ts +4 -0
- package/dist/esm/components/Button/Button.d.ts.map +1 -1
- package/dist/esm/components/Button/Button.js.map +1 -1
- package/dist/esm/components/Card/Card.d.ts +4 -0
- package/dist/esm/components/Card/Card.d.ts.map +1 -1
- package/dist/esm/components/Card/Card.js.map +1 -1
- package/dist/esm/components/Checkbox/Checkbox.d.ts +4 -0
- package/dist/esm/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/esm/components/Chip/Chip.d.ts +2 -0
- package/dist/esm/components/Chip/Chip.d.ts.map +1 -1
- package/dist/esm/components/Chip/Chip.js.map +1 -1
- package/dist/esm/components/ChipGroup/ChipGroup.d.ts +2 -0
- package/dist/esm/components/ChipGroup/ChipGroup.d.ts.map +1 -1
- package/dist/esm/components/ChipGroup/ChipGroup.js.map +1 -1
- package/dist/esm/components/ContextSelector/ContextSelector.d.ts +4 -0
- package/dist/esm/components/ContextSelector/ContextSelector.d.ts.map +1 -1
- package/dist/esm/components/ContextSelector/ContextSelector.js.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.d.ts +4 -0
- package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/Dropdown/DropdownItem.d.ts +4 -0
- package/dist/esm/components/Dropdown/DropdownItem.d.ts.map +1 -1
- package/dist/esm/components/Dropdown/DropdownItem.js.map +1 -1
- package/dist/esm/components/Dropdown/DropdownSeparator.d.ts +4 -0
- package/dist/esm/components/Dropdown/DropdownSeparator.d.ts.map +1 -1
- package/dist/esm/components/Dropdown/DropdownSeparator.js.map +1 -1
- package/dist/esm/components/Dropdown/DropdownToggle.d.ts +4 -0
- package/dist/esm/components/Dropdown/DropdownToggle.d.ts.map +1 -1
- package/dist/esm/components/Dropdown/DropdownToggle.js.map +1 -1
- package/dist/esm/components/Dropdown/DropdownToggleCheckbox.d.ts +4 -0
- package/dist/esm/components/Dropdown/DropdownToggleCheckbox.d.ts.map +1 -1
- package/dist/esm/components/Dropdown/DropdownToggleCheckbox.js.map +1 -1
- package/dist/esm/components/Form/Form.d.ts +4 -2
- package/dist/esm/components/Form/Form.d.ts.map +1 -1
- package/dist/esm/components/Form/Form.js +4 -3
- package/dist/esm/components/Form/Form.js.map +1 -1
- package/dist/esm/components/FormSelect/FormSelect.d.ts +4 -0
- package/dist/esm/components/FormSelect/FormSelect.d.ts.map +1 -1
- package/dist/esm/components/FormSelect/FormSelect.js.map +1 -1
- package/dist/esm/components/LoginPage/LoginForm.d.ts +1 -1
- package/dist/esm/components/LoginPage/LoginForm.d.ts.map +1 -1
- package/dist/esm/components/Menu/Menu.d.ts +4 -0
- package/dist/esm/components/Menu/Menu.d.ts.map +1 -1
- package/dist/esm/components/Menu/Menu.js.map +1 -1
- package/dist/esm/components/MenuToggle/MenuToggleCheckbox.d.ts +4 -0
- package/dist/esm/components/MenuToggle/MenuToggleCheckbox.d.ts.map +1 -1
- package/dist/esm/components/MenuToggle/MenuToggleCheckbox.js.map +1 -1
- package/dist/esm/components/Modal/Modal.d.ts +4 -0
- package/dist/esm/components/Modal/Modal.d.ts.map +1 -1
- package/dist/esm/components/Modal/Modal.js.map +1 -1
- package/dist/esm/components/Modal/ModalBoxCloseButton.d.ts +2 -0
- package/dist/esm/components/Modal/ModalBoxCloseButton.d.ts.map +1 -1
- package/dist/esm/components/Modal/ModalBoxCloseButton.js.map +1 -1
- package/dist/esm/components/Modal/ModalContent.d.ts +4 -0
- package/dist/esm/components/Modal/ModalContent.d.ts.map +1 -1
- package/dist/esm/components/Modal/ModalContent.js.map +1 -1
- package/dist/esm/components/Nav/Nav.d.ts +4 -0
- package/dist/esm/components/Nav/Nav.d.ts.map +1 -1
- package/dist/esm/components/Nav/Nav.js.map +1 -1
- package/dist/esm/components/Nav/NavExpandable.d.ts +2 -0
- package/dist/esm/components/Nav/NavExpandable.d.ts.map +1 -1
- package/dist/esm/components/Nav/NavExpandable.js.map +1 -1
- package/dist/esm/components/Nav/NavItem.d.ts +4 -0
- package/dist/esm/components/Nav/NavItem.d.ts.map +1 -1
- package/dist/esm/components/Nav/NavItem.js.map +1 -1
- package/dist/esm/components/OptionsMenu/OptionsMenu.d.ts +4 -0
- package/dist/esm/components/OptionsMenu/OptionsMenu.d.ts.map +1 -1
- package/dist/esm/components/OptionsMenu/OptionsMenu.js.map +1 -1
- package/dist/esm/components/OverflowMenu/OverflowMenu.d.ts +7 -1
- package/dist/esm/components/OverflowMenu/OverflowMenu.d.ts.map +1 -1
- package/dist/esm/components/OverflowMenu/OverflowMenu.js +36 -23
- package/dist/esm/components/OverflowMenu/OverflowMenu.js.map +1 -1
- package/dist/esm/components/Pagination/Pagination.d.ts +4 -0
- package/dist/esm/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/esm/components/Pagination/Pagination.js.map +1 -1
- package/dist/esm/components/Radio/Radio.d.ts +4 -0
- package/dist/esm/components/Radio/Radio.d.ts.map +1 -1
- package/dist/esm/components/Radio/Radio.js.map +1 -1
- package/dist/esm/components/Select/Select.d.ts +4 -0
- package/dist/esm/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Switch/Switch.d.ts +4 -0
- package/dist/esm/components/Switch/Switch.d.ts.map +1 -1
- package/dist/esm/components/Switch/Switch.js.map +1 -1
- package/dist/esm/components/Tabs/Tab.d.ts +2 -0
- package/dist/esm/components/Tabs/Tab.d.ts.map +1 -1
- package/dist/esm/components/Tabs/Tab.js.map +1 -1
- package/dist/esm/components/Tabs/TabContent.d.ts +4 -0
- package/dist/esm/components/Tabs/TabContent.d.ts.map +1 -1
- package/dist/esm/components/Tabs/TabContent.js.map +1 -1
- package/dist/esm/components/Tabs/Tabs.d.ts +4 -0
- package/dist/esm/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/esm/components/Tabs/Tabs.js.map +1 -1
- package/dist/esm/components/Text/Text.d.ts +4 -0
- package/dist/esm/components/Text/Text.d.ts.map +1 -1
- package/dist/esm/components/Text/Text.js.map +1 -1
- package/dist/esm/components/TextInput/TextInput.d.ts +4 -0
- package/dist/esm/components/TextInput/TextInput.d.ts.map +1 -1
- package/dist/esm/components/TextInput/TextInput.js.map +1 -1
- package/dist/esm/components/Title/Title.d.ts +4 -0
- package/dist/esm/components/Title/Title.d.ts.map +1 -1
- package/dist/esm/components/Title/Title.js.map +1 -1
- package/dist/esm/components/Toolbar/Toolbar.d.ts +4 -0
- package/dist/esm/components/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/esm/components/Toolbar/Toolbar.js.map +1 -1
- package/dist/js/components/Alert/Alert.d.ts +4 -0
- package/dist/js/components/Alert/Alert.d.ts.map +1 -1
- package/dist/js/components/Alert/Alert.js.map +1 -1
- package/dist/js/components/Alert/AlertActionCloseButton.js +2 -4
- package/dist/js/components/Alert/AlertActionCloseButton.js.map +1 -1
- package/dist/js/components/Alert/AlertToggleExpandButton.js +1 -1
- package/dist/js/components/Alert/AlertToggleExpandButton.js.map +1 -1
- package/dist/js/components/Breadcrumb/Breadcrumb.d.ts +4 -0
- package/dist/js/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/js/components/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/js/components/Button/Button.d.ts +4 -0
- package/dist/js/components/Button/Button.d.ts.map +1 -1
- package/dist/js/components/Button/Button.js.map +1 -1
- package/dist/js/components/Card/Card.d.ts +4 -0
- package/dist/js/components/Card/Card.d.ts.map +1 -1
- package/dist/js/components/Card/Card.js.map +1 -1
- package/dist/js/components/Checkbox/Checkbox.d.ts +4 -0
- package/dist/js/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/js/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/js/components/Chip/Chip.d.ts +2 -0
- package/dist/js/components/Chip/Chip.d.ts.map +1 -1
- package/dist/js/components/Chip/Chip.js.map +1 -1
- package/dist/js/components/ChipGroup/ChipGroup.d.ts +2 -0
- package/dist/js/components/ChipGroup/ChipGroup.d.ts.map +1 -1
- package/dist/js/components/ChipGroup/ChipGroup.js.map +1 -1
- package/dist/js/components/ContextSelector/ContextSelector.d.ts +4 -0
- package/dist/js/components/ContextSelector/ContextSelector.d.ts.map +1 -1
- package/dist/js/components/ContextSelector/ContextSelector.js.map +1 -1
- package/dist/js/components/Dropdown/Dropdown.d.ts +4 -0
- package/dist/js/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/js/components/Dropdown/DropdownItem.d.ts +4 -0
- package/dist/js/components/Dropdown/DropdownItem.d.ts.map +1 -1
- package/dist/js/components/Dropdown/DropdownItem.js.map +1 -1
- package/dist/js/components/Dropdown/DropdownSeparator.d.ts +4 -0
- package/dist/js/components/Dropdown/DropdownSeparator.d.ts.map +1 -1
- package/dist/js/components/Dropdown/DropdownSeparator.js.map +1 -1
- package/dist/js/components/Dropdown/DropdownToggle.d.ts +4 -0
- package/dist/js/components/Dropdown/DropdownToggle.d.ts.map +1 -1
- package/dist/js/components/Dropdown/DropdownToggle.js.map +1 -1
- package/dist/js/components/Dropdown/DropdownToggleCheckbox.d.ts +4 -0
- package/dist/js/components/Dropdown/DropdownToggleCheckbox.d.ts.map +1 -1
- package/dist/js/components/Dropdown/DropdownToggleCheckbox.js.map +1 -1
- package/dist/js/components/Form/Form.d.ts +4 -2
- package/dist/js/components/Form/Form.d.ts.map +1 -1
- package/dist/js/components/Form/Form.js +4 -4
- package/dist/js/components/Form/Form.js.map +1 -1
- package/dist/js/components/FormSelect/FormSelect.d.ts +4 -0
- package/dist/js/components/FormSelect/FormSelect.d.ts.map +1 -1
- package/dist/js/components/FormSelect/FormSelect.js.map +1 -1
- package/dist/js/components/LoginPage/LoginForm.d.ts +1 -1
- package/dist/js/components/LoginPage/LoginForm.d.ts.map +1 -1
- package/dist/js/components/Menu/Menu.d.ts +4 -0
- package/dist/js/components/Menu/Menu.d.ts.map +1 -1
- package/dist/js/components/Menu/Menu.js.map +1 -1
- package/dist/js/components/MenuToggle/MenuToggleCheckbox.d.ts +4 -0
- package/dist/js/components/MenuToggle/MenuToggleCheckbox.d.ts.map +1 -1
- package/dist/js/components/MenuToggle/MenuToggleCheckbox.js.map +1 -1
- package/dist/js/components/Modal/Modal.d.ts +4 -0
- package/dist/js/components/Modal/Modal.d.ts.map +1 -1
- package/dist/js/components/Modal/Modal.js.map +1 -1
- package/dist/js/components/Modal/ModalBoxCloseButton.d.ts +2 -0
- package/dist/js/components/Modal/ModalBoxCloseButton.d.ts.map +1 -1
- package/dist/js/components/Modal/ModalBoxCloseButton.js.map +1 -1
- package/dist/js/components/Modal/ModalContent.d.ts +4 -0
- package/dist/js/components/Modal/ModalContent.d.ts.map +1 -1
- package/dist/js/components/Modal/ModalContent.js.map +1 -1
- package/dist/js/components/Nav/Nav.d.ts +4 -0
- package/dist/js/components/Nav/Nav.d.ts.map +1 -1
- package/dist/js/components/Nav/Nav.js.map +1 -1
- package/dist/js/components/Nav/NavExpandable.d.ts +2 -0
- package/dist/js/components/Nav/NavExpandable.d.ts.map +1 -1
- package/dist/js/components/Nav/NavExpandable.js.map +1 -1
- package/dist/js/components/Nav/NavItem.d.ts +4 -0
- package/dist/js/components/Nav/NavItem.d.ts.map +1 -1
- package/dist/js/components/Nav/NavItem.js.map +1 -1
- package/dist/js/components/OptionsMenu/OptionsMenu.d.ts +4 -0
- package/dist/js/components/OptionsMenu/OptionsMenu.d.ts.map +1 -1
- package/dist/js/components/OptionsMenu/OptionsMenu.js.map +1 -1
- package/dist/js/components/OverflowMenu/OverflowMenu.d.ts +7 -1
- package/dist/js/components/OverflowMenu/OverflowMenu.d.ts.map +1 -1
- package/dist/js/components/OverflowMenu/OverflowMenu.js +35 -22
- package/dist/js/components/OverflowMenu/OverflowMenu.js.map +1 -1
- package/dist/js/components/Pagination/Pagination.d.ts +4 -0
- package/dist/js/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/js/components/Pagination/Pagination.js.map +1 -1
- package/dist/js/components/Radio/Radio.d.ts +4 -0
- package/dist/js/components/Radio/Radio.d.ts.map +1 -1
- package/dist/js/components/Radio/Radio.js.map +1 -1
- package/dist/js/components/Select/Select.d.ts +4 -0
- package/dist/js/components/Select/Select.d.ts.map +1 -1
- package/dist/js/components/Select/Select.js.map +1 -1
- package/dist/js/components/Switch/Switch.d.ts +4 -0
- package/dist/js/components/Switch/Switch.d.ts.map +1 -1
- package/dist/js/components/Switch/Switch.js.map +1 -1
- package/dist/js/components/Tabs/Tab.d.ts +2 -0
- package/dist/js/components/Tabs/Tab.d.ts.map +1 -1
- package/dist/js/components/Tabs/Tab.js.map +1 -1
- package/dist/js/components/Tabs/TabContent.d.ts +4 -0
- package/dist/js/components/Tabs/TabContent.d.ts.map +1 -1
- package/dist/js/components/Tabs/TabContent.js.map +1 -1
- package/dist/js/components/Tabs/Tabs.d.ts +4 -0
- package/dist/js/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/js/components/Tabs/Tabs.js.map +1 -1
- package/dist/js/components/Text/Text.d.ts +4 -0
- package/dist/js/components/Text/Text.d.ts.map +1 -1
- package/dist/js/components/Text/Text.js.map +1 -1
- package/dist/js/components/TextInput/TextInput.d.ts +4 -0
- package/dist/js/components/TextInput/TextInput.d.ts.map +1 -1
- package/dist/js/components/TextInput/TextInput.js.map +1 -1
- package/dist/js/components/Title/Title.d.ts +4 -0
- package/dist/js/components/Title/Title.d.ts.map +1 -1
- package/dist/js/components/Title/Title.js.map +1 -1
- package/dist/js/components/Toolbar/Toolbar.d.ts +4 -0
- package/dist/js/components/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/js/components/Toolbar/Toolbar.js.map +1 -1
- package/dist/umd/react-core.min.js +2 -2
- package/package.json +2 -2
- package/src/components/Alert/Alert.tsx +4 -0
- package/src/components/Alert/AlertActionCloseButton.tsx +2 -2
- package/src/components/Alert/AlertToggleExpandButton.tsx +2 -2
- package/src/components/Alert/__tests__/Alert.test.tsx +713 -199
- package/src/components/Alert/__tests__/AlertActionCloseButton.test.tsx +125 -0
- package/src/components/Alert/__tests__/AlertActionLink.test.tsx +59 -0
- package/src/components/Alert/__tests__/AlertIcon.test.tsx +83 -0
- package/src/components/Alert/__tests__/AlertToggleExpandButton.test.tsx +150 -0
- package/src/components/Alert/__tests__/__snapshots__/Alert.test.tsx.snap +12 -2569
- package/src/components/Alert/__tests__/__snapshots__/AlertActionCloseButton.test.tsx.snap +31 -0
- package/src/components/Alert/__tests__/__snapshots__/AlertActionLink.test.tsx.snap +17 -0
- package/src/components/Alert/__tests__/__snapshots__/AlertIcon.test.tsx.snap +11 -0
- package/src/components/Alert/__tests__/__snapshots__/AlertToggleExpandButton.test.tsx.snap +24 -0
- package/src/components/Breadcrumb/Breadcrumb.tsx +4 -0
- package/src/components/Button/Button.tsx +4 -0
- package/src/components/Card/Card.tsx +4 -0
- package/src/components/Checkbox/Checkbox.tsx +4 -0
- package/src/components/Chip/Chip.tsx +2 -0
- package/src/components/ChipGroup/ChipGroup.tsx +2 -0
- package/src/components/ContextSelector/ContextSelector.tsx +4 -0
- package/src/components/Dropdown/Dropdown.tsx +4 -0
- package/src/components/Dropdown/DropdownItem.tsx +4 -0
- package/src/components/Dropdown/DropdownSeparator.tsx +4 -0
- package/src/components/Dropdown/DropdownToggle.tsx +4 -0
- package/src/components/Dropdown/DropdownToggleCheckbox.tsx +4 -0
- package/src/components/Dropdown/examples/Dropdown.md +1 -1
- package/src/components/Form/Form.tsx +9 -2
- package/src/components/FormSelect/FormSelect.tsx +4 -0
- package/src/components/LoginPage/LoginForm.tsx +1 -1
- package/src/components/Menu/Menu.tsx +4 -0
- package/src/components/MenuToggle/MenuToggleCheckbox.tsx +4 -0
- package/src/components/Modal/Modal.tsx +4 -0
- package/src/components/Modal/ModalBoxCloseButton.tsx +2 -0
- package/src/components/Modal/ModalContent.tsx +4 -0
- package/src/components/Nav/Nav.tsx +4 -0
- package/src/components/Nav/NavExpandable.tsx +2 -0
- package/src/components/Nav/NavItem.tsx +4 -0
- package/src/components/OptionsMenu/OptionsMenu.tsx +4 -0
- package/src/components/OverflowMenu/OverflowMenu.tsx +46 -25
- package/src/components/OverflowMenu/__tests__/OverflowMenu.test.tsx +38 -0
- package/src/components/OverflowMenu/examples/OverflowMenu.md +127 -35
- package/src/components/OverflowMenu/examples/OverflowMenuBreakpointOnContainer.tsx +100 -0
- package/src/components/Pagination/Pagination.tsx +4 -0
- package/src/components/Radio/Radio.tsx +4 -0
- package/src/components/Select/Select.tsx +4 -0
- package/src/components/Switch/Switch.tsx +4 -0
- package/src/components/Tabs/Tab.tsx +2 -0
- package/src/components/Tabs/TabContent.tsx +4 -0
- package/src/components/Tabs/Tabs.tsx +4 -0
- package/src/components/Text/Text.tsx +4 -0
- package/src/components/TextInput/TextInput.tsx +4 -0
- package/src/components/Title/Title.tsx +4 -0
- package/src/components/Toolbar/Toolbar.tsx +4 -0
- package/src/demos/examples/DashboardHeader.js +35 -6
- package/src/helpers/OUIA/OUIA.md +1 -1
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render, screen } from '@testing-library/react';
|
|
3
|
+
import userEvent from '@testing-library/user-event';
|
|
4
|
+
|
|
5
|
+
import { AlertActionCloseButton } from '../AlertActionCloseButton';
|
|
6
|
+
import { AlertContext } from '../AlertContext';
|
|
7
|
+
|
|
8
|
+
jest.mock('../../Button', () => ({
|
|
9
|
+
Button: ({ children, variant, isInline, onClick, ...props }) => (
|
|
10
|
+
<>
|
|
11
|
+
<button onClick={onClick} {...props}>
|
|
12
|
+
{children}
|
|
13
|
+
</button>
|
|
14
|
+
<p>{`variant: ${variant}`}</p>
|
|
15
|
+
<p id="labelling-id">Test label</p>
|
|
16
|
+
</>
|
|
17
|
+
),
|
|
18
|
+
ButtonVariant: { plain: 'plain' }
|
|
19
|
+
}));
|
|
20
|
+
|
|
21
|
+
test('Renders without children', () => {
|
|
22
|
+
render(
|
|
23
|
+
<AlertContext.Provider value={{ title: 'title', variantLabel: 'variantLabel' }}>
|
|
24
|
+
<AlertActionCloseButton />
|
|
25
|
+
</AlertContext.Provider>
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
expect(screen.getByRole('button')).toBeVisible();
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
test('Renders with custom class names provided via prop', () => {
|
|
32
|
+
render(
|
|
33
|
+
<AlertContext.Provider value={{ title: 'title', variantLabel: 'variantLabel' }}>
|
|
34
|
+
<AlertActionCloseButton className="custom-class" />
|
|
35
|
+
</AlertContext.Provider>
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
expect(screen.getByRole('button')).toHaveClass('custom-class');
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
test('Renders with inherited element props spread to the component', () => {
|
|
42
|
+
render(
|
|
43
|
+
<AlertContext.Provider value={{ title: 'title', variantLabel: 'variantLabel' }}>
|
|
44
|
+
<AlertActionCloseButton aria-labelledby="labelling-id" />
|
|
45
|
+
</AlertContext.Provider>
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
expect(screen.getByRole('button')).toHaveAccessibleName('Test label');
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
test('Renders a Button with variant: ButtonVariant.plain', () => {
|
|
52
|
+
render(
|
|
53
|
+
<AlertContext.Provider value={{ title: 'title', variantLabel: 'variantLabel' }}>
|
|
54
|
+
<AlertActionCloseButton />
|
|
55
|
+
</AlertContext.Provider>
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
expect(screen.getByText('variant: plain')).toBeVisible();
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
test('Does not call the callback provided via onClose when it is not clicked', () => {
|
|
62
|
+
const onCloseMock = jest.fn();
|
|
63
|
+
|
|
64
|
+
render(
|
|
65
|
+
<AlertContext.Provider value={{ title: 'title', variantLabel: 'variantLabel' }}>
|
|
66
|
+
<AlertActionCloseButton onClose={onCloseMock} />
|
|
67
|
+
</AlertContext.Provider>
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
expect(onCloseMock).not.toHaveBeenCalled();
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
test('Calls the callback provided via onClose when clicked', async () => {
|
|
74
|
+
const onCloseMock = jest.fn();
|
|
75
|
+
const user = userEvent.setup();
|
|
76
|
+
|
|
77
|
+
render(
|
|
78
|
+
<AlertContext.Provider value={{ title: 'title', variantLabel: 'variantLabel' }}>
|
|
79
|
+
<AlertActionCloseButton onClose={onCloseMock} />
|
|
80
|
+
</AlertContext.Provider>
|
|
81
|
+
);
|
|
82
|
+
|
|
83
|
+
await user.click(screen.getByRole('button'));
|
|
84
|
+
|
|
85
|
+
expect(onCloseMock).toHaveBeenCalledTimes(1);
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
test('Renders with an aria label composed with the title and variantLabel provided via a context by default', () => {
|
|
89
|
+
render(
|
|
90
|
+
<AlertContext.Provider value={{ title: 'title', variantLabel: 'variantLabel' }}>
|
|
91
|
+
<AlertActionCloseButton />
|
|
92
|
+
</AlertContext.Provider>
|
|
93
|
+
);
|
|
94
|
+
|
|
95
|
+
expect(screen.getByRole('button')).toHaveAccessibleName('Close variantLabel alert: title');
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
test('Renders with an aria label composed with the title provided via a context and variantLabel provided via prop', () => {
|
|
99
|
+
render(
|
|
100
|
+
<AlertContext.Provider value={{ title: 'title', variantLabel: 'variantLabel' }}>
|
|
101
|
+
<AlertActionCloseButton variantLabel='variant label prop'/>
|
|
102
|
+
</AlertContext.Provider>
|
|
103
|
+
);
|
|
104
|
+
|
|
105
|
+
expect(screen.getByRole('button')).toHaveAccessibleName('Close variant label prop alert: title');
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
test('Renders with the aria label provided via prop when one is provided', () => {
|
|
109
|
+
render(
|
|
110
|
+
<AlertContext.Provider value={{ title: 'title', variantLabel: 'variantLabel' }}>
|
|
111
|
+
<AlertActionCloseButton aria-label='Aria label prop'/>
|
|
112
|
+
</AlertContext.Provider>
|
|
113
|
+
);
|
|
114
|
+
|
|
115
|
+
expect(screen.getByRole('button')).toHaveAccessibleName('Aria label prop');
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
test('Matches the snapshot', () => {
|
|
119
|
+
const { asFragment } = render(
|
|
120
|
+
<AlertContext.Provider value={{ title: 'title', variantLabel: 'variantLabel' }}>
|
|
121
|
+
<AlertActionCloseButton />
|
|
122
|
+
</AlertContext.Provider>
|
|
123
|
+
);
|
|
124
|
+
expect(asFragment()).toMatchSnapshot();
|
|
125
|
+
});
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render, screen } from '@testing-library/react';
|
|
3
|
+
import { AlertActionLink } from '../AlertActionLink';
|
|
4
|
+
|
|
5
|
+
jest.mock('../../Button', () => ({
|
|
6
|
+
Button: ({ children, variant, isInline, ...props }) => (
|
|
7
|
+
<>
|
|
8
|
+
<button {...props}>{children}</button>
|
|
9
|
+
<p>{`variant: ${variant}`}</p>
|
|
10
|
+
<p>{`isInline: ${isInline}`}</p>
|
|
11
|
+
</>
|
|
12
|
+
),
|
|
13
|
+
ButtonVariant: { link: 'link' }
|
|
14
|
+
}));
|
|
15
|
+
|
|
16
|
+
test('Renders without children', () => {
|
|
17
|
+
render(
|
|
18
|
+
<div data-testid="container">
|
|
19
|
+
<AlertActionLink />
|
|
20
|
+
</div>
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
expect(screen.getByTestId('container').firstChild).toBeVisible();
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
test('Renders children', () => {
|
|
27
|
+
render(<AlertActionLink>Test</AlertActionLink>);
|
|
28
|
+
|
|
29
|
+
expect(screen.getByRole('button')).toBeVisible();
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
test('Renders with custom class names provided via prop', () => {
|
|
33
|
+
render(<AlertActionLink className="custom-class">Test</AlertActionLink>);
|
|
34
|
+
|
|
35
|
+
expect(screen.getByRole('button')).toHaveClass('custom-class');
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
test('Renders with inherited element props spread to the component', () => {
|
|
39
|
+
render(<AlertActionLink aria-label="Test label">Test</AlertActionLink>);
|
|
40
|
+
|
|
41
|
+
expect(screen.getByRole('button')).toHaveAccessibleName('Test label');
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
test('Renders a Button with variant: ButtonVariant.link', () => {
|
|
45
|
+
render(<AlertActionLink>Test</AlertActionLink>);
|
|
46
|
+
|
|
47
|
+
expect(screen.getByText('variant: link')).toBeVisible();
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
test('Renders a Button with isInline: true', () => {
|
|
51
|
+
render(<AlertActionLink>Test</AlertActionLink>);
|
|
52
|
+
|
|
53
|
+
expect(screen.getByText('isInline: true')).toBeVisible();
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
test('Matches the snapshot', () => {
|
|
57
|
+
const { asFragment } = render(<AlertActionLink>Test</AlertActionLink>);
|
|
58
|
+
expect(asFragment()).toMatchSnapshot();
|
|
59
|
+
});
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { render, screen } from '@testing-library/react';
|
|
3
|
+
|
|
4
|
+
import { AlertIcon } from '../AlertIcon';
|
|
5
|
+
|
|
6
|
+
jest.mock('@patternfly/react-icons/dist/esm/icons/check-circle-icon', () => () => 'Check circle icon mock');
|
|
7
|
+
jest.mock('@patternfly/react-icons/dist/esm/icons/exclamation-circle-icon', () => () => 'Exclamation circle icon mock');
|
|
8
|
+
jest.mock('@patternfly/react-icons/dist/esm/icons/exclamation-triangle-icon', () => () =>
|
|
9
|
+
'Exclamation triangle icon mock'
|
|
10
|
+
);
|
|
11
|
+
jest.mock('@patternfly/react-icons/dist/esm/icons/info-circle-icon', () => () => 'Info circle icon mock');
|
|
12
|
+
jest.mock('@patternfly/react-icons/dist/esm/icons/bell-icon', () => () => 'Bell icon mock');
|
|
13
|
+
|
|
14
|
+
test('Renders without children', () => {
|
|
15
|
+
render(
|
|
16
|
+
<div data-testid="container">
|
|
17
|
+
<AlertIcon variant="default" />
|
|
18
|
+
</div>
|
|
19
|
+
);
|
|
20
|
+
|
|
21
|
+
expect(screen.getByTestId('container').firstChild).toBeVisible();
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
test('Renders with the bell icon when variant = default', () => {
|
|
25
|
+
render(<AlertIcon variant="default" />);
|
|
26
|
+
|
|
27
|
+
expect(screen.getByText('Bell icon mock')).toBeVisible();
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
test('Renders with the check circle icon when variant = success', () => {
|
|
31
|
+
render(<AlertIcon variant="success" />);
|
|
32
|
+
|
|
33
|
+
expect(screen.getByText('Check circle icon mock')).toBeVisible();
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
test('Renders with the exclamation circle icon when variant = danger', () => {
|
|
37
|
+
render(<AlertIcon variant="danger" />);
|
|
38
|
+
|
|
39
|
+
expect(screen.getByText('Exclamation circle icon mock')).toBeVisible();
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
test('Renders with the exclamation triangle icon when variant = warning', () => {
|
|
43
|
+
render(<AlertIcon variant="warning" />);
|
|
44
|
+
|
|
45
|
+
expect(screen.getByText('Exclamation triangle icon mock')).toBeVisible();
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
test('Renders with the info circle icon when variant = info', () => {
|
|
49
|
+
render(<AlertIcon variant="info" />);
|
|
50
|
+
|
|
51
|
+
expect(screen.getByText('Info circle icon mock')).toBeVisible();
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
test('Renders with custom class names provided via prop', () => {
|
|
55
|
+
render(<AlertIcon variant="default" className="test-class" />);
|
|
56
|
+
|
|
57
|
+
expect(screen.getByText('Bell icon mock')).toHaveClass('test-class');
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
test('Renders with the passed custom icon when one is passed rather than the icon determined by the passed variant', () => {
|
|
61
|
+
render(<AlertIcon variant="default" customIcon="Custom icon" />);
|
|
62
|
+
|
|
63
|
+
expect(screen.queryByText('Bell icon mock')).not.toBeInTheDocument();
|
|
64
|
+
expect(screen.getByText('Custom icon')).toBeVisible();
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
test('Renders the icon inside class pf-c-alert__icon', () => {
|
|
68
|
+
render(<AlertIcon variant="default" />);
|
|
69
|
+
|
|
70
|
+
expect(screen.getByText('Bell icon mock')).toHaveClass('pf-c-alert__icon');
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
test('Renders with inherited element props spread to the component', () => {
|
|
74
|
+
render(<AlertIcon variant="default" aria-label="Test label" />);
|
|
75
|
+
|
|
76
|
+
expect(screen.getByText('Bell icon mock')).toHaveAccessibleName('Test label');
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
test('Matches snapshot', () => {
|
|
80
|
+
const { asFragment } = render(<AlertIcon variant="default" />);
|
|
81
|
+
|
|
82
|
+
expect(asFragment()).toMatchSnapshot();
|
|
83
|
+
});
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { render, screen } from '@testing-library/react';
|
|
3
|
+
import userEvent from '@testing-library/user-event';
|
|
4
|
+
|
|
5
|
+
import { AlertToggleExpandButton } from '../AlertToggleExpandButton';
|
|
6
|
+
import { AlertContext } from '../AlertContext';
|
|
7
|
+
|
|
8
|
+
jest.mock('../../Button', () => ({
|
|
9
|
+
Button: ({ children, variant, isInline, onClick, ...props }) => (
|
|
10
|
+
<>
|
|
11
|
+
<button onClick={onClick} {...props}>
|
|
12
|
+
{children}
|
|
13
|
+
</button>
|
|
14
|
+
<p>{`variant: ${variant}`}</p>
|
|
15
|
+
<p id="labelling-id">Test label</p>
|
|
16
|
+
</>
|
|
17
|
+
),
|
|
18
|
+
ButtonVariant: { plain: 'plain' }
|
|
19
|
+
}));
|
|
20
|
+
|
|
21
|
+
jest.mock('@patternfly/react-icons/dist/esm/icons/angle-right-icon', () => () => 'Icon mock');
|
|
22
|
+
|
|
23
|
+
test('Renders without children', () => {
|
|
24
|
+
render(
|
|
25
|
+
<div data-testid="container">
|
|
26
|
+
<AlertContext.Provider value={{ title: 'title', variantLabel: 'variantLabel' }}>
|
|
27
|
+
<AlertToggleExpandButton />
|
|
28
|
+
</AlertContext.Provider>
|
|
29
|
+
</div>
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
expect(screen.getByTestId('container').firstChild).toBeVisible();
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
test('Renders with an aria label composed with the title and variantLabel provided via a context by default', () => {
|
|
36
|
+
render(
|
|
37
|
+
<AlertContext.Provider value={{ title: 'title', variantLabel: 'variantLabel' }}>
|
|
38
|
+
<AlertToggleExpandButton />
|
|
39
|
+
</AlertContext.Provider>
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
expect(screen.getByRole('button')).toHaveAccessibleName('Toggle variantLabel alert: title');
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
test('Renders with the aria label provided via prop when one is provided', () => {
|
|
46
|
+
render(
|
|
47
|
+
<AlertContext.Provider value={{ title: 'title', variantLabel: 'variantLabel' }}>
|
|
48
|
+
<AlertToggleExpandButton aria-label="Aria label prop" />
|
|
49
|
+
</AlertContext.Provider>
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
expect(screen.getByRole('button')).toHaveAccessibleName('Aria label prop');
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
test('Does not call the callback provided via onToggleExpand when it is not clicked', () => {
|
|
56
|
+
const onToggleExpandMock = jest.fn();
|
|
57
|
+
|
|
58
|
+
render(
|
|
59
|
+
<AlertContext.Provider value={{ title: 'title', variantLabel: 'variantLabel' }}>
|
|
60
|
+
<AlertToggleExpandButton onToggleExpand={onToggleExpandMock} />
|
|
61
|
+
</AlertContext.Provider>
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
expect(onToggleExpandMock).not.toHaveBeenCalled();
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
test('Calls the callback provided via onToggleExpand when clicked', async () => {
|
|
68
|
+
const onToggleExpandMock = jest.fn();
|
|
69
|
+
const user = userEvent.setup();
|
|
70
|
+
|
|
71
|
+
render(
|
|
72
|
+
<AlertContext.Provider value={{ title: 'title', variantLabel: 'variantLabel' }}>
|
|
73
|
+
<AlertToggleExpandButton onToggleExpand={onToggleExpandMock} />
|
|
74
|
+
</AlertContext.Provider>
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
await user.click(screen.getByRole('button'));
|
|
78
|
+
|
|
79
|
+
expect(onToggleExpandMock).toHaveBeenCalledTimes(1);
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
test('Does not render the button as aria-expanded by default', () => {
|
|
83
|
+
render(
|
|
84
|
+
<AlertContext.Provider value={{ title: 'title', variantLabel: 'variantLabel' }}>
|
|
85
|
+
<AlertToggleExpandButton />
|
|
86
|
+
</AlertContext.Provider>
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
expect(screen.getByRole('button')).toHaveAttribute('aria-expanded', 'false');
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
test('Renders the button as aria-expanded when isExpanded = true', () => {
|
|
93
|
+
render(
|
|
94
|
+
<AlertContext.Provider value={{ title: 'title', variantLabel: 'variantLabel' }}>
|
|
95
|
+
<AlertToggleExpandButton isExpanded />
|
|
96
|
+
</AlertContext.Provider>
|
|
97
|
+
);
|
|
98
|
+
|
|
99
|
+
expect(screen.getByRole('button')).toHaveAttribute('aria-expanded', 'true');
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
test('Renders with an aria label composed with the title provided via a context and variantLabel provided via prop', () => {
|
|
103
|
+
render(
|
|
104
|
+
<AlertContext.Provider value={{ title: 'title', variantLabel: 'variantLabel' }}>
|
|
105
|
+
<AlertToggleExpandButton variantLabel='variantLabelProp'/>
|
|
106
|
+
</AlertContext.Provider>
|
|
107
|
+
);
|
|
108
|
+
|
|
109
|
+
expect(screen.getByRole('button')).toHaveAccessibleName('Toggle variantLabelProp alert: title');
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
test('Renders a Button with variant: ButtonVariant.plain', () => {
|
|
113
|
+
render(
|
|
114
|
+
<AlertContext.Provider value={{ title: 'title', variantLabel: 'variantLabel' }}>
|
|
115
|
+
<AlertToggleExpandButton />
|
|
116
|
+
</AlertContext.Provider>
|
|
117
|
+
);
|
|
118
|
+
|
|
119
|
+
expect(screen.getByText('variant: plain')).toBeVisible();
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
test('Renders with the toggle icon inside class pf-c-alert__toggle-icon', () => {
|
|
123
|
+
render(
|
|
124
|
+
<AlertContext.Provider value={{ title: 'title', variantLabel: 'variantLabel' }}>
|
|
125
|
+
<AlertToggleExpandButton />
|
|
126
|
+
</AlertContext.Provider>
|
|
127
|
+
);
|
|
128
|
+
|
|
129
|
+
expect(screen.getByText('Icon mock')).toHaveClass('pf-c-alert__toggle-icon');
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
test('Renders with inherited element props spread to the component', () => {
|
|
133
|
+
render(
|
|
134
|
+
<AlertContext.Provider value={{ title: 'title', variantLabel: 'variantLabel' }}>
|
|
135
|
+
<AlertToggleExpandButton aria-labelledby="labelling-id" />
|
|
136
|
+
</AlertContext.Provider>
|
|
137
|
+
);
|
|
138
|
+
|
|
139
|
+
expect(screen.getByRole('button')).toHaveAccessibleName('Test label');
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
test('Matches snapshot', () => {
|
|
143
|
+
const { asFragment } = render(
|
|
144
|
+
<AlertContext.Provider value={{ title: 'title', variantLabel: 'variantLabel' }}>
|
|
145
|
+
<AlertToggleExpandButton />
|
|
146
|
+
</AlertContext.Provider>
|
|
147
|
+
);
|
|
148
|
+
|
|
149
|
+
expect(asFragment()).toMatchSnapshot();
|
|
150
|
+
});
|