@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.
Files changed (147) hide show
  1. package/components/Modal/index.jsx +1 -5
  2. package/components/Popover/index.js +19 -0
  3. package/coverage/clover.xml +191 -371
  4. package/coverage/coverage-final.json +14 -23
  5. package/coverage/lcov-report/SvgComponents.jsx.html +1702 -0
  6. package/coverage/lcov-report/components/Accordion/index.html +116 -0
  7. package/coverage/lcov-report/components/Accordion/index.jsx.html +370 -0
  8. package/coverage/lcov-report/components/Button/index.html +116 -0
  9. package/coverage/lcov-report/components/Button/index.js.html +385 -0
  10. package/coverage/lcov-report/components/Error/Collapsible.jsx.html +364 -0
  11. package/coverage/lcov-report/components/Error/ErrorUI.jsx.html +178 -0
  12. package/coverage/lcov-report/components/Error/index.html +131 -0
  13. package/coverage/lcov-report/components/Footer/FooterUI.jsx.html +496 -0
  14. package/coverage/lcov-report/components/Footer/LegacyFooterUI.jsx.html +697 -0
  15. package/coverage/lcov-report/components/Footer/index.html +131 -0
  16. package/coverage/lcov-report/components/Infotip/Infotip.jsx.html +310 -0
  17. package/coverage/lcov-report/components/Infotip/InfotipIcon.jsx.html +208 -0
  18. package/coverage/lcov-report/components/Infotip/index.html +146 -0
  19. package/coverage/lcov-report/components/Infotip/index.js.html +94 -0
  20. package/coverage/lcov-report/components/InputLabel/index.html +116 -0
  21. package/coverage/lcov-report/components/InputLabel/index.jsx.html +244 -0
  22. package/coverage/lcov-report/components/MadieAlert/index.html +116 -0
  23. package/coverage/lcov-report/components/MadieAlert/index.jsx.html +304 -0
  24. package/coverage/lcov-report/components/MadieDeleteDialog/index.html +116 -0
  25. package/coverage/lcov-report/components/MadieDeleteDialog/index.jsx.html +244 -0
  26. package/coverage/lcov-report/components/MadieDialog/index.html +116 -0
  27. package/coverage/lcov-report/components/MadieDialog/index.jsx.html +856 -0
  28. package/coverage/lcov-report/components/MadieDiscardDialog/index.html +116 -0
  29. package/coverage/lcov-report/components/MadieDiscardDialog/index.jsx.html +232 -0
  30. package/coverage/lcov-report/components/MadieSpinner/index.html +116 -0
  31. package/coverage/lcov-report/components/MadieSpinner/index.jsx.html +190 -0
  32. package/coverage/lcov-report/components/Modal/LegacyModal.jsx.html +307 -0
  33. package/coverage/lcov-report/components/Modal/index.html +116 -0
  34. package/coverage/lcov-report/components/Pagination/index.html +116 -0
  35. package/coverage/lcov-report/components/Pagination/index.jsx.html +736 -0
  36. package/coverage/lcov-report/components/Popover/index.html +116 -0
  37. package/coverage/lcov-report/components/Popover/index.js.html +472 -0
  38. package/coverage/lcov-report/components/ReadOnlyTextField/index.html +116 -0
  39. package/coverage/lcov-report/components/ReadOnlyTextField/index.jsx.html +313 -0
  40. package/coverage/lcov-report/components/SanitizedContent/index.html +116 -0
  41. package/coverage/lcov-report/components/SanitizedContent/index.jsx.html +685 -0
  42. package/coverage/lcov-report/components/Select/index.html +116 -0
  43. package/coverage/lcov-report/components/Select/index.jsx.html +610 -0
  44. package/coverage/lcov-report/components/TextField/index.html +116 -0
  45. package/coverage/lcov-report/components/TextField/index.jsx.html +496 -0
  46. package/coverage/lcov-report/components/Toast/index.html +116 -0
  47. package/coverage/lcov-report/components/Toast/index.jsx.html +430 -0
  48. package/coverage/lcov-report/components/Tooltip/Tooltip.jsx.html +349 -0
  49. package/coverage/lcov-report/components/Tooltip/index.html +146 -0
  50. package/coverage/lcov-report/components/Tooltip/index.js.html +94 -0
  51. package/coverage/lcov-report/components/Tooltip/position.js.html +313 -0
  52. package/coverage/lcov-report/index.html +87 -132
  53. package/coverage/lcov-report/index.js.html +385 -0
  54. package/coverage/lcov-report/index.jsx.html +417 -129
  55. package/coverage/lcov-report/lib/Chevron.jsx.html +181 -0
  56. package/coverage/lcov-report/lib/SvgComponents.jsx.html +1702 -0
  57. package/coverage/lcov-report/lib/index.html +131 -0
  58. package/coverage/lcov-report/react/components/Accordion/index.html +21 -21
  59. package/coverage/lcov-report/react/components/Accordion/index.jsx.html +29 -29
  60. package/coverage/lcov-report/react/components/Button/index.html +19 -19
  61. package/coverage/lcov-report/react/components/Button/index.js.html +45 -36
  62. package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +1 -1
  63. package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +1 -1
  64. package/coverage/lcov-report/react/components/Error/error.js.html +1 -1
  65. package/coverage/lcov-report/react/components/Error/index.html +1 -1
  66. package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +3 -3
  67. package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +1 -1
  68. package/coverage/lcov-report/react/components/Footer/footer.js.html +1 -1
  69. package/coverage/lcov-report/react/components/Footer/index.html +1 -1
  70. package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +1 -1
  71. package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +1 -1
  72. package/coverage/lcov-report/react/components/Infotip/index.html +1 -1
  73. package/coverage/lcov-report/react/components/Infotip/index.js.html +1 -1
  74. package/coverage/lcov-report/react/components/InputLabel/index.html +5 -5
  75. package/coverage/lcov-report/react/components/InputLabel/index.jsx.html +8 -8
  76. package/coverage/lcov-report/react/components/MadieAlert/index.html +3 -18
  77. package/coverage/lcov-report/react/components/MadieAlert/index.jsx.html +76 -43
  78. package/coverage/lcov-report/react/components/MadieDeleteDialog/index.html +116 -0
  79. package/coverage/lcov-report/react/components/MadieDeleteDialog/index.jsx.html +244 -0
  80. package/coverage/lcov-report/react/components/MadieDialog/Index.jsx.html +9 -9
  81. package/coverage/lcov-report/react/components/MadieDialog/index.html +1 -1
  82. package/coverage/lcov-report/react/components/MadieDiscardDialog/index.html +1 -1
  83. package/coverage/lcov-report/react/components/MadieDiscardDialog/index.jsx.html +1 -1
  84. package/coverage/lcov-report/react/components/MadieSpinner/index.html +1 -1
  85. package/coverage/lcov-report/react/components/MadieSpinner/index.jsx.html +1 -1
  86. package/coverage/lcov-report/react/components/Modal/LegacyModal.jsx.html +1 -1
  87. package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +1 -1
  88. package/coverage/lcov-report/react/components/Modal/index.html +18 -33
  89. package/coverage/lcov-report/react/components/Modal/index.jsx.html +9 -21
  90. package/coverage/lcov-report/react/components/Pagination/index.html +5 -5
  91. package/coverage/lcov-report/react/components/Pagination/index.jsx.html +62 -23
  92. package/coverage/lcov-report/react/components/Popover/index.html +116 -0
  93. package/coverage/lcov-report/react/components/Popover/index.js.html +472 -0
  94. package/coverage/lcov-report/react/components/ReadOnlyTextField/index.html +1 -1
  95. package/coverage/lcov-report/react/components/ReadOnlyTextField/index.jsx.html +1 -1
  96. package/coverage/lcov-report/react/components/SanitizedContent/index.html +1 -1
  97. package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +1 -1
  98. package/coverage/lcov-report/react/components/Select/index.html +3 -3
  99. package/coverage/lcov-report/react/components/Select/index.jsx.html +206 -23
  100. package/coverage/lcov-report/react/components/SessionDialog/index.html +1 -1
  101. package/coverage/lcov-report/react/components/SessionDialog/sessionDialog.js.html +1 -1
  102. package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +1 -1
  103. package/coverage/lcov-report/react/components/Textfield/index.html +3 -3
  104. package/coverage/lcov-report/react/components/Textfield/index.jsx.html +198 -9
  105. package/coverage/lcov-report/react/components/Toast/index.html +9 -9
  106. package/coverage/lcov-report/react/components/Toast/index.jsx.html +80 -119
  107. package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +1 -1
  108. package/coverage/lcov-report/react/components/Tooltip/index.html +1 -1
  109. package/coverage/lcov-report/react/components/Tooltip/index.js.html +1 -1
  110. package/coverage/lcov-report/react/components/Tooltip/position.js.html +1 -1
  111. package/coverage/lcov-report/react/components/index.html +1 -1
  112. package/coverage/lcov-report/react/index.html +13 -13
  113. package/coverage/lcov-report/react/index.js.html +7 -19
  114. package/coverage/lcov-report/react/lib/Chevron.jsx.html +2 -2
  115. package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +158 -158
  116. package/coverage/lcov-report/react/lib/index.html +17 -17
  117. package/coverage/lcov-report/react/session/index.html +1 -1
  118. package/coverage/lcov-report/react/session/index.js.html +1 -1
  119. package/coverage/lcov-report/react/session/logout.js.html +1 -1
  120. package/coverage/lcov-report/react/session/refresh.js.html +1 -1
  121. package/coverage/lcov-report/react/session/ttl.js.html +1 -1
  122. package/coverage/lcov.info +377 -735
  123. package/dist/browser.js +1 -1
  124. package/dist/index.js +1 -1
  125. package/dist/react/index.js +12 -12
  126. package/dist/react/index.js.map +1 -1
  127. package/index.js +0 -4
  128. package/lib/SvgComponents.jsx +1 -1
  129. package/package.json +1 -1
  130. package/test/components/Accordion.test.js +21 -4
  131. package/test/components/Button.test.js +72 -0
  132. package/test/components/MadieAlert.test.js +1 -2
  133. package/test/components/MadieDeleteDialog.test.js +3 -1
  134. package/test/components/MadiePopover.test.js +9 -0
  135. package/test/components/Pagination.test.js +4 -0
  136. package/test/components/Select.test.js +37 -0
  137. package/test/components/TextField.test.js +36 -0
  138. package/test/lib/SvgComponents.test.js +212 -0
  139. package/components/Modal/LegacyModal.jsx +0 -74
  140. package/components/SessionDialog/sessionDialog.js +0 -26
  141. package/components/SessionDialogUI.jsx +0 -273
  142. package/session/index.js +0 -5
  143. package/session/logout.js +0 -65
  144. package/session/refresh.js +0 -49
  145. package/session/ttl.js +0 -37
  146. package/test/components/SessionDialogUI.test.js +0 -347
  147. 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;
@@ -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,6 +1,6 @@
1
1
  {
2
2
  "name": "@madie/madie-design-system",
3
- "version": "1.0.39",
3
+ "version": "1.0.41",
4
4
  "description": "Shared style guide across the Madie program.",
5
5
  "main": "dist/index.js",
6
6
  "homepage": "https://github.com/MeasureAuthoringTool/madie-design-system",
@@ -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 title="Title">Content</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
- "onClick": onClose,
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(queryByText("Are you sure you want to delete ?")).toBeVisible();
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
- }