@amsterdam/design-system-react 2.1.0 → 2.2.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/dist/Avatar/Avatar.d.ts +2 -2
- package/dist/Card/Card.d.ts +1 -1
- package/dist/Card/CardHeading.d.ts +1 -1
- package/dist/Checkbox/Checkbox.d.ts +1 -1
- package/dist/DateInput/DateInput.d.ts +1 -1
- package/dist/FieldSet/FieldSet.d.ts +11 -0
- package/dist/FieldSet/FieldSet.js +3 -3
- package/dist/Hint/Hint.d.ts +1 -0
- package/dist/Hint/Hint.js +2 -2
- package/dist/Image/Image.js +1 -1
- package/dist/Label/Label.d.ts +11 -0
- package/dist/Label/Label.js +2 -2
- package/dist/LinkList/LinkList.d.ts +1 -1
- package/dist/Menu/MenuLink.d.ts +2 -2
- package/dist/Page/Page.d.ts +6 -2
- package/dist/Page/Page.js +1 -1
- package/dist/PageHeader/PageHeader.d.ts +1 -0
- package/dist/PageHeader/PageHeaderMenuIcon.js +1 -1
- package/dist/PageHeader/PageHeaderMenuLink.d.ts +7 -0
- package/dist/PageHeader/PageHeaderMenuLink.js +3 -2
- package/dist/PasswordInput/PasswordInput.d.ts +1 -1
- package/dist/Radio/Radio.d.ts +1 -1
- package/dist/SearchField/SearchField.d.ts +1 -1
- package/dist/TimeInput/TimeInput.d.ts +1 -1
- package/dist/index.cjs.js +29 -28
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +1935 -61
- package/dist/index.esm.js +29 -28
- package/dist/index.esm.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/dist/Accordion/Accordion.test.d.ts +0 -5
- package/dist/Accordion/Accordion.test.js +0 -44
- package/dist/Accordion/AccordionSection.test.d.ts +0 -5
- package/dist/Accordion/AccordionSection.test.js +0 -100
- package/dist/ActionGroup/ActionGroup.test.d.ts +0 -5
- package/dist/ActionGroup/ActionGroup.test.js +0 -33
- package/dist/Alert/Alert.test.d.ts +0 -5
- package/dist/Alert/Alert.test.js +0 -74
- package/dist/App/App.d.ts +0 -12
- package/dist/App/App.js +0 -8
- package/dist/App/App.test.d.ts +0 -5
- package/dist/App/App.test.js +0 -33
- package/dist/App/index.d.ts +0 -6
- package/dist/App/index.js +0 -5
- package/dist/AppNavigation/AppNavigation.d.ts +0 -45
- package/dist/AppNavigation/AppNavigation.js +0 -18
- package/dist/AppNavigation/AppNavigation.test.d.ts +0 -5
- package/dist/AppNavigation/AppNavigation.test.js +0 -33
- package/dist/AppNavigation/AppNavigationButton.d.ts +0 -18
- package/dist/AppNavigation/AppNavigationButton.js +0 -17
- package/dist/AppNavigation/AppNavigationLink.d.ts +0 -19
- package/dist/AppNavigation/AppNavigationLink.js +0 -19
- package/dist/AppNavigation/AppNavigationMenu.d.ts +0 -9
- package/dist/AppNavigation/AppNavigationMenu.js +0 -5
- package/dist/AppNavigation/index.d.ts +0 -6
- package/dist/AppNavigation/index.js +0 -5
- package/dist/Avatar/Avatar.test.d.ts +0 -5
- package/dist/Avatar/Avatar.test.js +0 -63
- package/dist/Badge/Badge.test.d.ts +0 -5
- package/dist/Badge/Badge.test.js +0 -43
- package/dist/Blockquote/Blockquote.test.d.ts +0 -5
- package/dist/Blockquote/Blockquote.test.js +0 -46
- package/dist/Breadcrumb/Breadcrumb.test.d.ts +0 -5
- package/dist/Breadcrumb/Breadcrumb.test.js +0 -45
- package/dist/Breadcrumb/BreadcrumbLink.test.d.ts +0 -5
- package/dist/Breadcrumb/BreadcrumbLink.test.js +0 -40
- package/dist/Breakout/Breakout.test.d.ts +0 -5
- package/dist/Breakout/Breakout.test.js +0 -62
- package/dist/Breakout/BreakoutCell.test.d.ts +0 -5
- package/dist/Breakout/BreakoutCell.test.js +0 -128
- package/dist/Button/Button.test.d.ts +0 -5
- package/dist/Button/Button.test.js +0 -114
- package/dist/CallToActionLink/CallToActionLink.test.d.ts +0 -5
- package/dist/CallToActionLink/CallToActionLink.test.js +0 -33
- package/dist/Card/Card.test.d.ts +0 -5
- package/dist/Card/Card.test.js +0 -33
- package/dist/Card/CardHeading.test.d.ts +0 -5
- package/dist/Card/CardHeading.test.js +0 -38
- package/dist/Card/CardHeadingGroup.test.d.ts +0 -5
- package/dist/Card/CardHeadingGroup.test.js +0 -38
- package/dist/Card/CardImage.test.d.ts +0 -5
- package/dist/Card/CardImage.test.js +0 -33
- package/dist/Card/CardLink.test.d.ts +0 -5
- package/dist/Card/CardLink.test.js +0 -33
- package/dist/CharacterCount/CharacterCount.test.d.ts +0 -5
- package/dist/CharacterCount/CharacterCount.test.js +0 -38
- package/dist/Checkbox/Checkbox.test.d.ts +0 -5
- package/dist/Checkbox/Checkbox.test.js +0 -142
- package/dist/Column/Column.test.d.ts +0 -5
- package/dist/Column/Column.test.js +0 -59
- package/dist/DateInput/DateInput.test.d.ts +0 -5
- package/dist/DateInput/DateInput.test.js +0 -58
- package/dist/DescriptionList/DescriptionList.test.d.ts +0 -5
- package/dist/DescriptionList/DescriptionList.test.js +0 -43
- package/dist/DescriptionList/DescriptionListDescription.test.d.ts +0 -5
- package/dist/DescriptionList/DescriptionListDescription.test.js +0 -33
- package/dist/DescriptionList/DescriptionListSection.test.d.ts +0 -5
- package/dist/DescriptionList/DescriptionListSection.test.js +0 -33
- package/dist/DescriptionList/DescriptionListTerm.test.d.ts +0 -5
- package/dist/DescriptionList/DescriptionListTerm.test.js +0 -33
- package/dist/Dialog/Dialog.test.d.ts +0 -5
- package/dist/Dialog/Dialog.test.js +0 -82
- package/dist/ErrorMessage/ErrorMessage.test.d.ts +0 -5
- package/dist/ErrorMessage/ErrorMessage.test.js +0 -53
- package/dist/Field/Field.test.d.ts +0 -5
- package/dist/Field/Field.test.js +0 -38
- package/dist/FieldSet/FieldSet.test.d.ts +0 -5
- package/dist/FieldSet/FieldSet.test.js +0 -70
- package/dist/Figure/Figure.test.d.ts +0 -5
- package/dist/Figure/Figure.test.js +0 -33
- package/dist/Figure/FigureCaption.test.d.ts +0 -5
- package/dist/Figure/FigureCaption.test.js +0 -38
- package/dist/FileInput/FileInput.test.d.ts +0 -5
- package/dist/FileInput/FileInput.test.js +0 -33
- package/dist/FileList/FileList.test.d.ts +0 -5
- package/dist/FileList/FileList.test.js +0 -33
- package/dist/FileList/FileListItem.test.d.ts +0 -5
- package/dist/FileList/FileListItem.test.js +0 -44
- package/dist/Grid/Grid.test.d.ts +0 -5
- package/dist/Grid/Grid.test.js +0 -69
- package/dist/Grid/GridCell.test.d.ts +0 -5
- package/dist/Grid/GridCell.test.js +0 -84
- package/dist/Heading/Heading.test.d.ts +0 -5
- package/dist/Heading/Heading.test.js +0 -70
- package/dist/Hint/Hint.test.d.ts +0 -5
- package/dist/Hint/Hint.test.js +0 -53
- package/dist/Icon/Icon.test.d.ts +0 -5
- package/dist/Icon/Icon.test.js +0 -60
- package/dist/IconButton/IconButton.test.d.ts +0 -5
- package/dist/IconButton/IconButton.test.js +0 -48
- package/dist/Image/Image.test.d.ts +0 -5
- package/dist/Image/Image.test.js +0 -43
- package/dist/ImageSlider/ImageSlider.test.d.ts +0 -5
- package/dist/ImageSlider/ImageSlider.test.js +0 -70
- package/dist/ImageSlider/ImageSliderControls.test.d.ts +0 -5
- package/dist/ImageSlider/ImageSliderControls.test.js +0 -25
- package/dist/ImageSlider/ImageSliderItem.test.d.ts +0 -5
- package/dist/ImageSlider/ImageSliderItem.test.js +0 -37
- package/dist/ImageSlider/ImageSliderScroller.test.d.ts +0 -5
- package/dist/ImageSlider/ImageSliderScroller.test.js +0 -37
- package/dist/ImageSlider/ImageSliderThumbnails.test.d.ts +0 -5
- package/dist/ImageSlider/ImageSliderThumbnails.test.js +0 -52
- package/dist/InvalidFormAlert/InvalidFormAlert.test.d.ts +0 -5
- package/dist/InvalidFormAlert/InvalidFormAlert.test.js +0 -108
- package/dist/Label/Label.test.d.ts +0 -5
- package/dist/Label/Label.test.js +0 -82
- package/dist/Link/Link.test.d.ts +0 -5
- package/dist/Link/Link.test.js +0 -43
- package/dist/LinkList/LinkList.test.d.ts +0 -5
- package/dist/LinkList/LinkList.test.js +0 -33
- package/dist/LinkList/LinkListLink.test.d.ts +0 -5
- package/dist/LinkList/LinkListLink.test.js +0 -54
- package/dist/Logo/Logo.test.d.ts +0 -5
- package/dist/Logo/Logo.test.js +0 -33
- package/dist/Mark/Mark.test.d.ts +0 -5
- package/dist/Mark/Mark.test.js +0 -33
- package/dist/Menu/Menu.test.d.ts +0 -5
- package/dist/Menu/Menu.test.js +0 -55
- package/dist/Menu/MenuLink.test.d.ts +0 -5
- package/dist/Menu/MenuLink.test.js +0 -56
- package/dist/OrderedList/OrderedList.test.d.ts +0 -5
- package/dist/OrderedList/OrderedList.test.js +0 -55
- package/dist/OrderedList/OrderedListItem.test.d.ts +0 -5
- package/dist/OrderedList/OrderedListItem.test.js +0 -32
- package/dist/Overlap/Overlap.test.d.ts +0 -5
- package/dist/Overlap/Overlap.test.js +0 -38
- package/dist/Page/Page.test.d.ts +0 -5
- package/dist/Page/Page.test.js +0 -33
- package/dist/PageFooter/PageFooter.test.d.ts +0 -5
- package/dist/PageFooter/PageFooter.test.js +0 -33
- package/dist/PageFooter/PageFooterMenu.test.d.ts +0 -5
- package/dist/PageFooter/PageFooterMenu.test.js +0 -35
- package/dist/PageFooter/PageFooterMenuLink.test.d.ts +0 -5
- package/dist/PageFooter/PageFooterMenuLink.test.js +0 -33
- package/dist/PageFooter/PageFooterSpotlight.test.d.ts +0 -5
- package/dist/PageFooter/PageFooterSpotlight.test.js +0 -33
- package/dist/PageHeader/PageHeader.test.d.ts +0 -6
- package/dist/PageHeader/PageHeader.test.js +0 -131
- package/dist/PageHeader/PageHeaderGridCellNarrowWindowOnly.test.d.ts +0 -5
- package/dist/PageHeader/PageHeaderGridCellNarrowWindowOnly.test.js +0 -38
- package/dist/PageHeader/PageHeaderMenuLink.test.d.ts +0 -5
- package/dist/PageHeader/PageHeaderMenuLink.test.js +0 -45
- package/dist/PageHeading/PageHeading.test.d.ts +0 -5
- package/dist/PageHeading/PageHeading.test.js +0 -40
- package/dist/Pagination/Pagination.test.d.ts +0 -5
- package/dist/Pagination/Pagination.test.js +0 -137
- package/dist/Paragraph/Paragraph.test.d.ts +0 -5
- package/dist/Paragraph/Paragraph.test.js +0 -62
- package/dist/PasswordInput/PasswordInput.test.d.ts +0 -5
- package/dist/PasswordInput/PasswordInput.test.js +0 -89
- package/dist/Radio/Radio.test.d.ts +0 -5
- package/dist/Radio/Radio.test.js +0 -134
- package/dist/Row/Row.test.d.ts +0 -5
- package/dist/Row/Row.test.js +0 -64
- package/dist/SearchField/SearchField.test.d.ts +0 -5
- package/dist/SearchField/SearchField.test.js +0 -33
- package/dist/SearchField/SearchFieldButton.test.d.ts +0 -5
- package/dist/SearchField/SearchFieldButton.test.js +0 -47
- package/dist/SearchField/SearchFieldInput.test.d.ts +0 -5
- package/dist/SearchField/SearchFieldInput.test.js +0 -65
- package/dist/Select/Select.test.d.ts +0 -5
- package/dist/Select/Select.test.js +0 -74
- package/dist/Select/SelectOption.test.d.ts +0 -5
- package/dist/Select/SelectOption.test.js +0 -45
- package/dist/Select/SelectOptionGroup.test.d.ts +0 -5
- package/dist/Select/SelectOptionGroup.test.js +0 -45
- package/dist/SkipLink/SkipLink.test.d.ts +0 -5
- package/dist/SkipLink/SkipLink.test.js +0 -33
- package/dist/Spotlight/Spotlight.test.d.ts +0 -5
- package/dist/Spotlight/Spotlight.test.js +0 -46
- package/dist/StandaloneLink/StandaloneLink.test.d.ts +0 -5
- package/dist/StandaloneLink/StandaloneLink.test.js +0 -46
- package/dist/Switch/Switch.test.d.ts +0 -5
- package/dist/Switch/Switch.test.js +0 -69
- package/dist/Table/Table.test.d.ts +0 -5
- package/dist/Table/Table.test.js +0 -33
- package/dist/Table/TableBody.test.d.ts +0 -5
- package/dist/Table/TableBody.test.js +0 -34
- package/dist/Table/TableCaption.test.d.ts +0 -5
- package/dist/Table/TableCaption.test.js +0 -45
- package/dist/Table/TableCell.test.d.ts +0 -5
- package/dist/Table/TableCell.test.js +0 -36
- package/dist/Table/TableFooter.test.d.ts +0 -5
- package/dist/Table/TableFooter.test.js +0 -34
- package/dist/Table/TableHeader.test.d.ts +0 -5
- package/dist/Table/TableHeader.test.js +0 -34
- package/dist/Table/TableHeaderCell.test.d.ts +0 -5
- package/dist/Table/TableHeaderCell.test.js +0 -42
- package/dist/Table/TableRow.test.d.ts +0 -5
- package/dist/Table/TableRow.test.js +0 -35
- package/dist/TableOfContents/TableOfContents.test.d.ts +0 -5
- package/dist/TableOfContents/TableOfContents.test.js +0 -44
- package/dist/TableOfContents/TableOfContentsLink.test.d.ts +0 -5
- package/dist/TableOfContents/TableOfContentsLink.test.js +0 -34
- package/dist/TableOfContents/TableOfContentsList.test.d.ts +0 -5
- package/dist/TableOfContents/TableOfContentsList.test.js +0 -40
- package/dist/Tabs/Tabs.test.d.ts +0 -5
- package/dist/Tabs/Tabs.test.js +0 -104
- package/dist/Tabs/TabsButton.test.d.ts +0 -5
- package/dist/Tabs/TabsButton.test.js +0 -57
- package/dist/Tabs/TabsList.test.d.ts +0 -5
- package/dist/Tabs/TabsList.test.js +0 -32
- package/dist/Tabs/TabsPanel.test.d.ts +0 -5
- package/dist/Tabs/TabsPanel.test.js +0 -42
- package/dist/TextArea/TextArea.test.d.ts +0 -5
- package/dist/TextArea/TextArea.test.js +0 -105
- package/dist/TextInput/TextInput.test.d.ts +0 -5
- package/dist/TextInput/TextInput.test.js +0 -92
- package/dist/TimeInput/TimeInput.test.d.ts +0 -5
- package/dist/TimeInput/TimeInput.test.js +0 -51
- package/dist/UnorderedList/UnorderedList.test.d.ts +0 -5
- package/dist/UnorderedList/UnorderedList.test.js +0 -55
- package/dist/UnorderedList/UnorderedListItem.test.d.ts +0 -5
- package/dist/UnorderedList/UnorderedListItem.test.js +0 -32
- package/dist/common/formatFileSize.test.d.ts +0 -5
- package/dist/common/formatFileSize.test.js +0 -22
- package/dist/common/formatFileType.test.d.ts +0 -5
- package/dist/common/formatFileType.test.js +0 -27
- package/dist/common/useKeyboardFocus.test.d.ts +0 -5
- package/dist/common/useKeyboardFocus.test.js +0 -79
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* @license EUPL-1.2+
|
|
4
|
-
* Copyright Gemeente Amsterdam
|
|
5
|
-
*/
|
|
6
|
-
import { render, screen } from '@testing-library/react';
|
|
7
|
-
import { createRef } from 'react';
|
|
8
|
-
import { Avatar, avatarColors } from './Avatar';
|
|
9
|
-
import '@testing-library/jest-dom';
|
|
10
|
-
describe('Avatar', () => {
|
|
11
|
-
it('renders', () => {
|
|
12
|
-
render(_jsx(Avatar, { label: "NR" }));
|
|
13
|
-
const component = screen.getByText('Initialen gebruiker: NR');
|
|
14
|
-
expect(component).toBeInTheDocument();
|
|
15
|
-
expect(component).toBeVisible();
|
|
16
|
-
});
|
|
17
|
-
it('renders a design system BEM class name', () => {
|
|
18
|
-
const { container } = render(_jsx(Avatar, { label: "RS" }));
|
|
19
|
-
const component = container.querySelector(':only-child');
|
|
20
|
-
expect(component).toHaveClass('ams-avatar');
|
|
21
|
-
});
|
|
22
|
-
it('renders an extra class name', () => {
|
|
23
|
-
const { container } = render(_jsx(Avatar, { className: "extra", label: "VS" }));
|
|
24
|
-
const component = container.querySelector(':only-child');
|
|
25
|
-
expect(component).toHaveClass('ams-avatar extra');
|
|
26
|
-
});
|
|
27
|
-
it('renders with a label consisting of no more than two, uppercase letters', () => {
|
|
28
|
-
const { container } = render(_jsx(Avatar, { label: "Design System" }));
|
|
29
|
-
const component = container.querySelector(':only-child');
|
|
30
|
-
expect(component).toHaveTextContent('DE');
|
|
31
|
-
});
|
|
32
|
-
it('renders with default content and title', () => {
|
|
33
|
-
const { container } = render(_jsx(Avatar, { label: "" }));
|
|
34
|
-
const component = screen.getByText('Gebruiker');
|
|
35
|
-
const svg = container.querySelector('svg');
|
|
36
|
-
expect(component).toBeVisible();
|
|
37
|
-
expect(svg).toBeInTheDocument();
|
|
38
|
-
expect(svg).not.toBeVisible(); // The icon is hidden by default, and only shown when the CSS loads.
|
|
39
|
-
});
|
|
40
|
-
it('renders with a profile picture', () => {
|
|
41
|
-
const { container } = render(_jsx(Avatar, { imageSrc: "image-source", label: "RS" }));
|
|
42
|
-
const component = screen.getByText('Initialen gebruiker: RS');
|
|
43
|
-
const image = container.querySelector('[src="image-source"]');
|
|
44
|
-
expect(component).toBeVisible();
|
|
45
|
-
expect(image).toBeVisible();
|
|
46
|
-
});
|
|
47
|
-
it('shortens a label that is too long', () => {
|
|
48
|
-
const { container } = render(_jsx(Avatar, { label: "ABC" }));
|
|
49
|
-
const component = container.querySelector(':only-child');
|
|
50
|
-
expect(component).toHaveTextContent('AB');
|
|
51
|
-
});
|
|
52
|
-
avatarColors.map((color) => it(`renders with ${color} color`, () => {
|
|
53
|
-
const { container } = render(_jsx(Avatar, { color: color, label: "AL" }));
|
|
54
|
-
const component = container.querySelector(':only-child');
|
|
55
|
-
expect(component).toHaveClass(`ams-avatar--${color}`);
|
|
56
|
-
}));
|
|
57
|
-
it('supports ForwardRef in React', () => {
|
|
58
|
-
const ref = createRef();
|
|
59
|
-
const { container } = render(_jsx(Avatar, { label: "AL", ref: ref }));
|
|
60
|
-
const component = container.querySelector(':only-child');
|
|
61
|
-
expect(ref.current).toBe(component);
|
|
62
|
-
});
|
|
63
|
-
});
|
package/dist/Badge/Badge.test.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* @license EUPL-1.2+
|
|
4
|
-
* Copyright Gemeente Amsterdam
|
|
5
|
-
*/
|
|
6
|
-
import { render } from '@testing-library/react';
|
|
7
|
-
import { createRef } from 'react';
|
|
8
|
-
import { Badge, badgeColors } from './Badge';
|
|
9
|
-
import '@testing-library/jest-dom';
|
|
10
|
-
describe('Badge', () => {
|
|
11
|
-
it('renders', () => {
|
|
12
|
-
const { container } = render(_jsx(Badge, { label: "test" }));
|
|
13
|
-
const component = container.querySelector(':only-child');
|
|
14
|
-
expect(component).toBeInTheDocument();
|
|
15
|
-
expect(component).toBeVisible();
|
|
16
|
-
});
|
|
17
|
-
it('renders a design system BEM class name', () => {
|
|
18
|
-
const { container } = render(_jsx(Badge, { label: "test" }));
|
|
19
|
-
const component = container.querySelector(':only-child');
|
|
20
|
-
expect(component).toHaveClass('ams-badge');
|
|
21
|
-
});
|
|
22
|
-
it('renders an extra class name', () => {
|
|
23
|
-
const { container } = render(_jsx(Badge, { className: "extra", label: "test" }));
|
|
24
|
-
const component = container.querySelector(':only-child');
|
|
25
|
-
expect(component).toHaveClass('ams-badge extra');
|
|
26
|
-
});
|
|
27
|
-
it('supports ForwardRef in React', () => {
|
|
28
|
-
const ref = createRef();
|
|
29
|
-
const { container } = render(_jsx(Badge, { label: "test", ref: ref }));
|
|
30
|
-
const component = container.querySelector(':only-child');
|
|
31
|
-
expect(ref.current).toBe(component);
|
|
32
|
-
});
|
|
33
|
-
it('renders with a number label', () => {
|
|
34
|
-
const { container } = render(_jsx(Badge, { label: 1 }));
|
|
35
|
-
const component = container.querySelector(':only-child');
|
|
36
|
-
expect(component).toHaveTextContent('1');
|
|
37
|
-
});
|
|
38
|
-
badgeColors.map((color) => it(`renders with ${color} color`, () => {
|
|
39
|
-
const { container } = render(_jsx(Badge, { color: color, label: "test" }));
|
|
40
|
-
const component = container.querySelector(':only-child');
|
|
41
|
-
expect(component).toHaveClass(`ams-badge--${color}`);
|
|
42
|
-
}));
|
|
43
|
-
});
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* @license EUPL-1.2+
|
|
4
|
-
* Copyright Gemeente Amsterdam
|
|
5
|
-
*/
|
|
6
|
-
import { render, screen } from '@testing-library/react';
|
|
7
|
-
import { createRef } from 'react';
|
|
8
|
-
import { Blockquote } from './Blockquote';
|
|
9
|
-
import '@testing-library/jest-dom';
|
|
10
|
-
describe('Blockquote', () => {
|
|
11
|
-
it('renders a blockquote HTML element', () => {
|
|
12
|
-
const { container } = render(_jsx(Blockquote, {}));
|
|
13
|
-
// TODO: Testing library doesn't seem to recognize the 'blockquote' ARIA role?
|
|
14
|
-
// const quote = screen.getByRole('blockquote')
|
|
15
|
-
const quote = container.querySelector('blockquote:only-child');
|
|
16
|
-
expect(quote).toBeInTheDocument();
|
|
17
|
-
expect(quote).toBeVisible();
|
|
18
|
-
});
|
|
19
|
-
it('renders its content', () => {
|
|
20
|
-
render(_jsx(Blockquote, { children: "Quote" }));
|
|
21
|
-
const quote = screen.getByText('Quote');
|
|
22
|
-
expect(quote).toBeInTheDocument();
|
|
23
|
-
expect(quote).toBeVisible();
|
|
24
|
-
});
|
|
25
|
-
it('renders a design system BEM class name', () => {
|
|
26
|
-
const { container } = render(_jsx(Blockquote, {}));
|
|
27
|
-
const quote = container.querySelector(':only-child');
|
|
28
|
-
expect(quote).toHaveClass('ams-blockquote');
|
|
29
|
-
});
|
|
30
|
-
it('renders an extra class name', () => {
|
|
31
|
-
const { container } = render(_jsx(Blockquote, { className: "extra" }));
|
|
32
|
-
const quote = container.querySelector(':only-child');
|
|
33
|
-
expect(quote).toHaveClass('ams-blockquote extra');
|
|
34
|
-
});
|
|
35
|
-
it('renders the class name for inverse color', () => {
|
|
36
|
-
const { container } = render(_jsx(Blockquote, { color: "inverse" }));
|
|
37
|
-
const quote = container.querySelector(':only-child');
|
|
38
|
-
expect(quote).toHaveClass('ams-blockquote--inverse');
|
|
39
|
-
});
|
|
40
|
-
it('supports ForwardRef in React', () => {
|
|
41
|
-
const ref = createRef();
|
|
42
|
-
const { container } = render(_jsx(Blockquote, { ref: ref }));
|
|
43
|
-
const quote = container.querySelector(':only-child');
|
|
44
|
-
expect(ref.current).toBe(quote);
|
|
45
|
-
});
|
|
46
|
-
});
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* @license EUPL-1.2+
|
|
4
|
-
* Copyright Gemeente Amsterdam
|
|
5
|
-
*/
|
|
6
|
-
import { render, screen } from '@testing-library/react';
|
|
7
|
-
import { createRef } from 'react';
|
|
8
|
-
import { Breadcrumb } from './Breadcrumb';
|
|
9
|
-
import '@testing-library/jest-dom';
|
|
10
|
-
describe('Breadcrumb', () => {
|
|
11
|
-
it('renders', () => {
|
|
12
|
-
render(_jsx(Breadcrumb, {}));
|
|
13
|
-
const component = screen.getByRole('navigation');
|
|
14
|
-
expect(component).toBeInTheDocument();
|
|
15
|
-
expect(component).toBeVisible();
|
|
16
|
-
});
|
|
17
|
-
it('renders a design system BEM class name', () => {
|
|
18
|
-
render(_jsx(Breadcrumb, {}));
|
|
19
|
-
const component = screen.getByRole('navigation');
|
|
20
|
-
expect(component).toHaveClass('ams-breadcrumb');
|
|
21
|
-
});
|
|
22
|
-
it('renders an extra class name', () => {
|
|
23
|
-
render(_jsx(Breadcrumb, { className: "extra" }));
|
|
24
|
-
const component = screen.getByRole('navigation');
|
|
25
|
-
expect(component).toHaveClass('ams-breadcrumb extra');
|
|
26
|
-
});
|
|
27
|
-
it('renders Breadcrumb component with children', () => {
|
|
28
|
-
const breadcrumbLinks = [
|
|
29
|
-
{ href: '/link-1', label: 'Link 1' },
|
|
30
|
-
{ href: '/link-2', label: 'Link 2' },
|
|
31
|
-
{ href: '/link-3', label: 'Link 3' },
|
|
32
|
-
];
|
|
33
|
-
const { container } = render(_jsx(Breadcrumb, { children: breadcrumbLinks.map((link) => (_jsx(Breadcrumb.Link, { href: link.href, children: link.label }, link.label))) }));
|
|
34
|
-
const breadcrumb = screen.getByRole('navigation');
|
|
35
|
-
const breadcrumbs = container.querySelectorAll('.ams-breadcrumb__item');
|
|
36
|
-
expect(breadcrumb).toBeInTheDocument();
|
|
37
|
-
expect(breadcrumbs.length).toBe(3);
|
|
38
|
-
});
|
|
39
|
-
it('is able to pass a React ref', () => {
|
|
40
|
-
const ref = createRef();
|
|
41
|
-
const { container } = render(_jsx(Breadcrumb, { ref: ref, children: _jsx(Breadcrumb.Link, { href: "/link-1", children: "Valid Link" }) }));
|
|
42
|
-
const breadcrumb = container.querySelector(':only-child');
|
|
43
|
-
expect(ref.current).toBe(breadcrumb);
|
|
44
|
-
});
|
|
45
|
-
});
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* @license EUPL-1.2+
|
|
4
|
-
* Copyright Gemeente Amsterdam
|
|
5
|
-
*/
|
|
6
|
-
import { render, screen } from '@testing-library/react';
|
|
7
|
-
import { createRef } from 'react';
|
|
8
|
-
import { BreadcrumbLink } from './BreadcrumbLink';
|
|
9
|
-
import '@testing-library/jest-dom';
|
|
10
|
-
describe('Breadcrumb link', () => {
|
|
11
|
-
it('renders', () => {
|
|
12
|
-
render(_jsx(BreadcrumbLink, { href: "/" }));
|
|
13
|
-
const component = screen.getByRole('listitem');
|
|
14
|
-
expect(component).toBeInTheDocument();
|
|
15
|
-
expect(component).toBeVisible();
|
|
16
|
-
});
|
|
17
|
-
it('renders a design system BEM class name', () => {
|
|
18
|
-
render(_jsx(BreadcrumbLink, { href: "/" }));
|
|
19
|
-
const item = screen.getByRole('listitem');
|
|
20
|
-
expect(item).toHaveClass('ams-breadcrumb__item');
|
|
21
|
-
const link = screen.getByRole('link');
|
|
22
|
-
expect(link).toHaveClass('ams-breadcrumb__link');
|
|
23
|
-
});
|
|
24
|
-
it('renders an extra class name', () => {
|
|
25
|
-
render(_jsx(BreadcrumbLink, { className: "extra", href: "/" }));
|
|
26
|
-
const component = screen.getByRole('link');
|
|
27
|
-
expect(component).toHaveClass('ams-breadcrumb__link extra');
|
|
28
|
-
});
|
|
29
|
-
it('renders the href attribute', () => {
|
|
30
|
-
render(_jsx(BreadcrumbLink, { href: "/" }));
|
|
31
|
-
const component = screen.getByRole('link');
|
|
32
|
-
expect(component).toHaveAttribute('href', '/');
|
|
33
|
-
});
|
|
34
|
-
it('supports ForwardRef in React', () => {
|
|
35
|
-
const ref = createRef();
|
|
36
|
-
render(_jsx(BreadcrumbLink, { href: "/", ref: ref }));
|
|
37
|
-
const component = screen.getByRole('link');
|
|
38
|
-
expect(ref.current).toBe(component);
|
|
39
|
-
});
|
|
40
|
-
});
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* @license EUPL-1.2+
|
|
4
|
-
* Copyright Gemeente Amsterdam
|
|
5
|
-
*/
|
|
6
|
-
import { render } from '@testing-library/react';
|
|
7
|
-
import { createRef } from 'react';
|
|
8
|
-
import { gridGaps, gridPaddings } from '../Grid/Grid';
|
|
9
|
-
import { Breakout } from './Breakout';
|
|
10
|
-
import '@testing-library/jest-dom';
|
|
11
|
-
describe('Breakout', () => {
|
|
12
|
-
it('renders', () => {
|
|
13
|
-
const { container } = render(_jsx(Breakout, {}));
|
|
14
|
-
const component = container.querySelector(':only-child');
|
|
15
|
-
expect(component).toBeInTheDocument();
|
|
16
|
-
expect(component).toBeVisible();
|
|
17
|
-
});
|
|
18
|
-
it('renders a design system BEM class name', () => {
|
|
19
|
-
const { container } = render(_jsx(Breakout, {}));
|
|
20
|
-
const component = container.querySelector(':only-child');
|
|
21
|
-
expect(component).toHaveClass('ams-breakout');
|
|
22
|
-
});
|
|
23
|
-
it('renders an extra class name', () => {
|
|
24
|
-
const { container } = render(_jsx(Breakout, { className: "extra" }));
|
|
25
|
-
const component = container.querySelector(':only-child');
|
|
26
|
-
expect(component).toHaveClass('ams-breakout extra');
|
|
27
|
-
});
|
|
28
|
-
gridGaps.forEach((size) => {
|
|
29
|
-
it(`renders the correct class name for a ${size} vertical gap`, () => {
|
|
30
|
-
const { container } = render(_jsx(Breakout, { gapVertical: size }));
|
|
31
|
-
const component = container.querySelector(':only-child');
|
|
32
|
-
expect(component).toHaveClass(`ams-breakout--gap-vertical--${size}`);
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
gridPaddings.forEach((size) => {
|
|
36
|
-
it(`renders the correct class name for a ${size} bottom padding`, () => {
|
|
37
|
-
const { container } = render(_jsx(Breakout, { paddingBottom: size }));
|
|
38
|
-
const component = container.querySelector(':only-child');
|
|
39
|
-
expect(component).toHaveClass(`ams-breakout--padding-bottom--${size}`);
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
gridPaddings.forEach((size) => {
|
|
43
|
-
it(`renders the correct class name for a ${size} top padding`, () => {
|
|
44
|
-
const { container } = render(_jsx(Breakout, { paddingTop: size }));
|
|
45
|
-
const component = container.querySelector(':only-child');
|
|
46
|
-
expect(component).toHaveClass(`ams-breakout--padding-top--${size}`);
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
gridPaddings.forEach((size) => {
|
|
50
|
-
it(`renders the correct class name for a ${size} vertical padding`, () => {
|
|
51
|
-
const { container } = render(_jsx(Breakout, { paddingVertical: size }));
|
|
52
|
-
const component = container.querySelector(':only-child');
|
|
53
|
-
expect(component).toHaveClass(`ams-breakout--padding-vertical--${size}`);
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
it('supports ForwardRef in React', () => {
|
|
57
|
-
const ref = createRef();
|
|
58
|
-
const { container } = render(_jsx(Breakout, { ref: ref }));
|
|
59
|
-
const component = container.querySelector(':only-child');
|
|
60
|
-
expect(ref.current).toBe(component);
|
|
61
|
-
});
|
|
62
|
-
});
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* @license EUPL-1.2+
|
|
4
|
-
* Copyright Gemeente Amsterdam
|
|
5
|
-
*/
|
|
6
|
-
import { render, screen } from '@testing-library/react';
|
|
7
|
-
import { createRef } from 'react';
|
|
8
|
-
import { ariaRoleForTag } from '../common/accessibility';
|
|
9
|
-
import '@testing-library/jest-dom';
|
|
10
|
-
import { Breakout } from './Breakout';
|
|
11
|
-
import { breakoutCellTags } from './BreakoutCell';
|
|
12
|
-
describe('Breakout cell', () => {
|
|
13
|
-
it('renders', () => {
|
|
14
|
-
const { container } = render(_jsx(Breakout.Cell, {}));
|
|
15
|
-
const component = container.querySelector(':only-child');
|
|
16
|
-
expect(component).toBeInTheDocument();
|
|
17
|
-
expect(component).toBeVisible();
|
|
18
|
-
});
|
|
19
|
-
it('renders a design system BEM class name', () => {
|
|
20
|
-
const { container } = render(_jsx(Breakout.Cell, {}));
|
|
21
|
-
const component = container.querySelector(':only-child');
|
|
22
|
-
expect(component).toHaveClass('ams-breakout__cell');
|
|
23
|
-
});
|
|
24
|
-
it('renders an extra class name', () => {
|
|
25
|
-
const { container } = render(_jsx(Breakout.Cell, { className: "extra" }));
|
|
26
|
-
const component = container.querySelector(':only-child');
|
|
27
|
-
expect(component).toHaveClass('ams-breakout__cell extra');
|
|
28
|
-
});
|
|
29
|
-
breakoutCellTags.forEach((tag) => {
|
|
30
|
-
it(`renders with a custom ${tag} tag`, () => {
|
|
31
|
-
const { container } = render(_jsx(Breakout.Cell, { "aria-label": tag === 'section' ? 'Accessible name' : undefined, as: tag }));
|
|
32
|
-
const component = tag === 'div' ? container.querySelector(tag) : screen.getByRole(ariaRoleForTag[tag]);
|
|
33
|
-
expect(component).toBeInTheDocument();
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
it('supports ForwardRef in React', () => {
|
|
37
|
-
const ref = createRef();
|
|
38
|
-
const { container } = render(_jsx(Breakout.Cell, { ref: ref }));
|
|
39
|
-
const component = container.querySelector(':only-child');
|
|
40
|
-
expect(ref.current).toBe(component);
|
|
41
|
-
});
|
|
42
|
-
it('renders no class names for undefined values for colStart and colSpan', () => {
|
|
43
|
-
const { container } = render(_jsx(Breakout.Cell, {}));
|
|
44
|
-
const elementWithColSpanClass = container.querySelector('[class*="ams-breakout__cell--col-span"]');
|
|
45
|
-
const elementWithColStartClass = container.querySelector('[class*="ams-breakout__cell--col-start"]');
|
|
46
|
-
const elementWithRowSpanClass = container.querySelector('[class*="ams-breakout__cell--row-span"]');
|
|
47
|
-
const elementWithRowStartClass = container.querySelector('[class*="ams-breakout__cell--row-start"]');
|
|
48
|
-
expect(elementWithColSpanClass).not.toBeInTheDocument();
|
|
49
|
-
expect(elementWithColStartClass).not.toBeInTheDocument();
|
|
50
|
-
expect(elementWithRowSpanClass).not.toBeInTheDocument();
|
|
51
|
-
expect(elementWithRowStartClass).not.toBeInTheDocument();
|
|
52
|
-
});
|
|
53
|
-
it('renders class names for single number values for colStart and colSpan', () => {
|
|
54
|
-
const { container } = render(_jsx(Breakout.Cell, { colSpan: 4, colStart: 2 }));
|
|
55
|
-
const component = container.querySelector(':only-child');
|
|
56
|
-
expect(component).toHaveClass('ams-breakout__cell--col-span-4 ams-breakout__cell--col-start-2');
|
|
57
|
-
});
|
|
58
|
-
it('renders class names for a single number value for colStart', () => {
|
|
59
|
-
const { container } = render(_jsx(Breakout.Cell, { colSpan: 8 }));
|
|
60
|
-
const component = container.querySelector(':only-child');
|
|
61
|
-
expect(component).toHaveClass('ams-breakout__cell--col-span-8');
|
|
62
|
-
});
|
|
63
|
-
it('renders class names for a single number value for colSpan', () => {
|
|
64
|
-
const { container } = render(_jsx(Breakout.Cell, { colStart: 6 }));
|
|
65
|
-
const component = container.querySelector(':only-child');
|
|
66
|
-
expect(component).toHaveClass('ams-breakout__cell--col-start-6');
|
|
67
|
-
});
|
|
68
|
-
it('renders class names for a single number for colSpan and an object for colStart', () => {
|
|
69
|
-
const { container } = render(_jsx(Breakout.Cell, { colSpan: 8, colStart: { narrow: 2, medium: 4, wide: 6 } }));
|
|
70
|
-
const component = container.querySelector(':only-child');
|
|
71
|
-
expect(component).toHaveClass('ams-breakout__cell--col-span-8 ams-breakout__cell--col-start-2 ams-breakout__cell--col-start-4-medium ams-breakout__cell--col-start-6-wide');
|
|
72
|
-
});
|
|
73
|
-
it('renders class names for an object for colSpan and a single number for colStart', () => {
|
|
74
|
-
const { container } = render(_jsx(Breakout.Cell, { colSpan: { narrow: 3, medium: 5, wide: 7 }, colStart: 2 }));
|
|
75
|
-
const component = container.querySelector(':only-child');
|
|
76
|
-
expect(component).toHaveClass('ams-breakout__cell--col-span-3 ams-breakout__cell--col-span-5-medium ams-breakout__cell--col-span-7-wide ams-breakout__cell--col-start-2');
|
|
77
|
-
});
|
|
78
|
-
it('renders class names for an object for both colSpan and colStart', () => {
|
|
79
|
-
const { container } = render(_jsx(Breakout.Cell, { colSpan: { narrow: 2, medium: 4, wide: 6 }, colStart: { narrow: 1, medium: 3, wide: 5 } }));
|
|
80
|
-
const component = container.querySelector(':only-child');
|
|
81
|
-
expect(component).toHaveClass('ams-breakout__cell--col-span-2 ams-breakout__cell--col-span-4-medium ams-breakout__cell--col-span-6-wide ams-breakout__cell--col-start-1 ams-breakout__cell--col-start-3-medium ams-breakout__cell--col-start-5-wide');
|
|
82
|
-
});
|
|
83
|
-
it('renders the correct class name for the “all” value of colSpan', () => {
|
|
84
|
-
const { container } = render(_jsx(Breakout.Cell, { colSpan: "all" }));
|
|
85
|
-
const component = container.querySelector(':only-child');
|
|
86
|
-
expect(component).toHaveClass('ams-breakout__cell--col-span-all');
|
|
87
|
-
});
|
|
88
|
-
it('renders class names for single number values for rowStart and rowSpan', () => {
|
|
89
|
-
const { container } = render(_jsx(Breakout.Cell, { rowSpan: 3, rowStart: 2 }));
|
|
90
|
-
const component = container.querySelector(':only-child');
|
|
91
|
-
expect(component).toHaveClass('ams-breakout__cell--row-span-3 ams-breakout__cell--row-start-2');
|
|
92
|
-
});
|
|
93
|
-
it('renders class names for a single number value for rowStart', () => {
|
|
94
|
-
const { container } = render(_jsx(Breakout.Cell, { rowStart: 4 }));
|
|
95
|
-
const component = container.querySelector(':only-child');
|
|
96
|
-
expect(component).toHaveClass('ams-breakout__cell--row-start-4');
|
|
97
|
-
});
|
|
98
|
-
it('renders class names for a single number value for rowSpan', () => {
|
|
99
|
-
const { container } = render(_jsx(Breakout.Cell, { rowSpan: 2 }));
|
|
100
|
-
const component = container.querySelector(':only-child');
|
|
101
|
-
expect(component).toHaveClass('ams-breakout__cell--row-span-2');
|
|
102
|
-
});
|
|
103
|
-
it('renders class names for a single number for rowSpan and an object for rowStart', () => {
|
|
104
|
-
const { container } = render(_jsx(Breakout.Cell, { rowSpan: 3, rowStart: { narrow: 1, medium: 2, wide: 3 } }));
|
|
105
|
-
const component = container.querySelector(':only-child');
|
|
106
|
-
expect(component).toHaveClass('ams-breakout__cell--row-span-3 ams-breakout__cell--row-start-1 ams-breakout__cell--row-start-2-medium ams-breakout__cell--row-start-3-wide');
|
|
107
|
-
});
|
|
108
|
-
it('renders class names for an object for rowSpan and a single number for rowStart', () => {
|
|
109
|
-
const { container } = render(_jsx(Breakout.Cell, { rowSpan: { narrow: 2, medium: 3, wide: 4 }, rowStart: 1 }));
|
|
110
|
-
const component = container.querySelector(':only-child');
|
|
111
|
-
expect(component).toHaveClass('ams-breakout__cell--row-span-2 ams-breakout__cell--row-span-3-medium ams-breakout__cell--row-span-4-wide ams-breakout__cell--row-start-1');
|
|
112
|
-
});
|
|
113
|
-
it('renders class names for an object for both rowSpan and rowStart', () => {
|
|
114
|
-
const { container } = render(_jsx(Breakout.Cell, { rowSpan: { narrow: 2, medium: 3, wide: 4 }, rowStart: { narrow: 1, medium: 2, wide: 3 } }));
|
|
115
|
-
const component = container.querySelector(':only-child');
|
|
116
|
-
expect(component).toHaveClass('ams-breakout__cell--row-span-2 ams-breakout__cell--row-span-3-medium ams-breakout__cell--row-span-4-wide ams-breakout__cell--row-start-1 ams-breakout__cell--row-start-2-medium ams-breakout__cell--row-start-3-wide');
|
|
117
|
-
});
|
|
118
|
-
it(`renders the correct class if it has a Figure`, () => {
|
|
119
|
-
const { container } = render(_jsx(Breakout.Cell, { has: "figure" }));
|
|
120
|
-
const component = container.querySelector(':only-child');
|
|
121
|
-
expect(component).toHaveClass(`ams-breakout__cell--has-figure`);
|
|
122
|
-
});
|
|
123
|
-
it(`renders the correct class if it has a Spotlight`, () => {
|
|
124
|
-
const { container } = render(_jsx(Breakout.Cell, { colSpan: "all", has: "spotlight" }));
|
|
125
|
-
const component = container.querySelector(':only-child');
|
|
126
|
-
expect(component).toHaveClass(`ams-breakout__cell--has-spotlight`);
|
|
127
|
-
});
|
|
128
|
-
});
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* @license EUPL-1.2+
|
|
4
|
-
* Copyright Gemeente Amsterdam
|
|
5
|
-
*/
|
|
6
|
-
import { CloseIcon } from '@amsterdam/design-system-react-icons';
|
|
7
|
-
import { render, screen } from '@testing-library/react';
|
|
8
|
-
import '@testing-library/jest-dom';
|
|
9
|
-
import { createRef } from 'react';
|
|
10
|
-
import { Button } from './Button';
|
|
11
|
-
describe('Button', () => {
|
|
12
|
-
it('renders an element with role button', () => {
|
|
13
|
-
render(_jsx(Button, { children: "Click me!" }));
|
|
14
|
-
const button = screen.getByRole('button', {
|
|
15
|
-
name: 'Click me!',
|
|
16
|
-
});
|
|
17
|
-
expect(button).toBeInTheDocument();
|
|
18
|
-
expect(button).toBeVisible();
|
|
19
|
-
});
|
|
20
|
-
it('renders a design system BEM class name', () => {
|
|
21
|
-
render(_jsx(Button, { children: "Click me!" }));
|
|
22
|
-
const button = screen.getByRole('button', {
|
|
23
|
-
name: 'Click me!',
|
|
24
|
-
});
|
|
25
|
-
expect(button).toHaveClass('ams-button');
|
|
26
|
-
});
|
|
27
|
-
it('renders an extra class name', () => {
|
|
28
|
-
render(_jsx(Button, { className: "extra", children: "Click me!" }));
|
|
29
|
-
const button = screen.getByRole('button', {
|
|
30
|
-
name: 'Click me!',
|
|
31
|
-
});
|
|
32
|
-
expect(button).toHaveClass('ams-button extra');
|
|
33
|
-
});
|
|
34
|
-
it('renders a default button with variant primary', () => {
|
|
35
|
-
render(_jsx(Button, { children: "primary" }));
|
|
36
|
-
const button = screen.getByRole('button', {
|
|
37
|
-
name: 'primary',
|
|
38
|
-
});
|
|
39
|
-
expect(button).toBeInTheDocument();
|
|
40
|
-
expect(button).toHaveAttribute('type', 'button');
|
|
41
|
-
expect(button).toHaveClass('ams-button--primary');
|
|
42
|
-
});
|
|
43
|
-
it('renders a button with a specified variant', () => {
|
|
44
|
-
render(_jsxs(_Fragment, { children: [_jsx(Button, { variant: "primary", children: "primary" }), _jsx(Button, { variant: "secondary", children: "secondary" }), _jsx(Button, { variant: "tertiary", children: "tertiary" })] }));
|
|
45
|
-
const buttonPrimary = screen.getByRole('button', {
|
|
46
|
-
name: 'primary',
|
|
47
|
-
});
|
|
48
|
-
const buttonSecondary = screen.getByRole('button', {
|
|
49
|
-
name: 'secondary',
|
|
50
|
-
});
|
|
51
|
-
const buttonTertiary = screen.getByRole('button', {
|
|
52
|
-
name: 'tertiary',
|
|
53
|
-
});
|
|
54
|
-
expect(buttonPrimary).toBeInTheDocument();
|
|
55
|
-
expect(buttonPrimary).toHaveClass('ams-button--primary');
|
|
56
|
-
expect(buttonSecondary).toBeInTheDocument();
|
|
57
|
-
expect(buttonSecondary).toHaveClass('ams-button--secondary');
|
|
58
|
-
expect(buttonTertiary).toBeInTheDocument();
|
|
59
|
-
expect(buttonTertiary).toHaveClass('ams-button--tertiary');
|
|
60
|
-
});
|
|
61
|
-
it('renders a disabled button with a specified variant', () => {
|
|
62
|
-
render(_jsxs(_Fragment, { children: [_jsx(Button, { disabled: true, variant: "primary", children: "primary" }), _jsx(Button, { disabled: true, variant: "secondary", children: "secondary" }), _jsx(Button, { disabled: true, variant: "tertiary", children: "tertiary" })] }));
|
|
63
|
-
const buttonPrimary = screen.getByRole('button', {
|
|
64
|
-
name: 'primary',
|
|
65
|
-
});
|
|
66
|
-
const buttonSecondary = screen.getByRole('button', {
|
|
67
|
-
name: 'secondary',
|
|
68
|
-
});
|
|
69
|
-
const buttonTertiary = screen.getByRole('button', {
|
|
70
|
-
name: 'tertiary',
|
|
71
|
-
});
|
|
72
|
-
expect(buttonPrimary).toBeInTheDocument();
|
|
73
|
-
expect(buttonPrimary).toBeDisabled();
|
|
74
|
-
expect(buttonSecondary).toBeInTheDocument();
|
|
75
|
-
expect(buttonSecondary).toBeDisabled();
|
|
76
|
-
expect(buttonTertiary).toBeInTheDocument();
|
|
77
|
-
expect(buttonTertiary).toBeDisabled();
|
|
78
|
-
});
|
|
79
|
-
it('is able to pass a React ref', () => {
|
|
80
|
-
const ref = createRef();
|
|
81
|
-
const { container } = render(_jsx(Button, { ref: ref, children: "Click me!" }));
|
|
82
|
-
const button = container.querySelector(':only-child');
|
|
83
|
-
expect(ref.current).toBe(button);
|
|
84
|
-
});
|
|
85
|
-
it('renders a button with an icon at the end', () => {
|
|
86
|
-
render(_jsx(Button, { icon: CloseIcon, children: _jsx("span", { children: "Sluiten" }) }));
|
|
87
|
-
const button = screen.getByRole('button', {
|
|
88
|
-
name: 'Sluiten',
|
|
89
|
-
});
|
|
90
|
-
const icon = button.querySelector('.ams-icon:last-child');
|
|
91
|
-
expect(button).toBeInTheDocument();
|
|
92
|
-
expect(icon).toBeInTheDocument();
|
|
93
|
-
});
|
|
94
|
-
it('renders a button with an icon before the label', () => {
|
|
95
|
-
render(_jsx(Button, { icon: CloseIcon, iconBefore: true, children: _jsx("span", { children: "Sluiten" }) }));
|
|
96
|
-
const button = screen.getByRole('button', {
|
|
97
|
-
name: 'Sluiten',
|
|
98
|
-
});
|
|
99
|
-
const icon = button.querySelector('.ams-icon:first-child');
|
|
100
|
-
expect(button).toBeInTheDocument();
|
|
101
|
-
expect(icon).toBeInTheDocument();
|
|
102
|
-
});
|
|
103
|
-
it('renders a button with an icon only', () => {
|
|
104
|
-
render(_jsx(Button, { icon: CloseIcon, iconOnly: true, variant: "tertiary", children: "Sluiten" }));
|
|
105
|
-
const button = screen.getByRole('button', {
|
|
106
|
-
name: 'Sluiten',
|
|
107
|
-
});
|
|
108
|
-
const icon = button.querySelector('.ams-icon');
|
|
109
|
-
const label = button.querySelector('.ams-visually-hidden');
|
|
110
|
-
expect(button).toBeInTheDocument();
|
|
111
|
-
expect(icon).toBeInTheDocument();
|
|
112
|
-
expect(label).toBeInTheDocument();
|
|
113
|
-
});
|
|
114
|
-
});
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* @license EUPL-1.2+
|
|
4
|
-
* Copyright Gemeente Amsterdam
|
|
5
|
-
*/
|
|
6
|
-
import { render, screen } from '@testing-library/react';
|
|
7
|
-
import { createRef } from 'react';
|
|
8
|
-
import { CallToActionLink } from './CallToActionLink';
|
|
9
|
-
import '@testing-library/jest-dom';
|
|
10
|
-
describe('Call to Action Link', () => {
|
|
11
|
-
it('renders with href attribute', () => {
|
|
12
|
-
render(_jsx(CallToActionLink, { href: "#" }));
|
|
13
|
-
const component = screen.getByRole('link');
|
|
14
|
-
expect(component).toBeInTheDocument();
|
|
15
|
-
expect(component).toHaveAttribute('href', '#');
|
|
16
|
-
});
|
|
17
|
-
it('renders a design system BEM class name', () => {
|
|
18
|
-
render(_jsx(CallToActionLink, { href: "#" }));
|
|
19
|
-
const component = screen.getByRole('link');
|
|
20
|
-
expect(component).toHaveClass('ams-call-to-action-link');
|
|
21
|
-
});
|
|
22
|
-
it('renders an extra class name', () => {
|
|
23
|
-
render(_jsx(CallToActionLink, { className: "extra", href: "#" }));
|
|
24
|
-
const component = screen.getByRole('link');
|
|
25
|
-
expect(component).toHaveClass('ams-call-to-action-link extra');
|
|
26
|
-
});
|
|
27
|
-
it('supports ForwardRef in React', () => {
|
|
28
|
-
const ref = createRef();
|
|
29
|
-
render(_jsx(CallToActionLink, { href: "#", ref: ref }));
|
|
30
|
-
const component = screen.getByRole('link');
|
|
31
|
-
expect(ref.current).toBe(component);
|
|
32
|
-
});
|
|
33
|
-
});
|