systemview 1.1.1 → 1.2.2

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 (256) hide show
  1. package/api/connections.txt +1 -1
  2. package/cli/index.js +8 -3
  3. package/cli/utils/log.js +2 -2
  4. package/package.json +3 -3
  5. package/server.js +19 -0
  6. package/babel.config.js +0 -12
  7. package/src/App.css +0 -38
  8. package/src/App.js +0 -30
  9. package/src/ServiceContext.js +0 -9
  10. package/src/assets/arrow.png +0 -0
  11. package/src/assets/check.svg +0 -1
  12. package/src/assets/clear.png +0 -0
  13. package/src/assets/edit.png +0 -0
  14. package/src/assets/error.svg +0 -1
  15. package/src/assets/eval-icon.svg +0 -10
  16. package/src/assets/expand-arrow.svg +0 -41
  17. package/src/assets/expand-button.svg +0 -41
  18. package/src/assets/fonts/FontsFree-Net-SFMono-Regular.ttf +0 -0
  19. package/src/assets/fonts/Malkor-Regular.ttf +0 -0
  20. package/src/assets/iconfinder-icon (1).svg +0 -14
  21. package/src/assets/iconfinder-icon.svg +0 -14
  22. package/src/assets/icons-save-60.png +0 -0
  23. package/src/assets/loading.gif +0 -0
  24. package/src/assets/missing-doc.png +0 -0
  25. package/src/assets/saved-doc.png +0 -0
  26. package/src/assets/sysly.png +0 -0
  27. package/src/assets/test-icon.svg +0 -10
  28. package/src/assets/test-missing.png +0 -0
  29. package/src/assets/test-saved.png +0 -0
  30. package/src/assets/x.svg +0 -1
  31. package/src/atoms/Button/Button.js +0 -20
  32. package/src/atoms/Button/Button.test.js +0 -27
  33. package/src/atoms/Button/__snapshots__/Button.test.js.snap +0 -9
  34. package/src/atoms/Button/styles.scss +0 -35
  35. package/src/atoms/Count/index.js +0 -10
  36. package/src/atoms/Count/styles.scss +0 -25
  37. package/src/atoms/DataTable/DataTable.js +0 -27
  38. package/src/atoms/DataTable/DataTable.test.js +0 -55
  39. package/src/atoms/DataTable/__snapshots__/DataTable.test.js.snap +0 -36
  40. package/src/atoms/DataTable/styles.scss +0 -28
  41. package/src/atoms/DescriptionBox/DescriptionBox.js +0 -24
  42. package/src/atoms/DescriptionBox/DescriptionBox.test.js +0 -36
  43. package/src/atoms/DescriptionBox/__snapshots__/DescriptionBox.test.js.snap +0 -14
  44. package/src/atoms/DescriptionBox/styles.scss +0 -24
  45. package/src/atoms/DescriptionText/DescriptionText.js +0 -12
  46. package/src/atoms/DescriptionText/DescriptionText.test.js +0 -22
  47. package/src/atoms/DescriptionText/styles.scss +0 -10
  48. package/src/atoms/DocsIcon/DocsIcon.js +0 -20
  49. package/src/atoms/DocsIcon/DocsIcon.test.js +0 -23
  50. package/src/atoms/DocsIcon/styles.scss +0 -7
  51. package/src/atoms/ExpandableIcon/ExpandableIcon.js +0 -30
  52. package/src/atoms/ExpandableIcon/ExpandableIcon.test.js +0 -18
  53. package/src/atoms/ExpandableIcon/styles.scss +0 -5
  54. package/src/atoms/JsonTextBox/JsonTextBox.js +0 -61
  55. package/src/atoms/JsonTextBox/JsonTextBox.test.js +0 -0
  56. package/src/atoms/JsonTextBox/styles.scss +0 -41
  57. package/src/atoms/Link/Link.js +0 -17
  58. package/src/atoms/Link/Link.test.js +0 -33
  59. package/src/atoms/Link/styles.scss +0 -8
  60. package/src/atoms/List/List.js +0 -8
  61. package/src/atoms/List/List.test.js +0 -26
  62. package/src/atoms/List/styles.scss +0 -9
  63. package/src/atoms/Markdown/Markdown.js +0 -48
  64. package/src/atoms/Markdown/styles.scss +0 -414
  65. package/src/atoms/RunTestIcon/index.js +0 -41
  66. package/src/atoms/RunTestIcon/styles.scss +0 -16
  67. package/src/atoms/SaveIcon/SaveIcon.js +0 -6
  68. package/src/atoms/SaveIcon/styles.scss +0 -3
  69. package/src/atoms/Selector/Selector.js +0 -28
  70. package/src/atoms/Selector/Selector.test.js +0 -0
  71. package/src/atoms/Selector/styles.scss +0 -1
  72. package/src/atoms/StatusIndicator/StatusIndicator.js +0 -16
  73. package/src/atoms/StatusIndicator/styles.scss +0 -33
  74. package/src/atoms/TestsIcon/TestsIcon.js +0 -17
  75. package/src/atoms/TestsIcon/TestsIcon.test.js +0 -18
  76. package/src/atoms/TestsIcon/styles.scss +0 -0
  77. package/src/atoms/Text/Text.js +0 -8
  78. package/src/atoms/Text/Text.test.js +0 -21
  79. package/src/atoms/Text/styles.scss +0 -0
  80. package/src/atoms/Textbox/Textbox.js +0 -33
  81. package/src/atoms/Textbox/Textbox.test.js +0 -23
  82. package/src/atoms/Textbox/styles.scss +0 -14
  83. package/src/atoms/Title/Title.js +0 -12
  84. package/src/atoms/Title/Title.test.js +0 -0
  85. package/src/atoms/Title/styles.scss +0 -6
  86. package/src/atoms/Toggle/Toggle.js +0 -13
  87. package/src/atoms/Toggle/Toggle.test.js +0 -0
  88. package/src/atoms/Toggle/styles.scss +0 -62
  89. package/src/atoms/TypeSelector/TypeSelector.js +0 -28
  90. package/src/atoms/TypeSelector/TypeSelector.test.js +0 -0
  91. package/src/atoms/TypeSelector/styles.scss +0 -9
  92. package/src/index.css +0 -20
  93. package/src/index.js +0 -24
  94. package/src/logo.svg +0 -7
  95. package/src/molecules/Args/Args.js +0 -302
  96. package/src/molecules/Args/Args.test.js +0 -0
  97. package/src/molecules/Args/styles.scss +0 -166
  98. package/src/molecules/AutoCompleteBox/AutoCompleteBox.js +0 -101
  99. package/src/molecules/AutoCompleteBox/AutoCompleteBox.test.js +0 -0
  100. package/src/molecules/AutoCompleteBox/styles.scss +0 -35
  101. package/src/molecules/DataTableForm/DataTableForm.js +0 -167
  102. package/src/molecules/DataTableForm/DataTableForm.test.js +0 -0
  103. package/src/molecules/DataTableForm/styles.scss +0 -51
  104. package/src/molecules/EditBox/EditBox.js +0 -49
  105. package/src/molecules/EditBox/EditBox.test.js +0 -0
  106. package/src/molecules/EditBox/styles.scss +0 -38
  107. package/src/molecules/ExpandableList/ExpandableList.js +0 -26
  108. package/src/molecules/ExpandableList/ExpandableList.test.js +0 -33
  109. package/src/molecules/ExpandableList/styles.scss +0 -18
  110. package/src/molecules/ExpandableSection/ExpandableSection.js +0 -36
  111. package/src/molecules/ExpandableSection/ExpandableSection.test.js +0 -0
  112. package/src/molecules/ExpandableSection/styles.scss +0 -22
  113. package/src/molecules/ServerModulesList/ServerModulesList.js +0 -75
  114. package/src/molecules/ServerModulesList/styles.scss +0 -28
  115. package/src/molecules/TargetSelector/TargetSelector.js +0 -34
  116. package/src/molecules/TargetSelector/TargetSelector.test.js +0 -0
  117. package/src/molecules/TargetSelector/styles.scss +0 -0
  118. package/src/molecules/TestCaption/TestCaption.js +0 -26
  119. package/src/molecules/TestCaption/TestCaption.test.js +0 -0
  120. package/src/molecules/TestCaption/styles.scss +0 -40
  121. package/src/molecules/TestSummary/index.js +0 -212
  122. package/src/molecules/TestSummary/styles.scss +0 -83
  123. package/src/molecules/TextWith2Links/TextWith2Links.js +0 -10
  124. package/src/molecules/TextWith2Links/styles.scss +0 -0
  125. package/src/molecules/ValidationInput/ValidationInput.js +0 -64
  126. package/src/molecules/ValidationInput/ValidationInput.test.js +0 -0
  127. package/src/molecules/ValidationInput/ValidationMessages.js +0 -178
  128. package/src/molecules/ValidationInput/ValidationOptions.js +0 -113
  129. package/src/molecules/ValidationInput/styles.scss +0 -74
  130. package/src/molecules/ValidationInput/validator.js +0 -244
  131. package/src/organisms/Documentation/Documentation.js +0 -128
  132. package/src/organisms/Documentation/Documentation.test.js +0 -0
  133. package/src/organisms/Documentation/styles.scss +0 -22
  134. package/src/organisms/MultiTestSection/MultiTestSection.js +0 -85
  135. package/src/organisms/MultiTestSection/MultiTestSection.test.js +0 -0
  136. package/src/organisms/MultiTestSection/styles.scss +0 -22
  137. package/src/organisms/SavedTests/SavedTests.js +0 -209
  138. package/src/organisms/SavedTests/SavedTests.test.js +0 -0
  139. package/src/organisms/SavedTests/styles.scss +0 -76
  140. package/src/organisms/SavedTests/transformTests.js +0 -51
  141. package/src/organisms/ScratchPad/ScratchPad.js +0 -128
  142. package/src/organisms/ScratchPad/ScratchPad.test.js +0 -0
  143. package/src/organisms/ScratchPad/styles.scss +0 -100
  144. package/src/organisms/SystemNavigator/SystemNavigator.js +0 -148
  145. package/src/organisms/SystemNavigator/SystemNavigator.test.js +0 -24
  146. package/src/organisms/SystemNavigator/styles.scss +0 -38
  147. package/src/organisms/TestContainer/TestContainer.js +0 -72
  148. package/src/organisms/TestContainer/TestContainer.test.js +0 -0
  149. package/src/organisms/TestContainer/styles.scss +0 -20
  150. package/src/organisms/TestPanel/AfterTest/AfterTest.js +0 -16
  151. package/src/organisms/TestPanel/AfterTest/AfterTest.test.js +0 -0
  152. package/src/organisms/TestPanel/AfterTest/styles.scss +0 -0
  153. package/src/organisms/TestPanel/BeforeTest/BeforeTest.js +0 -16
  154. package/src/organisms/TestPanel/BeforeTest/BeforeTest.test.js +0 -0
  155. package/src/organisms/TestPanel/BeforeTest/styles.scss +0 -0
  156. package/src/organisms/TestPanel/Evaluations.js +0 -369
  157. package/src/organisms/TestPanel/EventsTest/EventsTest.js +0 -19
  158. package/src/organisms/TestPanel/EventsTest/styles.scss +0 -0
  159. package/src/organisms/TestPanel/MainTest/MainTest.js +0 -20
  160. package/src/organisms/TestPanel/MainTest/MainTest.test.js +0 -0
  161. package/src/organisms/TestPanel/MainTest/styles.scss +0 -143
  162. package/src/organisms/TestPanel/TestPanel.js +0 -170
  163. package/src/organisms/TestPanel/TestPanel.test.js +0 -0
  164. package/src/organisms/TestPanel/components/Argument.class.js +0 -94
  165. package/src/organisms/TestPanel/components/FullTestController.js +0 -78
  166. package/src/organisms/TestPanel/components/Test.class.js +0 -162
  167. package/src/organisms/TestPanel/components/TestController.class.js +0 -135
  168. package/src/organisms/TestPanel/components/test-helpers.js +0 -109
  169. package/src/organisms/TestPanel/styles.scss +0 -45
  170. package/src/pages/SystemView/SystemView.js +0 -68
  171. package/src/pages/SystemView/styles.scss +0 -81
  172. package/src/reportWebVitals.js +0 -13
  173. package/src/sass/bootstrap/_alert.scss +0 -51
  174. package/src/sass/bootstrap/_badge.scss +0 -47
  175. package/src/sass/bootstrap/_breadcrumb.scss +0 -38
  176. package/src/sass/bootstrap/_button-group.scss +0 -166
  177. package/src/sass/bootstrap/_buttons.scss +0 -143
  178. package/src/sass/bootstrap/_card.scss +0 -270
  179. package/src/sass/bootstrap/_carousel.scss +0 -191
  180. package/src/sass/bootstrap/_close.scss +0 -34
  181. package/src/sass/bootstrap/_code.scss +0 -56
  182. package/src/sass/bootstrap/_custom-forms.scss +0 -297
  183. package/src/sass/bootstrap/_dropdown.scss +0 -131
  184. package/src/sass/bootstrap/_forms.scss +0 -333
  185. package/src/sass/bootstrap/_functions.scss +0 -86
  186. package/src/sass/bootstrap/_grid.scss +0 -52
  187. package/src/sass/bootstrap/_images.scss +0 -42
  188. package/src/sass/bootstrap/_input-group.scss +0 -159
  189. package/src/sass/bootstrap/_jumbotron.scss +0 -16
  190. package/src/sass/bootstrap/_list-group.scss +0 -115
  191. package/src/sass/bootstrap/_media.scss +0 -8
  192. package/src/sass/bootstrap/_mixins.scss +0 -42
  193. package/src/sass/bootstrap/_modal.scss +0 -168
  194. package/src/sass/bootstrap/_nav.scss +0 -118
  195. package/src/sass/bootstrap/_navbar.scss +0 -311
  196. package/src/sass/bootstrap/_pagination.scss +0 -77
  197. package/src/sass/bootstrap/_popover.scss +0 -183
  198. package/src/sass/bootstrap/_print.scss +0 -124
  199. package/src/sass/bootstrap/_progress.scss +0 -33
  200. package/src/sass/bootstrap/_reboot.scss +0 -482
  201. package/src/sass/bootstrap/_root.scss +0 -19
  202. package/src/sass/bootstrap/_tables.scss +0 -180
  203. package/src/sass/bootstrap/_tooltip.scss +0 -115
  204. package/src/sass/bootstrap/_transitions.scss +0 -36
  205. package/src/sass/bootstrap/_type.scss +0 -125
  206. package/src/sass/bootstrap/_utilities.scss +0 -14
  207. package/src/sass/bootstrap/_variables.scss +0 -894
  208. package/src/sass/bootstrap/bootstrap-grid.scss +0 -32
  209. package/src/sass/bootstrap/bootstrap-reboot.scss +0 -12
  210. package/src/sass/bootstrap/bootstrap.scss +0 -42
  211. package/src/sass/bootstrap/mixins/_alert.scss +0 -13
  212. package/src/sass/bootstrap/mixins/_background-variant.scss +0 -21
  213. package/src/sass/bootstrap/mixins/_badge.scss +0 -12
  214. package/src/sass/bootstrap/mixins/_border-radius.scss +0 -35
  215. package/src/sass/bootstrap/mixins/_box-shadow.scss +0 -5
  216. package/src/sass/bootstrap/mixins/_breakpoints.scss +0 -123
  217. package/src/sass/bootstrap/mixins/_buttons.scss +0 -109
  218. package/src/sass/bootstrap/mixins/_caret.scss +0 -65
  219. package/src/sass/bootstrap/mixins/_clearfix.scss +0 -7
  220. package/src/sass/bootstrap/mixins/_float.scss +0 -11
  221. package/src/sass/bootstrap/mixins/_forms.scss +0 -137
  222. package/src/sass/bootstrap/mixins/_gradients.scss +0 -45
  223. package/src/sass/bootstrap/mixins/_grid-framework.scss +0 -67
  224. package/src/sass/bootstrap/mixins/_grid.scss +0 -52
  225. package/src/sass/bootstrap/mixins/_hover.scss +0 -39
  226. package/src/sass/bootstrap/mixins/_image.scss +0 -36
  227. package/src/sass/bootstrap/mixins/_list-group.scss +0 -21
  228. package/src/sass/bootstrap/mixins/_lists.scss +0 -7
  229. package/src/sass/bootstrap/mixins/_nav-divider.scss +0 -10
  230. package/src/sass/bootstrap/mixins/_navbar-align.scss +0 -10
  231. package/src/sass/bootstrap/mixins/_pagination.scss +0 -22
  232. package/src/sass/bootstrap/mixins/_reset-text.scss +0 -17
  233. package/src/sass/bootstrap/mixins/_resize.scss +0 -6
  234. package/src/sass/bootstrap/mixins/_screen-reader.scss +0 -35
  235. package/src/sass/bootstrap/mixins/_size.scss +0 -6
  236. package/src/sass/bootstrap/mixins/_table-row.scss +0 -30
  237. package/src/sass/bootstrap/mixins/_text-emphasis.scss +0 -14
  238. package/src/sass/bootstrap/mixins/_text-hide.scss +0 -9
  239. package/src/sass/bootstrap/mixins/_text-truncate.scss +0 -8
  240. package/src/sass/bootstrap/mixins/_transition.scss +0 -9
  241. package/src/sass/bootstrap/mixins/_visibility.scss +0 -7
  242. package/src/sass/bootstrap/utilities/_align.scss +0 -8
  243. package/src/sass/bootstrap/utilities/_background.scss +0 -19
  244. package/src/sass/bootstrap/utilities/_borders.scss +0 -59
  245. package/src/sass/bootstrap/utilities/_clearfix.scss +0 -3
  246. package/src/sass/bootstrap/utilities/_display.scss +0 -38
  247. package/src/sass/bootstrap/utilities/_embed.scss +0 -52
  248. package/src/sass/bootstrap/utilities/_flex.scss +0 -46
  249. package/src/sass/bootstrap/utilities/_float.scss +0 -9
  250. package/src/sass/bootstrap/utilities/_position.scss +0 -36
  251. package/src/sass/bootstrap/utilities/_screenreaders.scss +0 -11
  252. package/src/sass/bootstrap/utilities/_sizing.scss +0 -12
  253. package/src/sass/bootstrap/utilities/_spacing.scss +0 -51
  254. package/src/sass/bootstrap/utilities/_text.scss +0 -52
  255. package/src/sass/bootstrap/utilities/_visibility.scss +0 -11
  256. package/src/setupTests.js +0 -5
@@ -1,27 +0,0 @@
1
- import React from "react";
2
- import "./styles.scss";
3
-
4
- const DataTable = ({ headers = [], table = [], tableClassName }) => {
5
- return (
6
- <table className={`data-table ${tableClassName}`}>
7
- <thead>
8
- <tr>
9
- {headers.map(({ name }, i) => (
10
- <th key={i}>{name}</th>
11
- ))}
12
- </tr>
13
- </thead>
14
- <tbody>
15
- {table.map((row, i) => (
16
- <tr key={i}>
17
- {row.map((value, i) => (
18
- <td key={i}>{value}</td>
19
- ))}
20
- </tr>
21
- ))}
22
- </tbody>
23
- </table>
24
- );
25
- };
26
-
27
- export default DataTable;
@@ -1,55 +0,0 @@
1
- /* eslint-disable jest/valid-expect */
2
- import React from "react";
3
- import ReactDom from "react-dom";
4
- import { render, cleanup } from "@testing-library/react";
5
- import "@testing-library/jest-dom/extend-expect";
6
- import renderer from "react-test-renderer";
7
- import DataTable from "./DataTable";
8
-
9
- afterEach(cleanup);
10
-
11
- describe("<DataTable/>", () => {
12
- it("renders without crashing", () => {
13
- const div = document.createElement("div");
14
- ReactDom.render(<DataTable />, div);
15
- });
16
-
17
- it("renders an table element with text and class button", () => {
18
- const { getByRole } = render(<DataTable />);
19
- expect(getByRole("table")).toHaveClass("data-table");
20
- });
21
-
22
- it("renders content correctly", () => {
23
- const headers = [{ name: "column 1" }, { name: "column 2" }];
24
- const data = [
25
- ["r1c1", "r1c2"],
26
- ["r2c1", "r2c2"],
27
- ];
28
- const { getByRole, getAllByRole } = render(
29
- <DataTable tableClassName={"test"} headers={headers} table={data} />
30
- );
31
-
32
- expect(getByRole("table")).toHaveClass("data-table");
33
- expect(getByRole("table")).toHaveClass("test");
34
- expect(getAllByRole("columnheader")).toHaveLength(headers.length);
35
- expect(getAllByRole("columnheader")[0]).toHaveTextContent(headers[0].name);
36
- expect(getAllByRole("columnheader")[1]).toHaveTextContent(headers[1].name);
37
- expect(getAllByRole("cell")).toHaveLength(data.length * headers.length);
38
- expect(getAllByRole("cell")[0]).toHaveTextContent(data[0][0]);
39
- expect(getAllByRole("cell")[1]).toHaveTextContent(data[0][1]);
40
- expect(getAllByRole("cell")[2]).toHaveTextContent(data[1][0]);
41
- expect(getAllByRole("cell")[3]).toHaveTextContent(data[1][1]);
42
- });
43
-
44
- it("should match snapshot", () => {
45
- const headers = [{ name: "column 1" }, { name: "column 2" }];
46
- const data = [
47
- ["r1c1", "r1c2"],
48
- ["r2c1", "r2c2"],
49
- ];
50
- const tree = renderer
51
- .create(<DataTable tableClassName={"test"} headers={headers} table={data} />)
52
- .toJSON();
53
- expect(tree).toMatchSnapshot();
54
- });
55
- });
@@ -1,36 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`<DataTable/> should match snapshot 1`] = `
4
- <table
5
- className="data-table test"
6
- >
7
- <thead>
8
- <tr>
9
- <th>
10
- column 1
11
- </th>
12
- <th>
13
- column 2
14
- </th>
15
- </tr>
16
- </thead>
17
- <tbody>
18
- <tr>
19
- <td>
20
- r1c1
21
- </td>
22
- <td>
23
- r1c2
24
- </td>
25
- </tr>
26
- <tr>
27
- <td>
28
- r2c1
29
- </td>
30
- <td>
31
- r2c2
32
- </td>
33
- </tr>
34
- </tbody>
35
- </table>
36
- `;
@@ -1,28 +0,0 @@
1
- .data-table {
2
- width: 100%;
3
- margin: 5px 0;
4
- background-color: #ffffff;
5
- border-collapse: collapse;
6
- color: #000000;
7
- & td,
8
- & th {
9
- border-width: 1px;
10
- border-color: #bfbfbe;
11
- border-style: solid;
12
- padding: 5px;
13
- font-weight: 300;
14
- }
15
- & th {
16
- font-weight: bold;
17
- font-size: 15px;
18
- color: #41937a;
19
- padding: 6px;
20
- }
21
- & td {
22
- font-family: monospace;
23
- font-size: 14px;
24
- }
25
- & thead {
26
- background-color: #dadada;
27
- }
28
- }
@@ -1,24 +0,0 @@
1
- import React from "react";
2
- import "./styles.scss";
3
-
4
- const DescriptionBox = ({ text, setValue }) => {
5
- return (
6
- <div className="description-box">
7
- <textarea
8
- className="description-box__textbox"
9
- name="description-box"
10
- id="description-box"
11
- value={text}
12
- onChange={
13
- setValue
14
- ? (e) => {
15
- setValue(e.target.value);
16
- }
17
- : null
18
- }
19
- ></textarea>
20
- </div>
21
- );
22
- };
23
-
24
- export default DescriptionBox;
@@ -1,36 +0,0 @@
1
- /* eslint-disable jest/valid-expect */
2
- import React from "react";
3
- import ReactDom from "react-dom";
4
- import { render, cleanup, screen } from "@testing-library/react";
5
- import userEvent from "@testing-library/user-event";
6
- import "@testing-library/jest-dom/extend-expect";
7
- import renderer from "react-test-renderer";
8
- import DescriptionBox from "./DescriptionBox";
9
-
10
- afterEach(cleanup);
11
-
12
- describe("<DescriptionBox/>", () => {
13
- it("renders without crashing", () => {
14
- const div = document.createElement("div");
15
- ReactDom.render(<DescriptionBox />, div);
16
- });
17
-
18
- it("apply text using the text prop", () => {
19
- const { getByRole } = render(<DescriptionBox text={"test"} />);
20
- expect(getByRole("textbox")).toHaveTextContent("test");
21
- });
22
-
23
- it("take text from user input", () => {
24
- render(<DescriptionBox />);
25
-
26
- screen.getByRole("textbox");
27
- userEvent.type(screen.getByRole("textbox"), "user input");
28
-
29
- expect(screen.getByRole("textbox")).toHaveValue("user input");
30
- });
31
-
32
- it("should match snapshot", () => {
33
- const tree = renderer.create(<DescriptionBox />).toJSON();
34
- expect(tree).toMatchSnapshot();
35
- });
36
- });
@@ -1,14 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`<DescriptionBox/> should match snapshot 1`] = `
4
- <div
5
- className="description-box"
6
- >
7
- <textarea
8
- className="description-box__textbox"
9
- id="description-box"
10
- name="description-box"
11
- onChange={null}
12
- />
13
- </div>
14
- `;
@@ -1,24 +0,0 @@
1
- .description-box {
2
- width: 100%;
3
-
4
- &__textbox {
5
- min-width: 100%;
6
- max-width: 100%;
7
- min-height: 70vh;
8
- background: white;
9
- color: black;
10
- font-size: 13px;
11
- padding: 38px;
12
- border-radius: 2px;
13
- border: none;
14
- outline: none;
15
- resize: none;
16
- // font-family: "SF Mono", "Ubuntu Mono", monospace;
17
- font-size: 15px;
18
- font-weight: 500;
19
-
20
- // background: #3d8470;
21
- // color: white;
22
- border-bottom: 1px solid #07625a;
23
- }
24
- }
@@ -1,12 +0,0 @@
1
- import React from "react";
2
- import "./styles.scss";
3
-
4
- const DescriptionBox = ({ text }) => {
5
- return (
6
- <div className="description-text">
7
- <p className="description-text__text">{text}</p>
8
- </div>
9
- );
10
- };
11
-
12
- export default DescriptionBox;
@@ -1,22 +0,0 @@
1
- /* eslint-disable jest/valid-expect */
2
- import React from "react";
3
- import { expect } from "chai";
4
- import { shallow, render } from "enzyme";
5
- import Enzyme from "enzyme";
6
- import Adapter from "enzyme-adapter-react-16";
7
- import DescriptionText from "./DescriptionText";
8
-
9
- Enzyme.configure({ adapter: new Adapter() });
10
-
11
- describe("<DescriptionText/>", () => {
12
- it("renders a p tag wrapped in a dive with class name description-text__text", () => {
13
- const wrapper = shallow(<DescriptionText />);
14
- expect(wrapper.find("div.description-text")).to.have.a.lengthOf(1);
15
- expect(wrapper.find("p.description-text__text")).to.have.a.lengthOf(1);
16
- });
17
-
18
- it("use the tableClassName prop to add additional class name to table", () => {
19
- const wrapper = shallow(<DescriptionText text={"test"} />);
20
- expect(wrapper.find("p.description-text__text")).to.have.a.lengthOf(1);
21
- });
22
- });
@@ -1,10 +0,0 @@
1
- .description-text {
2
- &__text {
3
- text-align: left;
4
- color: white;
5
- background: #3f495d;
6
- padding: 12px;
7
- margin: 6px 0px;
8
- border-radius: 8px;
9
- }
10
- }
@@ -1,20 +0,0 @@
1
- import React from "react";
2
- import "./styles.scss";
3
- import savedDocImg from "../../assets/saved-doc.png";
4
- import missingDocImg from "../../assets/missing-doc.png";
5
-
6
- const DocIcon = ({ isSaved }) => {
7
- return (
8
- <>
9
- <div className={`doc-icon`}>
10
- <img
11
- className={`doc-icon__img`}
12
- src={isSaved ? savedDocImg : missingDocImg}
13
- alt={isSaved ? "Saved Doc" : "Missing Doc"}
14
- />
15
- </div>
16
- </>
17
- );
18
- };
19
-
20
- export default DocIcon;
@@ -1,23 +0,0 @@
1
- /* eslint-disable jest/valid-expect */
2
- import React from "react";
3
- import ReactDom from "react-dom";
4
- import { render, cleanup, screen } from "@testing-library/react";
5
- import "@testing-library/jest-dom/extend-expect";
6
- import DocsIcon from "./DocsIcon";
7
-
8
- const SAVED_DOC_ICON = "saved-doc.png";
9
-
10
- afterEach(cleanup);
11
- jest.mock("../../assets/saved-doc.png", () => SAVED_DOC_ICON);
12
-
13
- describe("<DocsIcon/>", () => {
14
- it("renders without crashing", () => {
15
- const div = document.createElement("div");
16
- ReactDom.render(<DocsIcon />, div);
17
- });
18
-
19
- it("renders saved-doc image if isSaved prop is true", () => {
20
- const { getByRole } = render(<DocsIcon isSaved={true} />);
21
- expect(getByRole("img")).toHaveAttribute("src", SAVED_DOC_ICON);
22
- });
23
- });
@@ -1,7 +0,0 @@
1
- .doc-icon {
2
- display: inline-flex;
3
- vertical-align: middle;
4
- img {
5
- width: 20px;
6
- }
7
- }
@@ -1,30 +0,0 @@
1
- import React from "react";
2
- import "./styles.scss";
3
-
4
- const ExpandIcon = ({
5
- isOpen,
6
- className = "",
7
- onClick,
8
- color = "black",
9
- size: fontSize,
10
- }) => {
11
- return isOpen ? (
12
- <span
13
- style={{ color, fontSize }}
14
- onClick={onClick}
15
- className={`expandable-icon ${className}`}
16
- >
17
- &#9660;
18
- </span>
19
- ) : (
20
- <span
21
- style={{ color, fontSize }}
22
- onClick={onClick}
23
- className={`expandable-icon ${className}`}
24
- >
25
- &#x25BA;
26
- </span>
27
- );
28
- };
29
-
30
- export default ExpandIcon;
@@ -1,18 +0,0 @@
1
- /* eslint-disable jest/valid-expect */
2
- import React from "react";
3
-
4
- import { expect } from "chai";
5
- import { shallow } from "enzyme";
6
-
7
- import ExpandableIcon from "./ExpandableIcon";
8
-
9
- import Enzyme from "enzyme";
10
- import Adapter from "enzyme-adapter-react-16";
11
- Enzyme.configure({ adapter: new Adapter() });
12
-
13
- describe("<ExpandableIcon/>", () => {
14
- it("renders element with class expandable-list", () => {
15
- const wrapper = shallow(<ExpandableIcon />);
16
- expect(wrapper.find(".expandable-icon")).to.have.a.lengthOf(1);
17
- });
18
- });
@@ -1,5 +0,0 @@
1
- .expandable-icon {
2
- font-size: 11px;
3
- font-family: sans-serif;
4
- cursor: pointer;
5
- }
@@ -1,61 +0,0 @@
1
- import React, { useState, useEffect } from "react";
2
- import "./styles.scss";
3
-
4
- const JsonTextBox = ({ obj, onSubmit, onCancel }) => {
5
- const [prettyJson, setPrettyJson] = useState(JSON.stringify(obj, undefined, 2));
6
- const [isJson, setIsJson] = useState(true);
7
- const [json, setJson] = useState(obj);
8
-
9
- const checkJsonString = (e) => {
10
- const str = e.target.value;
11
- setPrettyJson(str);
12
- try {
13
- JSON.parse(str);
14
- } catch (e) {
15
- setIsJson(false);
16
- return false;
17
- }
18
- setIsJson(true);
19
- setJson(JSON.parse(str));
20
- return true;
21
- };
22
- const submit = () => {
23
- if (isJson && typeof onSubmit === "function") onSubmit(json);
24
- };
25
- const cancel = () => {
26
- setIsJson(false);
27
- setJson(obj);
28
- setPrettyJson(JSON.stringify(obj, undefined, 2));
29
- if (typeof onCancel === "function") onCancel();
30
- };
31
- useEffect(() => {
32
- setPrettyJson(JSON.stringify(obj, undefined, 2));
33
- setIsJson(!!obj);
34
- setJson(obj);
35
- }, [obj]);
36
- return (
37
- <div className="json-text-box">
38
- <div className="json-text-box__background-overlay"></div>
39
- <textarea
40
- className={`json-text-box__textbox json-text-box__textbox--is-json-${isJson}`}
41
- name="json-text-box"
42
- id="json-text-box"
43
- value={prettyJson}
44
- onChange={checkJsonString}
45
- ></textarea>
46
- <div className="json-text-box__btn-container">
47
- <span
48
- onClick={submit}
49
- className={`json-text-box__btn json-text-box__btn--is-json-${isJson}`}
50
- >
51
- {isJson ? "save" : "json"}
52
- </span>
53
- <span onClick={cancel} className={`json-text-box__btn json-text-box__btn--cancel`}>
54
- x
55
- </span>
56
- </div>
57
- </div>
58
- );
59
- };
60
-
61
- export default JsonTextBox;
File without changes
@@ -1,41 +0,0 @@
1
- .json-text-box {
2
- position: relative;
3
- &__textbox {
4
- min-width: 100%;
5
- max-width: 100%;
6
- min-height: 100px;
7
- border: 1px solid #8ea8eb;
8
- margin-top: 6px;
9
- }
10
-
11
- &__btn-container {
12
- position: absolute;
13
- right: 1px;
14
- top: 9px;
15
- }
16
- &__btn {
17
- padding: 2px 6px;
18
- border-radius: 1px;
19
- cursor: pointer;
20
- margin-left: 4px;
21
- font-family: system-ui;
22
- font-weight: 500;
23
- &:active {
24
- position: relative;
25
- top: 1px;
26
- }
27
- &--is-json-true {
28
- background: #25d0a8;
29
- color: white;
30
- }
31
- &--is-json-false {
32
- background: #cfc2c2;
33
- color: #8c3c3c;
34
- text-decoration: line-through;
35
- }
36
- &--cancel {
37
- background: #ff6b6b;
38
- color: white;
39
- }
40
- }
41
- }
@@ -1,17 +0,0 @@
1
- import React from "react";
2
- import "./styles.scss";
3
- import { Link } from "react-router-dom";
4
-
5
- const myLink = ({ link, add_class, text, linkClick }) => {
6
- const click = (e) => {
7
- e.stopPropagation();
8
- if (typeof linkClick === "function") linkClick();
9
- };
10
- return (
11
- <Link className="link" to={link}>
12
- {text}
13
- </Link>
14
- );
15
- };
16
-
17
- export default myLink;
@@ -1,33 +0,0 @@
1
- /* eslint-disable jest/valid-expect */
2
- import React from "react";
3
-
4
- import { expect } from "chai";
5
- import { shallow, render } from "enzyme";
6
-
7
- import Link from "./Link";
8
-
9
- import Enzyme from "enzyme";
10
- import Adapter from "enzyme-adapter-react-16";
11
- Enzyme.configure({ adapter: new Adapter() });
12
-
13
- describe("<Link/>", () => {
14
- it("renders a tag with class link", () => {
15
- const wrapper = shallow(<Link />);
16
- expect(wrapper.find("a.link")).to.have.a.lengthOf(1);
17
- });
18
-
19
- it("renders text with the link when text prop is used", () => {
20
- const wrapper = render(<Link text="test" />);
21
- expect(wrapper.text()).to.equal("test");
22
- });
23
-
24
- it("should additional classname to the container <a> tag when add_class prop", () => {
25
- const wrapper = shallow(<Link add_class="test" />);
26
- expect(expect(wrapper.find("a.link").props().className).to.equal("link test"));
27
- });
28
-
29
- it("should use link prop to add href", () => {
30
- const wrapper = shallow(<Link link="/test" />);
31
- expect(expect(wrapper.find("a.link").props().href).to.equal("/test"));
32
- });
33
- });
@@ -1,8 +0,0 @@
1
- .link {
2
- color: #282d33;
3
- text-decoration: none;
4
- font-size: 16px;
5
- &:hover {
6
- text-decoration: underline;
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import "./styles.scss";
3
-
4
- const List = ({ children }) => {
5
- return <div className="list">{children}</div>;
6
- };
7
-
8
- export default List;
@@ -1,26 +0,0 @@
1
- /* eslint-disable jest/valid-expect */
2
- import React from "react";
3
-
4
- import { expect } from "chai";
5
- import { shallow, render } from "enzyme";
6
-
7
- import List from "./List";
8
-
9
- import Enzyme from "enzyme";
10
- import Adapter from "enzyme-adapter-react-16";
11
- Enzyme.configure({ adapter: new Adapter() });
12
-
13
- describe("<List/>", () => {
14
- it("renders a div tag with class list", () => {
15
- const wrapper = shallow(<List />);
16
- expect(wrapper.find("div.list")).to.have.a.lengthOf(1);
17
- });
18
- it("renders a div tag children", () => {
19
- const wrapper = shallow(
20
- <List>
21
- <div className="test"></div>
22
- </List>
23
- );
24
- expect(wrapper.find("div.list > div.test")).to.have.a.lengthOf(1);
25
- });
26
- });
@@ -1,9 +0,0 @@
1
- .list {
2
- text-align: left;
3
- padding: 6px 0px 6px 6px;
4
- text-indent: 29px;
5
- display: flex;
6
- flex-direction: column;
7
- line-height: 20px;
8
- color: #343542;
9
- }
@@ -1,48 +0,0 @@
1
- import React from "react";
2
- import ReactMarkdown from "react-markdown";
3
- import { Prism as SyntaxHighlighter } from "react-syntax-highlighter";
4
- import { dracula } from "react-syntax-highlighter/dist/cjs/styles/prism";
5
- import remarkGfm from "remark-gfm";
6
-
7
- import "./styles.scss";
8
-
9
- const Markdown = ({ children }) => {
10
- return (
11
- <div className="markdown">
12
- <ReactMarkdown
13
- remarkPlugins={[remarkGfm]}
14
- renderers={{ code: CodeBlock }}
15
- components={{
16
- code({ node, inline, className, children, ...props }) {
17
- const match = /language-(\w+)/.exec(className || "");
18
- return !inline && match ? (
19
- <SyntaxHighlighter
20
- children={String(children).replace(/\n$/, "")}
21
- style={dracula}
22
- language={match[1]}
23
- PreTag="div"
24
- {...props}
25
- />
26
- ) : (
27
- <code className={className} {...props}>
28
- {children}
29
- </code>
30
- );
31
- },
32
- }}
33
- >
34
- {children}
35
- </ReactMarkdown>
36
- </div>
37
- );
38
- };
39
-
40
- function CodeBlock({ value, language }) {
41
- return (
42
- <SyntaxHighlighter language={language} style={dracula}>
43
- {value || ""}
44
- </SyntaxHighlighter>
45
- );
46
- }
47
-
48
- export default Markdown;