@madie/madie-design-system 1.0.39 → 1.0.41
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/components/Modal/index.jsx +1 -5
- package/components/Popover/index.js +19 -0
- package/coverage/clover.xml +191 -371
- package/coverage/coverage-final.json +14 -23
- package/coverage/lcov-report/SvgComponents.jsx.html +1702 -0
- package/coverage/lcov-report/components/Accordion/index.html +116 -0
- package/coverage/lcov-report/components/Accordion/index.jsx.html +370 -0
- package/coverage/lcov-report/components/Button/index.html +116 -0
- package/coverage/lcov-report/components/Button/index.js.html +385 -0
- package/coverage/lcov-report/components/Error/Collapsible.jsx.html +364 -0
- package/coverage/lcov-report/components/Error/ErrorUI.jsx.html +178 -0
- package/coverage/lcov-report/components/Error/index.html +131 -0
- package/coverage/lcov-report/components/Footer/FooterUI.jsx.html +496 -0
- package/coverage/lcov-report/components/Footer/LegacyFooterUI.jsx.html +697 -0
- package/coverage/lcov-report/components/Footer/index.html +131 -0
- package/coverage/lcov-report/components/Infotip/Infotip.jsx.html +310 -0
- package/coverage/lcov-report/components/Infotip/InfotipIcon.jsx.html +208 -0
- package/coverage/lcov-report/components/Infotip/index.html +146 -0
- package/coverage/lcov-report/components/Infotip/index.js.html +94 -0
- package/coverage/lcov-report/components/InputLabel/index.html +116 -0
- package/coverage/lcov-report/components/InputLabel/index.jsx.html +244 -0
- package/coverage/lcov-report/components/MadieAlert/index.html +116 -0
- package/coverage/lcov-report/components/MadieAlert/index.jsx.html +304 -0
- package/coverage/lcov-report/components/MadieDeleteDialog/index.html +116 -0
- package/coverage/lcov-report/components/MadieDeleteDialog/index.jsx.html +244 -0
- package/coverage/lcov-report/components/MadieDialog/index.html +116 -0
- package/coverage/lcov-report/components/MadieDialog/index.jsx.html +856 -0
- package/coverage/lcov-report/components/MadieDiscardDialog/index.html +116 -0
- package/coverage/lcov-report/components/MadieDiscardDialog/index.jsx.html +232 -0
- package/coverage/lcov-report/components/MadieSpinner/index.html +116 -0
- package/coverage/lcov-report/components/MadieSpinner/index.jsx.html +190 -0
- package/coverage/lcov-report/components/Modal/LegacyModal.jsx.html +307 -0
- package/coverage/lcov-report/components/Modal/index.html +116 -0
- package/coverage/lcov-report/components/Pagination/index.html +116 -0
- package/coverage/lcov-report/components/Pagination/index.jsx.html +736 -0
- package/coverage/lcov-report/components/Popover/index.html +116 -0
- package/coverage/lcov-report/components/Popover/index.js.html +472 -0
- package/coverage/lcov-report/components/ReadOnlyTextField/index.html +116 -0
- package/coverage/lcov-report/components/ReadOnlyTextField/index.jsx.html +313 -0
- package/coverage/lcov-report/components/SanitizedContent/index.html +116 -0
- package/coverage/lcov-report/components/SanitizedContent/index.jsx.html +685 -0
- package/coverage/lcov-report/components/Select/index.html +116 -0
- package/coverage/lcov-report/components/Select/index.jsx.html +610 -0
- package/coverage/lcov-report/components/TextField/index.html +116 -0
- package/coverage/lcov-report/components/TextField/index.jsx.html +496 -0
- package/coverage/lcov-report/components/Toast/index.html +116 -0
- package/coverage/lcov-report/components/Toast/index.jsx.html +430 -0
- package/coverage/lcov-report/components/Tooltip/Tooltip.jsx.html +349 -0
- package/coverage/lcov-report/components/Tooltip/index.html +146 -0
- package/coverage/lcov-report/components/Tooltip/index.js.html +94 -0
- package/coverage/lcov-report/components/Tooltip/position.js.html +313 -0
- package/coverage/lcov-report/index.html +87 -132
- package/coverage/lcov-report/index.js.html +385 -0
- package/coverage/lcov-report/index.jsx.html +417 -129
- package/coverage/lcov-report/lib/Chevron.jsx.html +181 -0
- package/coverage/lcov-report/lib/SvgComponents.jsx.html +1702 -0
- package/coverage/lcov-report/lib/index.html +131 -0
- package/coverage/lcov-report/react/components/Accordion/index.html +21 -21
- package/coverage/lcov-report/react/components/Accordion/index.jsx.html +29 -29
- package/coverage/lcov-report/react/components/Button/index.html +19 -19
- package/coverage/lcov-report/react/components/Button/index.js.html +45 -36
- package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Error/error.js.html +1 -1
- package/coverage/lcov-report/react/components/Error/index.html +1 -1
- package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +3 -3
- package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Footer/footer.js.html +1 -1
- package/coverage/lcov-report/react/components/Footer/index.html +1 -1
- package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Infotip/index.html +1 -1
- package/coverage/lcov-report/react/components/Infotip/index.js.html +1 -1
- package/coverage/lcov-report/react/components/InputLabel/index.html +5 -5
- package/coverage/lcov-report/react/components/InputLabel/index.jsx.html +8 -8
- package/coverage/lcov-report/react/components/MadieAlert/index.html +3 -18
- package/coverage/lcov-report/react/components/MadieAlert/index.jsx.html +76 -43
- package/coverage/lcov-report/react/components/MadieDeleteDialog/index.html +116 -0
- package/coverage/lcov-report/react/components/MadieDeleteDialog/index.jsx.html +244 -0
- package/coverage/lcov-report/react/components/MadieDialog/Index.jsx.html +9 -9
- package/coverage/lcov-report/react/components/MadieDialog/index.html +1 -1
- package/coverage/lcov-report/react/components/MadieDiscardDialog/index.html +1 -1
- package/coverage/lcov-report/react/components/MadieDiscardDialog/index.jsx.html +1 -1
- package/coverage/lcov-report/react/components/MadieSpinner/index.html +1 -1
- package/coverage/lcov-report/react/components/MadieSpinner/index.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Modal/LegacyModal.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Modal/index.html +18 -33
- package/coverage/lcov-report/react/components/Modal/index.jsx.html +9 -21
- package/coverage/lcov-report/react/components/Pagination/index.html +5 -5
- package/coverage/lcov-report/react/components/Pagination/index.jsx.html +62 -23
- package/coverage/lcov-report/react/components/Popover/index.html +116 -0
- package/coverage/lcov-report/react/components/Popover/index.js.html +472 -0
- package/coverage/lcov-report/react/components/ReadOnlyTextField/index.html +1 -1
- package/coverage/lcov-report/react/components/ReadOnlyTextField/index.jsx.html +1 -1
- package/coverage/lcov-report/react/components/SanitizedContent/index.html +1 -1
- package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Select/index.html +3 -3
- package/coverage/lcov-report/react/components/Select/index.jsx.html +206 -23
- package/coverage/lcov-report/react/components/SessionDialog/index.html +1 -1
- package/coverage/lcov-report/react/components/SessionDialog/sessionDialog.js.html +1 -1
- package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Textfield/index.html +3 -3
- package/coverage/lcov-report/react/components/Textfield/index.jsx.html +198 -9
- package/coverage/lcov-report/react/components/Toast/index.html +9 -9
- package/coverage/lcov-report/react/components/Toast/index.jsx.html +80 -119
- package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +1 -1
- package/coverage/lcov-report/react/components/Tooltip/index.html +1 -1
- package/coverage/lcov-report/react/components/Tooltip/index.js.html +1 -1
- package/coverage/lcov-report/react/components/Tooltip/position.js.html +1 -1
- package/coverage/lcov-report/react/components/index.html +1 -1
- package/coverage/lcov-report/react/index.html +13 -13
- package/coverage/lcov-report/react/index.js.html +7 -19
- package/coverage/lcov-report/react/lib/Chevron.jsx.html +2 -2
- package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +158 -158
- package/coverage/lcov-report/react/lib/index.html +17 -17
- package/coverage/lcov-report/react/session/index.html +1 -1
- package/coverage/lcov-report/react/session/index.js.html +1 -1
- package/coverage/lcov-report/react/session/logout.js.html +1 -1
- package/coverage/lcov-report/react/session/refresh.js.html +1 -1
- package/coverage/lcov-report/react/session/ttl.js.html +1 -1
- package/coverage/lcov.info +377 -735
- package/dist/browser.js +1 -1
- package/dist/index.js +1 -1
- package/dist/react/index.js +12 -12
- package/dist/react/index.js.map +1 -1
- package/index.js +0 -4
- package/lib/SvgComponents.jsx +1 -1
- package/package.json +1 -1
- package/test/components/Accordion.test.js +21 -4
- package/test/components/Button.test.js +72 -0
- package/test/components/MadieAlert.test.js +1 -2
- package/test/components/MadieDeleteDialog.test.js +3 -1
- package/test/components/MadiePopover.test.js +9 -0
- package/test/components/Pagination.test.js +4 -0
- package/test/components/Select.test.js +37 -0
- package/test/components/TextField.test.js +36 -0
- package/test/lib/SvgComponents.test.js +212 -0
- package/components/Modal/LegacyModal.jsx +0 -74
- package/components/SessionDialog/sessionDialog.js +0 -26
- package/components/SessionDialogUI.jsx +0 -273
- package/session/index.js +0 -5
- package/session/logout.js +0 -65
- package/session/refresh.js +0 -49
- package/session/ttl.js +0 -37
- package/test/components/SessionDialogUI.test.js +0 -347
- package/test/session/session.test.js +0 -221
package/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import ErrorPage from './components/Error/error';
|
|
2
2
|
import Footer from './components/Footer/footer';
|
|
3
|
-
import SessionDialog from './components/SessionDialog/sessionDialog';
|
|
4
3
|
|
|
5
4
|
import 'what-input';
|
|
6
5
|
|
|
@@ -13,9 +12,6 @@ const QppStyleComponents = {
|
|
|
13
12
|
return new Footer(options);
|
|
14
13
|
},
|
|
15
14
|
|
|
16
|
-
SessionDialog(options) {
|
|
17
|
-
return new SessionDialog(options);
|
|
18
|
-
},
|
|
19
15
|
};
|
|
20
16
|
|
|
21
17
|
export default QppStyleComponents;
|
package/lib/SvgComponents.jsx
CHANGED
|
@@ -408,7 +408,7 @@ export const CloseXIcon = () => (
|
|
|
408
408
|
);
|
|
409
409
|
|
|
410
410
|
export const CloseXIcon2 = () => (
|
|
411
|
-
<svg viewBox="0 0 16 16" focusable="false">
|
|
411
|
+
<svg viewBox="0 0 16 16" focusable="false" className="closex2">
|
|
412
412
|
<g stroke="none" strokeWidth="1" fill="none" fillRule="evenodd">
|
|
413
413
|
<path
|
|
414
414
|
d="M0.292893219,0.292893219 C0.683417511,-0.0976310729 1.31658249,-0.0976310729 1.70710678,0.292893219 L1.70710678,0.292893219 L8,6.585 L14.2928932,0.292893219 C14.6834175,-0.0976310729 15.3165825,-0.0976310729 15.7071068,0.292893219 C16.0675907,0.65337718 16.0953203,1.22060824 15.7902954,1.61289944 L15.7071068,1.70710678 L9.415,8 L15.7071068,14.2928932 L15.7902954,14.3871006 C16.0953203,14.7793918 16.0675907,15.3466228 15.7071068,15.7071068 C15.3165825,16.0976311 14.6834175,16.0976311 14.2928932,15.7071068 L14.2928932,15.7071068 L8,9.415 L1.70710678,15.7071068 C1.31658249,16.0976311 0.683417511,16.0976311 0.292893219,15.7071068 C-0.0675907428,15.3466228 -0.0953202783,14.7793918 0.209704612,14.3871006 L0.292893219,14.2928932 L6.585,8 L0.292893219,1.70710678 L0.209704612,1.61289944 C-0.0953202783,1.22060824 -0.0675907428,0.65337718 0.292893219,0.292893219 Z"
|
package/package.json
CHANGED
|
@@ -1,12 +1,29 @@
|
|
|
1
|
+
import "@testing-library/jest-dom";
|
|
1
2
|
import React from "react";
|
|
2
|
-
import { render } from "@testing-library/react";
|
|
3
|
+
import { render, fireEvent, waitFor } from "@testing-library/react";
|
|
3
4
|
import Accordion from "../../components/Accordion";
|
|
4
5
|
|
|
5
6
|
describe("Accordion", () => {
|
|
6
|
-
it("Should render okay", () => {
|
|
7
|
-
const { getByTestId } = render(
|
|
8
|
-
<Accordion
|
|
7
|
+
it("Should render okay", async () => {
|
|
8
|
+
const { getByTestId, getByRole } = render(
|
|
9
|
+
<Accordion
|
|
10
|
+
title="Title"
|
|
11
|
+
centerItem="centerItem"
|
|
12
|
+
rightItem="rightItem"
|
|
13
|
+
leftItem="leftItem"
|
|
14
|
+
>
|
|
15
|
+
Content
|
|
16
|
+
</Accordion>
|
|
9
17
|
);
|
|
10
18
|
expect(getByTestId("accordion")).toBeTruthy();
|
|
19
|
+
const button = getByRole("button");
|
|
20
|
+
fireEvent.click(button);
|
|
21
|
+
await waitFor(() => {
|
|
22
|
+
expect(button).toHaveClass("active");
|
|
23
|
+
});
|
|
24
|
+
fireEvent.click(button);
|
|
25
|
+
await waitFor(() => {
|
|
26
|
+
expect(button).not.toHaveClass("active");
|
|
27
|
+
});
|
|
11
28
|
});
|
|
12
29
|
});
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import "@testing-library/jest-dom";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { render, fireEvent, waitFor, screen } from "@testing-library/react";
|
|
4
|
+
import Button, { TextButton } from "../../components/Button";
|
|
5
|
+
import "@testing-library/jest-dom";
|
|
6
|
+
|
|
7
|
+
describe("Button", () => {
|
|
8
|
+
const { getByTestId, getByText } = screen;
|
|
9
|
+
|
|
10
|
+
it("Button renders with provided size, onClick triggers", async () => {
|
|
11
|
+
const onClick = jest.fn();
|
|
12
|
+
render(
|
|
13
|
+
<Button size="big" onClick={onClick} data-testId="button-test-id" />
|
|
14
|
+
);
|
|
15
|
+
const button = getByTestId("button-test-id");
|
|
16
|
+
expect(button).toHaveClass("qpp-c-button--big");
|
|
17
|
+
fireEvent.click(button);
|
|
18
|
+
await waitFor(() => {
|
|
19
|
+
expect(onClick).toHaveBeenCalledTimes(1);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
it("Button renders with provided variant, no onClick", async () => {
|
|
24
|
+
render(<Button variant="cyan" data-testId="button-test-id" />);
|
|
25
|
+
const button = getByTestId("button-test-id");
|
|
26
|
+
expect(button).toHaveClass("qpp-c-button--cyan");
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
it("Button renders with an HRef", async () => {
|
|
30
|
+
const onClick = jest.fn();
|
|
31
|
+
render(
|
|
32
|
+
<Button
|
|
33
|
+
onClick={onClick}
|
|
34
|
+
href="https://whatwouldkevindo.com/"
|
|
35
|
+
children="test"
|
|
36
|
+
/>
|
|
37
|
+
);
|
|
38
|
+
expect(getByText("test").href).toBe("https://whatwouldkevindo.com/");
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
it("TextButton renders to the screen with text and passed className", async () => {
|
|
42
|
+
const onClick = jest.fn();
|
|
43
|
+
render(
|
|
44
|
+
<TextButton
|
|
45
|
+
onClick={onClick}
|
|
46
|
+
className="test"
|
|
47
|
+
data-testId="text-test-id"
|
|
48
|
+
children="test"
|
|
49
|
+
/>
|
|
50
|
+
);
|
|
51
|
+
expect(getByText("test")).toBeTruthy();
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
it("Default props are as expected", async () => {
|
|
55
|
+
const onClick = Button.defaultProps.onClick();
|
|
56
|
+
expect(onClick).toBe(null);
|
|
57
|
+
const children = Button.defaultProps.children;
|
|
58
|
+
expect(children).toBe(false);
|
|
59
|
+
const className = Button.defaultProps.className;
|
|
60
|
+
expect(className).toBe("");
|
|
61
|
+
const href = Button.defaultProps.href;
|
|
62
|
+
expect(href).toBe("");
|
|
63
|
+
const loading = Button.defaultProps.loading;
|
|
64
|
+
expect(loading).toBe(false);
|
|
65
|
+
const size = Button.defaultProps.size;
|
|
66
|
+
expect(size).toBe(null);
|
|
67
|
+
const type = Button.defaultProps.type;
|
|
68
|
+
expect(type).toBe("button");
|
|
69
|
+
const variant = Button.defaultProps.variant;
|
|
70
|
+
expect(variant).toBe(null);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
@@ -5,7 +5,6 @@ import MadieAlert from "../../components/MadieAlert";
|
|
|
5
5
|
import "@testing-library/jest-dom";
|
|
6
6
|
|
|
7
7
|
describe("Madie Alert", () => {
|
|
8
|
-
|
|
9
8
|
it("It renders as expected with basic props and triggers on Close on click", async () => {
|
|
10
9
|
const onClose = jest.fn();
|
|
11
10
|
const { getByTestId } = render(
|
|
@@ -18,7 +17,7 @@ describe("Madie Alert", () => {
|
|
|
18
17
|
"data-testid": "alert-dialog",
|
|
19
18
|
}}
|
|
20
19
|
closeButtonProps={{
|
|
21
|
-
|
|
20
|
+
onClick: onClose,
|
|
22
21
|
"data-testid": "close-button",
|
|
23
22
|
}}
|
|
24
23
|
/>
|
|
@@ -36,7 +36,9 @@ describe("MadieDeleteDialog", () => {
|
|
|
36
36
|
const deleteDialog = await getByTestId("delete-dialog");
|
|
37
37
|
expect(deleteDialog).toBeInTheDocument();
|
|
38
38
|
await waitFor(() => {
|
|
39
|
-
expect(
|
|
39
|
+
expect(
|
|
40
|
+
queryByText("Are you sure you want to delete ?")
|
|
41
|
+
).toBeVisible();
|
|
40
42
|
});
|
|
41
43
|
});
|
|
42
44
|
});
|
|
@@ -45,6 +45,13 @@ export const PopoverTester = () => {
|
|
|
45
45
|
dataTestId: `edit-measure-1`,
|
|
46
46
|
}}
|
|
47
47
|
otherSelectOptionProps={[
|
|
48
|
+
{
|
|
49
|
+
label: "Version",
|
|
50
|
+
toImplementFunction: zipData,
|
|
51
|
+
dataTestId: `version-measure-1`,
|
|
52
|
+
},
|
|
53
|
+
]}
|
|
54
|
+
additionalSelectOptionProps={[
|
|
48
55
|
{
|
|
49
56
|
label: "Export",
|
|
50
57
|
toImplementFunction: zipData,
|
|
@@ -63,6 +70,7 @@ describe("MadiePopover", () => {
|
|
|
63
70
|
fireEvent.click(result);
|
|
64
71
|
expect(queryByText("View")).toBeVisible();
|
|
65
72
|
expect(queryByText("Export")).toBeVisible();
|
|
73
|
+
expect(queryByText("Version")).toBeVisible();
|
|
66
74
|
});
|
|
67
75
|
|
|
68
76
|
test("Popover disappears on clicking popover options", async () => {
|
|
@@ -71,6 +79,7 @@ describe("MadiePopover", () => {
|
|
|
71
79
|
fireEvent.click(result);
|
|
72
80
|
expect(queryByText("View")).toBeVisible();
|
|
73
81
|
expect(queryByText("Export")).toBeVisible();
|
|
82
|
+
expect(queryByText("Version")).toBeVisible();
|
|
74
83
|
fireEvent.click(queryByText("View"));
|
|
75
84
|
expect(queryByText("View")).not.toBeVisible();
|
|
76
85
|
});
|
|
@@ -5,6 +5,10 @@ import { render } from "@testing-library/react";
|
|
|
5
5
|
import { Pagination } from "../../components/Pagination";
|
|
6
6
|
|
|
7
7
|
describe("Pagination", () => {
|
|
8
|
+
it("renders with default props", () => {
|
|
9
|
+
const { getByTestId } = render(<Pagination />);
|
|
10
|
+
expect(getByTestId("NavigateNextIcon")).toBeInTheDocument();
|
|
11
|
+
});
|
|
8
12
|
it("renders the next button when more pages are available", () => {
|
|
9
13
|
const { getByTestId } = render(
|
|
10
14
|
<Pagination
|
|
@@ -110,4 +110,41 @@ describe("Select", () => {
|
|
|
110
110
|
expect(helperText).toBeInTheDocument();
|
|
111
111
|
});
|
|
112
112
|
});
|
|
113
|
+
|
|
114
|
+
test("Select renders disabled", async () => {
|
|
115
|
+
await act(async () => {
|
|
116
|
+
const { findByText } = render(
|
|
117
|
+
<Select
|
|
118
|
+
disabled
|
|
119
|
+
helperText="helper text"
|
|
120
|
+
label="Test"
|
|
121
|
+
value=""
|
|
122
|
+
id="test-select"
|
|
123
|
+
inputProps={{ "data-testid": "test-input" }}
|
|
124
|
+
data-testid="test-select"
|
|
125
|
+
size="small"
|
|
126
|
+
/>
|
|
127
|
+
);
|
|
128
|
+
const helperText = await findByText("helper text");
|
|
129
|
+
expect(helperText).toBeInTheDocument();
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
test("Select renders error", async () => {
|
|
133
|
+
await act(async () => {
|
|
134
|
+
const { findByText } = render(
|
|
135
|
+
<Select
|
|
136
|
+
error
|
|
137
|
+
helperText="helper text"
|
|
138
|
+
label="Test"
|
|
139
|
+
value=""
|
|
140
|
+
id="test-select"
|
|
141
|
+
inputProps={{ "data-testid": "test-input" }}
|
|
142
|
+
data-testid="test-select"
|
|
143
|
+
size="small"
|
|
144
|
+
/>
|
|
145
|
+
);
|
|
146
|
+
const helperText = await findByText("helper text");
|
|
147
|
+
expect(helperText).toBeInTheDocument();
|
|
148
|
+
});
|
|
149
|
+
});
|
|
113
150
|
});
|
|
@@ -47,4 +47,40 @@ describe("TextField", () => {
|
|
|
47
47
|
expect(helperText).toBeInTheDocument();
|
|
48
48
|
});
|
|
49
49
|
});
|
|
50
|
+
test("Helper text renders disabled", async () => {
|
|
51
|
+
await act(async () => {
|
|
52
|
+
const { findByText } = render(
|
|
53
|
+
<TextField
|
|
54
|
+
disabled
|
|
55
|
+
placeholder="test Name"
|
|
56
|
+
helperText="helper text"
|
|
57
|
+
label="test Name"
|
|
58
|
+
id="testName"
|
|
59
|
+
inputProps={{ "data-testid": "test-name-input" }}
|
|
60
|
+
data-testid="test-name-text-field"
|
|
61
|
+
size="small"
|
|
62
|
+
/>
|
|
63
|
+
);
|
|
64
|
+
const helperText = await findByText("helper text");
|
|
65
|
+
expect(helperText).toBeInTheDocument();
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
test("HelperText renders errored", async () => {
|
|
69
|
+
await act(async () => {
|
|
70
|
+
const { findByText } = render(
|
|
71
|
+
<TextField
|
|
72
|
+
error
|
|
73
|
+
placeholder="test Name"
|
|
74
|
+
helperText="helper text"
|
|
75
|
+
label="test Name"
|
|
76
|
+
id="testName"
|
|
77
|
+
inputProps={{ "data-testid": "test-name-input" }}
|
|
78
|
+
data-testid="test-name-text-field"
|
|
79
|
+
size="small"
|
|
80
|
+
/>
|
|
81
|
+
);
|
|
82
|
+
const helperText = await findByText("helper text");
|
|
83
|
+
expect(helperText).toBeInTheDocument();
|
|
84
|
+
});
|
|
85
|
+
});
|
|
50
86
|
});
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import "@testing-library/jest-dom";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { render } from "@testing-library/react";
|
|
4
|
+
import {
|
|
5
|
+
MyApplicationsIcon,
|
|
6
|
+
UserSignInIcon,
|
|
7
|
+
MyTestDataIcon,
|
|
8
|
+
ReportDataIcon,
|
|
9
|
+
ManageUsersIcon,
|
|
10
|
+
AccountHomeIcon,
|
|
11
|
+
FacilityBasedPreviewIcon,
|
|
12
|
+
PaymentIcon,
|
|
13
|
+
PhysicianCompareIcon,
|
|
14
|
+
HardshipIcon,
|
|
15
|
+
TargetIcon,
|
|
16
|
+
ReportsIcon,
|
|
17
|
+
HelpSupportIcon,
|
|
18
|
+
DashboardIcon,
|
|
19
|
+
AccountSettings,
|
|
20
|
+
DetailsIcon,
|
|
21
|
+
CliniciansIcon,
|
|
22
|
+
GroupReporting,
|
|
23
|
+
IndividualReporting,
|
|
24
|
+
ChevronLeft,
|
|
25
|
+
ChevronRight,
|
|
26
|
+
ChevronDown,
|
|
27
|
+
SwitchPractice,
|
|
28
|
+
ScoreIncrease,
|
|
29
|
+
TooltipIcon,
|
|
30
|
+
NavCollapse,
|
|
31
|
+
NavExpand,
|
|
32
|
+
CloseXIcon,
|
|
33
|
+
CloseXIcon2,
|
|
34
|
+
EarlyClaims,
|
|
35
|
+
CliniciansList,
|
|
36
|
+
YoutubeIcon,
|
|
37
|
+
TwitterIcon,
|
|
38
|
+
WiViewReportsIcon,
|
|
39
|
+
BellOutline,
|
|
40
|
+
StarIcon,
|
|
41
|
+
WiViewProgressIcon,
|
|
42
|
+
WiManageGroupIcon,
|
|
43
|
+
} from "../../lib/SvgComponents";
|
|
44
|
+
|
|
45
|
+
describe("SvgComponents", () => {
|
|
46
|
+
it("renders MyApplicationsIcon", async () => {
|
|
47
|
+
const { container } = render(<MyApplicationsIcon />);
|
|
48
|
+
expect(container.firstChild).toHaveClass("my-applications");
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
it("renders UserSignInIcon", async () => {
|
|
52
|
+
const { container } = render(<UserSignInIcon />);
|
|
53
|
+
expect(container.firstChild).toHaveClass("user-sign-in");
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
it("renders MyTestDataIcon", async () => {
|
|
57
|
+
const { container } = render(<MyTestDataIcon />);
|
|
58
|
+
expect(container.firstChild).toHaveClass("my-test-data");
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
it("renders ReportDataIcon", async () => {
|
|
62
|
+
const { container } = render(<ReportDataIcon />);
|
|
63
|
+
expect(container.firstChild).toHaveClass("report-data");
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
it("renders ManageUsersIcon", async () => {
|
|
67
|
+
const { container } = render(<ManageUsersIcon />);
|
|
68
|
+
expect(container.firstChild).toHaveClass("manage-users-svg");
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
it("renders AccountHomeIcon", async () => {
|
|
72
|
+
const { container } = render(<AccountHomeIcon />);
|
|
73
|
+
expect(container.firstChild).toHaveClass("account-home-icon");
|
|
74
|
+
}); //
|
|
75
|
+
|
|
76
|
+
it("renders FacilityBasedPreviewIcon", async () => {
|
|
77
|
+
const { container } = render(<FacilityBasedPreviewIcon />);
|
|
78
|
+
expect(container.firstChild).toHaveClass("facility-based-preview-svg");
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
it("renders PaymentIcon", async () => {
|
|
82
|
+
const { container } = render(<PaymentIcon />);
|
|
83
|
+
expect(container.firstChild).toHaveClass("payment-icon");
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
it("renders PhysicianCompareIcon", async () => {
|
|
87
|
+
const { container } = render(<PhysicianCompareIcon />);
|
|
88
|
+
expect(container.firstChild).toHaveClass("physician-compare-icon");
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
it("renders HardshipIcon", async () => {
|
|
92
|
+
const { container } = render(<HardshipIcon />);
|
|
93
|
+
expect(container.firstChild).toHaveClass("hardship-icon");
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
it("renders TargetIcon", async () => {
|
|
97
|
+
const { container } = render(<TargetIcon />);
|
|
98
|
+
expect(container.firstChild).toHaveClass("target-icon");
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
it("renders ReportsIcon", async () => {
|
|
102
|
+
const { container } = render(<ReportsIcon />);
|
|
103
|
+
expect(container.firstChild).toHaveClass("reports-icon");
|
|
104
|
+
});
|
|
105
|
+
//
|
|
106
|
+
|
|
107
|
+
it("renders HelpSupportIcon", async () => {
|
|
108
|
+
const { container } = render(<HelpSupportIcon />);
|
|
109
|
+
expect(container.firstChild).toHaveClass("help-support");
|
|
110
|
+
});
|
|
111
|
+
it("renders DashboardIcon", async () => {
|
|
112
|
+
const { container } = render(<DashboardIcon />);
|
|
113
|
+
expect(container.firstChild).toHaveClass("dashboard-icon");
|
|
114
|
+
});
|
|
115
|
+
it("renders AccountSettings", async () => {
|
|
116
|
+
const { container } = render(<AccountSettings />);
|
|
117
|
+
expect(container.firstChild).toHaveClass("account-settings");
|
|
118
|
+
});
|
|
119
|
+
it("renders DetailsIcon", async () => {
|
|
120
|
+
const { container } = render(<DetailsIcon />);
|
|
121
|
+
expect(container.firstChild).toHaveClass("details-icon");
|
|
122
|
+
});
|
|
123
|
+
it("renders StarIcon", async () => {
|
|
124
|
+
const { container } = render(<StarIcon />);
|
|
125
|
+
expect(container.firstChild).toHaveClass("star-icon");
|
|
126
|
+
});
|
|
127
|
+
it("renders CliniciansIcon", async () => {
|
|
128
|
+
const { container } = render(<CliniciansIcon />);
|
|
129
|
+
expect(container.firstChild).toHaveClass("clinicians-icon");
|
|
130
|
+
});
|
|
131
|
+
it("renders GroupReporting", async () => {
|
|
132
|
+
const { container } = render(<GroupReporting />);
|
|
133
|
+
expect(container.firstChild).toHaveClass("group-reporting");
|
|
134
|
+
});
|
|
135
|
+
it("renders IndividualReporting", async () => {
|
|
136
|
+
const { container } = render(<IndividualReporting />);
|
|
137
|
+
expect(container.firstChild).toHaveClass("individual-reporting");
|
|
138
|
+
});
|
|
139
|
+
it("renders ChevronLeft", async () => {
|
|
140
|
+
const { container } = render(<ChevronLeft />);
|
|
141
|
+
expect(container.firstChild).toHaveClass("chevron-left");
|
|
142
|
+
});
|
|
143
|
+
it("renders ChevronRight", async () => {
|
|
144
|
+
const { container } = render(<ChevronRight />);
|
|
145
|
+
expect(container.firstChild).toHaveClass("chevron-right");
|
|
146
|
+
});
|
|
147
|
+
it("renders ChevronDown", async () => {
|
|
148
|
+
const { container } = render(<ChevronDown />);
|
|
149
|
+
expect(container.firstChild).toHaveClass("chevron-down");
|
|
150
|
+
});
|
|
151
|
+
it("renders SwitchPractice", async () => {
|
|
152
|
+
const { container } = render(<SwitchPractice />);
|
|
153
|
+
expect(container.firstChild).toHaveClass("switch-practice");
|
|
154
|
+
});
|
|
155
|
+
it("renders ScoreIncrease", async () => {
|
|
156
|
+
const { container } = render(<ScoreIncrease />);
|
|
157
|
+
expect(container.firstChild).toHaveClass("score-increase");
|
|
158
|
+
});
|
|
159
|
+
it("renders TooltipIcon", async () => {
|
|
160
|
+
const { container } = render(<TooltipIcon />);
|
|
161
|
+
expect(container.firstChild).toHaveClass("tooltip-icon");
|
|
162
|
+
});
|
|
163
|
+
it("renders NavCollapse", async () => {
|
|
164
|
+
const { container } = render(<NavCollapse />);
|
|
165
|
+
expect(container.firstChild).toHaveClass("nav-collapse");
|
|
166
|
+
});
|
|
167
|
+
it("renders NavExpand", async () => {
|
|
168
|
+
const { container } = render(<NavExpand />);
|
|
169
|
+
expect(container.firstChild).toHaveClass("nav-expand");
|
|
170
|
+
});
|
|
171
|
+
it("renders CloseXIcon", async () => {
|
|
172
|
+
const { container } = render(<CloseXIcon />);
|
|
173
|
+
expect(container.firstChild).toHaveClass("closex");
|
|
174
|
+
});
|
|
175
|
+
it("renders CloseXIcon2", async () => {
|
|
176
|
+
const { container } = render(<CloseXIcon2 />);
|
|
177
|
+
expect(container.firstChild).toHaveClass("closex2");
|
|
178
|
+
});
|
|
179
|
+
it("renders BellOutline", async () => {
|
|
180
|
+
const { container } = render(<BellOutline />);
|
|
181
|
+
expect(container.firstChild).toHaveClass("bell-outline");
|
|
182
|
+
});
|
|
183
|
+
it("renders EarlyClaims", async () => {
|
|
184
|
+
const { container } = render(<EarlyClaims />);
|
|
185
|
+
expect(container.firstChild).toHaveClass("early-claims-icon");
|
|
186
|
+
});
|
|
187
|
+
it("renders CliniciansList", async () => {
|
|
188
|
+
const { container } = render(<CliniciansList />);
|
|
189
|
+
expect(container.firstChild).toHaveClass("clinicians-list-icon");
|
|
190
|
+
});
|
|
191
|
+
it("renders YoutubeIcon", async () => {
|
|
192
|
+
const { container } = render(<YoutubeIcon />);
|
|
193
|
+
expect(container.firstChild).toHaveClass("youtube-icon");
|
|
194
|
+
});
|
|
195
|
+
|
|
196
|
+
it("renders TwitterIcon", async () => {
|
|
197
|
+
const { container } = render(<TwitterIcon />);
|
|
198
|
+
expect(container.firstChild).toHaveClass("twitter-icon");
|
|
199
|
+
});
|
|
200
|
+
it("renders WiViewReportsIcon", async () => {
|
|
201
|
+
const { container } = render(<WiViewReportsIcon />);
|
|
202
|
+
expect(container.firstChild).toHaveClass("wi-view-reports");
|
|
203
|
+
});
|
|
204
|
+
it("renders WiViewProgressIcon", async () => {
|
|
205
|
+
const { container } = render(<WiViewProgressIcon />);
|
|
206
|
+
expect(container.firstChild).toHaveClass("wi-view-progress");
|
|
207
|
+
});
|
|
208
|
+
it("renders WiManageGroupIcon", async () => {
|
|
209
|
+
const { container } = render(<WiManageGroupIcon />);
|
|
210
|
+
expect(container.firstChild).toHaveClass("wi-manage-group");
|
|
211
|
+
});
|
|
212
|
+
});
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import React, { Component } from "react";
|
|
2
|
-
import { render } from "react-dom";
|
|
3
|
-
import ReactModal from "react-modal";
|
|
4
|
-
import { CloseXIcon } from "../../lib/SvgComponents.jsx";
|
|
5
|
-
import SanitizedContent from "../SanitizedContent";
|
|
6
|
-
import PropTypes from "prop-types";
|
|
7
|
-
|
|
8
|
-
class Modal extends Component {
|
|
9
|
-
constructor() {
|
|
10
|
-
super();
|
|
11
|
-
|
|
12
|
-
this.state = {
|
|
13
|
-
showModal: true,
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
this.handleOpenModal = this.handleOpenModal.bind(this);
|
|
17
|
-
this.handleCloseModal = this.handleCloseModal.bind(this);
|
|
18
|
-
|
|
19
|
-
ReactModal.setAppElement("body > *:not(.ReactModalPortal)");
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
handleOpenModal() {
|
|
23
|
-
this.setState({ showModal: true });
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
handleCloseModal() {
|
|
27
|
-
this.setState({ showModal: false });
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
UNSAFE_componentWillReceiveProps(newProps) {
|
|
31
|
-
this.setState({
|
|
32
|
-
showModal: newProps.showModal,
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
render() {
|
|
37
|
-
return (
|
|
38
|
-
<div>
|
|
39
|
-
<ReactModal
|
|
40
|
-
role="alertdialog"
|
|
41
|
-
contentLabel={
|
|
42
|
-
this.props.contentLabel || "Informational Modal Dialog"
|
|
43
|
-
}
|
|
44
|
-
isOpen={this.state.showModal}
|
|
45
|
-
className="info-modal-content"
|
|
46
|
-
overlayClassName="info-modal-overlay"
|
|
47
|
-
onRequestClose={this.handleCloseModal}
|
|
48
|
-
>
|
|
49
|
-
<button
|
|
50
|
-
className="closeModal"
|
|
51
|
-
aria-label="Close modal"
|
|
52
|
-
onClick={this.handleCloseModal}
|
|
53
|
-
>
|
|
54
|
-
<svg className="close-icon" aria-hidden="true">
|
|
55
|
-
<CloseXIcon />
|
|
56
|
-
</svg>
|
|
57
|
-
</button>
|
|
58
|
-
<SanitizedContent html={this.props.content} />
|
|
59
|
-
</ReactModal>
|
|
60
|
-
</div>
|
|
61
|
-
);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
const displayModal = ({ content, main }) => {
|
|
66
|
-
render(<Modal content={content} showModal={true} />, main);
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
Modal.propTypes = {
|
|
70
|
-
contentLabel: PropTypes.string,
|
|
71
|
-
content: PropTypes.string,
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
export default displayModal;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { render } from "react-dom";
|
|
3
|
-
import SessionDialogUI from "../SessionDialogUI";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Renders the Session Dialog UI content.
|
|
7
|
-
*/
|
|
8
|
-
export default class SessionDialog {
|
|
9
|
-
/**
|
|
10
|
-
* @param {Object} options - An object containing content and config data
|
|
11
|
-
* @param {Boolean} options.showImmediate
|
|
12
|
-
* @param {Number} options.warningTimeout
|
|
13
|
-
* @param {String} options.appElement
|
|
14
|
-
* @param {HTMLElement} options.rootElement - Elem inside which to render
|
|
15
|
-
*/
|
|
16
|
-
constructor(options) {
|
|
17
|
-
render(
|
|
18
|
-
<SessionDialogUI
|
|
19
|
-
showImmediate={options.showImmediate}
|
|
20
|
-
warningTimeout={options.warningTimeout}
|
|
21
|
-
appElement={options.appElement}
|
|
22
|
-
/>,
|
|
23
|
-
options.rootElement
|
|
24
|
-
);
|
|
25
|
-
}
|
|
26
|
-
}
|