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,28 +0,0 @@
1
- .server-module {
2
- &__methods {
3
- display: flex;
4
- &--selected-true {
5
- background: linear-gradient(90deg, #deefe8 69%, white 100%);
6
- background: linear-gradient(90deg, #d8d7e9 69%, white 100%);
7
- border-radius: 5px 2px 2px 5px;
8
- font-weight: bold;
9
- & > a {
10
- color: #575fc1;
11
- }
12
- }
13
- }
14
-
15
- &__docs-icon {
16
- display: inline;
17
- margin-left: auto;
18
- & img {
19
- width: 23px !important;
20
- }
21
- }
22
- &__name {
23
- &--plugin a {
24
- color: #4caf50;
25
- font-weight: bold;
26
- }
27
- }
28
- }
@@ -1,34 +0,0 @@
1
- import React from "react";
2
- import AutoCompleteBox from "../AutoCompleteBox/AutoCompleteBox";
3
- import "./styles.scss";
4
-
5
- const TargetSelector = ({
6
- controller,
7
- target_namespace,
8
- testIndex,
9
- arg_index,
10
- className,
11
- target_index,
12
- }) => {
13
- const submit = (value) => {
14
- controller.setTargetValue(testIndex, arg_index, target_index, value, ["input"], 0);
15
- };
16
- //gather suggestions
17
- //create a onchange fn to update target value as user types
18
- //submit fn should fill text box (already automatic) and then update target value
19
- return (
20
- <div className={`target-selector`}>
21
- <AutoCompleteBox
22
- className={`target-selector__auto-complete ${className}`}
23
- suggestions={controller.getTargetSuggestions(testIndex)}
24
- onSubmit={submit}
25
- onChange={submit}
26
- value={target_namespace}
27
- placeholder={"beforeTest.Action1.results..."}
28
- requireSelection={false}
29
- />
30
- </div>
31
- );
32
- };
33
-
34
- export default TargetSelector;
File without changes
@@ -1,26 +0,0 @@
1
- import React from "react";
2
- import "./styles.scss";
3
-
4
- const TestCaption = ({ caption, useInput = false, onChange, title }) => {
5
- const className = "test-caption";
6
- const clickHandle = (e) => {
7
- typeof onChange === "function" && onChange(e.target.value);
8
- };
9
- return (
10
- <div className={`${className}`}>
11
- <span className={`${className}__title`}>{caption}</span>
12
- <span
13
- className={`${className}__description-input ${className}__description-input--visible-${useInput}`}
14
- >
15
- <input
16
- value={title}
17
- type="text"
18
- placeholder="describe the test..."
19
- onChange={clickHandle}
20
- />
21
- </span>
22
- </div>
23
- );
24
- };
25
-
26
- export default TestCaption;
File without changes
@@ -1,40 +0,0 @@
1
- .test-caption {
2
- padding: 0 8px;
3
- font-size: 16px;
4
- margin: 0 4px;
5
- width: 100%;
6
- display: flex;
7
- font-weight: 400;
8
- font-family: sans-serif;
9
- align-items: center;
10
-
11
- &__title {
12
- color: #0d8065;
13
- }
14
- &__description-input {
15
- flex: 1;
16
- padding-left: 5px;
17
- & input {
18
- width: 104%;
19
- border: none;
20
- color: #5a77e5;
21
- text-overflow: ellipsis;
22
- font-size: 16px;
23
- text-indent: 10px;
24
- background: #e9e9e9;
25
- /* font-weight: 600; */
26
- /* font-style: italic; */
27
- border-radius: 41px;
28
- line-height: 19px;
29
- color: #676767;
30
- &::placeholder {
31
- font-weight: 400;
32
- font-style: italic;
33
- color: #bebebe;
34
- }
35
- }
36
- &--visible-false {
37
- display: none;
38
- }
39
- }
40
- }
@@ -1,212 +0,0 @@
1
- import React, { useEffect, useState } from "react";
2
- import Count from "../../atoms/Count";
3
- import TestCaption from "../TestCaption/TestCaption";
4
- import CHECK from "../../assets/check.svg";
5
- import ERROR from "../../assets/error.svg";
6
- import ARROW from "../../assets/arrow.png";
7
- import LOADING from "../../assets/loading.gif";
8
- import "./styles.scss";
9
- import ExpandIcon from "../../atoms/ExpandableIcon/ExpandableIcon";
10
- import { Argument } from "../Args/Args";
11
- import ValidationMessage from "../ValidationInput/ValidationMessages";
12
-
13
- const CLASS_NAME = "test-summary";
14
- export default function TestSummary({ testSection = [], section, isTesting }) {
15
- const [open, setOpen] = useState(false);
16
- const toggleExpansion = () => {
17
- setOpen((state) => !state);
18
- };
19
-
20
- const validationCount = testSection.reduce((sum, test) => {
21
- test.totalValidations = test.savedEvaluations.reduce(
22
- (sum, { type, expected_type, namespace, validations }) => {
23
- sum.push({
24
- name: "typeError",
25
- expected: expected_type,
26
- received: type,
27
- namespace,
28
- });
29
-
30
- return sum.concat(
31
- validations.map(({ name, value }) => ({ name, expected: value, namespace }))
32
- );
33
- },
34
- []
35
- );
36
-
37
- return (sum += test.totalValidations.length);
38
- }, 0);
39
-
40
- const errorCount = testSection.reduce((sum, { errors }) => (sum += errors.length), 0);
41
-
42
- useEffect(() => {
43
- setOpen(true);
44
- }, [isTesting]);
45
- return (
46
- <section className={`${CLASS_NAME}`}>
47
- <div className={`${CLASS_NAME}__header`}>
48
- <ExpandIcon color="#0d8065" isOpen={open} onClick={toggleExpansion} />
49
-
50
- <TestCaption
51
- caption={
52
- <div className={`${CLASS_NAME}__caption--${section}`}>
53
- <span>{section + " Test"}:</span>
54
- <span>
55
- <Count count={testSection.length} stat="actions" />
56
- <Count
57
- count={validationCount}
58
- stat="validations"
59
- type={!!validationCount && "caution"}
60
- />
61
- </span>
62
- <span>
63
- <Count count={errorCount} stat="errors" type={!!errorCount && "error"} />
64
- </span>
65
- </div>
66
- }
67
- />
68
- </div>
69
- {open && (
70
- <div>
71
- {testSection.map((test, i) => (
72
- <Test key={i} {...test} />
73
- ))}
74
- </div>
75
- )}
76
- </section>
77
- );
78
- }
79
- function Test({
80
- title,
81
- errors = [],
82
- namespace,
83
- args,
84
- results,
85
- test_end,
86
- test_start,
87
- response_type,
88
- totalValidations,
89
- }) {
90
- const filterPassingValidations = (tv) =>
91
- tv.filter(
92
- (v) => !errors.find((e) => e.namespace === v.namespace && e.name === v.name)
93
- );
94
-
95
- const [open, setOpen] = useState(false);
96
- const toggleExpansion = () => {
97
- setOpen((state) => !state);
98
- };
99
-
100
- return (
101
- <div>
102
- <div className={`${CLASS_NAME}__actions`}>
103
- <span className={`${CLASS_NAME}__action-text`}>
104
- <ExpandIcon color="black" onClick={toggleExpansion} isOpen={open} /> {title}
105
- </span>
106
- {!!test_start && !test_end && (
107
- <img src={LOADING} alt="check" style={{ width: "18px" }} />
108
- )}
109
- {/* <img src={LOADING} alt="check" style={{ width: "18px" }} /> */}
110
-
111
- {!!test_end && (
112
- <>
113
- {errors.length ? (
114
- <img src={ERROR} alt="check" style={{ width: "18px" }} />
115
- ) : (
116
- <img src={CHECK} alt="check" style={{ width: "18px" }} />
117
- )}
118
- </>
119
- )}
120
- </div>
121
- {open && (
122
- <>
123
- <TestMethod namespace={namespace} args={args} />
124
- {!!test_end && (
125
- <>
126
- <TestResponse results={results} response_type={response_type} />
127
- {!!errors.length && (
128
- <TestValidations title={"failing validations"} validations={errors} />
129
- )}
130
- </>
131
- )}
132
-
133
- <TestValidations
134
- title={`${!test_end ? "total" : "passing"} validations`}
135
- validations={filterPassingValidations(totalValidations)}
136
- isError={false}
137
- />
138
- </>
139
- )}
140
- </div>
141
- );
142
- }
143
-
144
- function TestMethod({ namespace, args }) {
145
- const { serviceId, moduleName, methodName } = namespace;
146
- return (
147
- <div className={`${CLASS_NAME}__method`}>
148
- <img className={`${CLASS_NAME}__arrow`} src={ARROW} alt="arrow" />
149
- <span
150
- className={`${CLASS_NAME}__namespace`}
151
- >{`${serviceId}.${moduleName}.${methodName}`}</span>
152
- <span className={`${CLASS_NAME}__parentheses`}>(</span>
153
- {args.map(({ data_type, value, targetValues }, i) => (
154
- <React.Fragment key={i}>
155
- <span className={`${CLASS_NAME}__parameter`}>
156
- {!!targetValues.length && "tv:"}
157
- <Argument value={value()} data_type={data_type} />
158
- </span>
159
- {i < args.length - 1 && <span className={`${CLASS_NAME}__comma`}>,</span>}
160
- </React.Fragment>
161
- ))}
162
- <span className={`${CLASS_NAME}__parentheses`}>)</span>
163
- </div>
164
- );
165
- }
166
-
167
- function TestResponse({ results = mock, response_type = "results" }) {
168
- return (
169
- <div className={`${CLASS_NAME}__method`}>
170
- <img className={`${CLASS_NAME}__arrow`} src={ARROW} alt="arrow" />
171
- <span className={`${CLASS_NAME}__results`}>{response_type}:</span>
172
- <Argument value={results} />
173
- </div>
174
- );
175
- }
176
-
177
- function TestValidations({ validations = [], isError = true, title }) {
178
- // const color = ;
179
- const color = isError ? "#f44336" : "#2aa198";
180
- const [open, setOpen] = useState(isError);
181
- const toggleExpansion = () => {
182
- setOpen((state) => !state);
183
- };
184
-
185
- return (
186
- <div>
187
- <div className={`${CLASS_NAME}__method ${CLASS_NAME}__validations`}>
188
- <img className={`${CLASS_NAME}__arrow`} src={ARROW} alt="arrow" />
189
- <span style={{ color }} className={`${CLASS_NAME}__results`}>
190
- {validations.length} {title}:
191
- </span>
192
- <ExpandIcon onClick={toggleExpansion} isOpen={open} color={"#2aa198"} size={10} />
193
- </div>
194
- {open && (
195
- <>
196
- {validations.map((error, i) => {
197
- return <ValidationMessage key={i} {...error} error={isError} />;
198
- })}
199
- </>
200
- )}
201
- </div>
202
- );
203
- }
204
-
205
- const mock = {
206
- host: "localhost",
207
- route: "/bu/api/basketball",
208
- port: 4100,
209
- serviceUrl: "http://localhost:4100/bu/api/basketball",
210
- namespace: "http://localhost:2923/vRwTJOske",
211
- SystemLynxService: true,
212
- };
@@ -1,83 +0,0 @@
1
- .test-summary {
2
- padding: 8px 5px;
3
- border: 1px solid #dfdfdf;
4
- border-top: none;
5
- border-bottom: 1px solid #e8e8e8;
6
- &:last-child {
7
- border-bottom: 1px solid #dfdfdf;
8
- }
9
- &__actions {
10
- padding: 3px 0px;
11
- display: flex;
12
- font-weight: 300;
13
- }
14
- &__action-text {
15
- flex: 1;
16
- }
17
- &__method {
18
- font-family: "FS Mono", monospace;
19
- margin-left: 10px;
20
- margin-bottom: 10px;
21
- color: #223a95;
22
- color: #a954ff;
23
- font-weight: 500;
24
- display: flex;
25
- align-items: flex-start;
26
- flex-wrap: wrap;
27
- & span.collapsed-icon {
28
- position: relative;
29
- top: 2px;
30
- left: 7px;
31
- }
32
- }
33
- &__validations {
34
- & .expandable-icon {
35
- align-self: flex-end;
36
- margin-left: 3px;
37
- }
38
- }
39
- &__failed-validations {
40
- padding: 4px 25px;
41
- color: #ff5722;
42
- font-family: monospace;
43
- &--namespace {
44
- color: #a954ff;
45
- font-weight: 700;
46
- }
47
- }
48
- &__header {
49
- display: flex;
50
- align-items: center;
51
- }
52
- &__parameter {
53
- display: inline-flex;
54
- border-radius: 4px;
55
- background: white;
56
- border: 1px solid #fce8ff;
57
- }
58
- &__comma {
59
- font-weight: bold;
60
- color: green;
61
- font-size: 17;
62
- margin-right: 3px;
63
- align-self: flex-end;
64
- }
65
- &__parentheses {
66
- font-weight: bolder;
67
- font-size: 15px;
68
- position: relative;
69
- top: -1px;
70
- align-self: flex-end;
71
- }
72
-
73
- &__results {
74
- color: #a954ff;
75
- font-weight: 700;
76
- }
77
- &__arrow {
78
- margin-right: 10px;
79
- }
80
- &__caption--Main {
81
- font-weight: bold;
82
- }
83
- }
@@ -1,10 +0,0 @@
1
- import React from "react";
2
- import "./styles.scss";
3
- import Text from "../../atoms/Text/Text";
4
- import Link from "../../atoms/Link/Link";
5
-
6
- const TextWith2Links = () => {
7
- return <div>TextWith2Links</div>;
8
- };
9
-
10
- export default TextWith2Links;
File without changes
@@ -1,64 +0,0 @@
1
- import React, { useState } from "react";
2
- import Selector from "../../atoms/Selector/Selector";
3
- import Toggle from "../../atoms/Toggle/Toggle";
4
- import options from "./ValidationOptions";
5
- import "./styles.scss";
6
-
7
- const ValidationInput = ({
8
- type,
9
- name,
10
- value,
11
- className = "",
12
- onSelect,
13
- onInputChanged,
14
- }) => {
15
- const [inputType, setType] = useState(
16
- options[type].inputs[Math.max(options[type].values.indexOf(name), 0)]
17
- );
18
-
19
- const select = (e) => {
20
- const validation_type = e.target.value;
21
- const i = options[type].values.findIndex((v) => v === validation_type);
22
- setType(options[type].inputs[i]);
23
-
24
- onSelect(e.target.value);
25
- };
26
- const inputChanged = (e) => {
27
- if (e.target.type === "number") onInputChanged(parseInt(e.target.value));
28
- else if (e.target.type === "checkbox") onInputChanged(e.target.checked);
29
- else onInputChanged(e.target.value);
30
- };
31
- const classname = "validation-input";
32
- return (
33
- <div className={`validation-input ${className}`}>
34
- <Selector
35
- className={`${classname}__selector`}
36
- options={options[type].options}
37
- values={options[type].values}
38
- controlledOption={name}
39
- onSelect={select}
40
- />
41
- {type !== "boolean" ? (
42
- <input
43
- className={`${classname}__input`}
44
- type={inputType}
45
- name="validtion-input"
46
- autoComplete="off"
47
- value={value}
48
- onChange={inputChanged}
49
- />
50
- ) : (
51
- <>
52
- <Toggle isChecked={value} onChange={inputChanged} round={true} />{" "}
53
- <span
54
- className={`${classname}__value--boolean ${classname}__value--boolean--${value}`}
55
- >
56
- {(value === true) + ""}
57
- </span>
58
- </>
59
- )}
60
- </div>
61
- );
62
- };
63
-
64
- export default ValidationInput;
@@ -1,178 +0,0 @@
1
- import moment from "moment/moment";
2
-
3
- const vowels = ["a", "e", "i", "o", "u"];
4
- const isVowel = (str) => vowels.includes((str + "").toLowerCase());
5
- const an = (word) =>
6
- word + "" === "undefined" ? "" : isVowel((word + "")[0]) ? "an" : "a";
7
- const className = "error-message";
8
-
9
- export default function ValidationMessage({
10
- name,
11
- namespace,
12
- expected,
13
- error = true,
14
- received,
15
- }) {
16
- const PRETEXT = error ? "Expected" : "Expecting";
17
- return (
18
- <div className={`${className}`}>
19
- {ErrorMessages[name](namespace, expected, PRETEXT, error && received)}
20
- </div>
21
- );
22
- }
23
-
24
- const typeError = (namespace, expected, pretext, received, amendment) => {
25
- return (
26
- <div className={`${className}__message`}>
27
- {pretext} <span className={`${className}__namespace`}>{namespace}</span> to be{" "}
28
- {an(expected)} <span className={`${className}__expected`}>{expected} </span>
29
- {received && (
30
- <span>
31
- (received {an(received)} {received})
32
- </span>
33
- )}
34
- {amendment && amendment}
35
- </div>
36
- );
37
- };
38
- const lengthEquals = (namespace, expected, PRETEXT, received) => (
39
- <div className={`${className}__message`}>
40
- {PRETEXT} <span className={`${className}__namespace`}>{namespace}</span> to have a
41
- length of <span className={`${className}__expected`}>{expected}</span>
42
- {received && <span> (received {received})</span>}
43
- </div>
44
- );
45
- const maxLength = (namespace, expected, PRETEXT, received) => (
46
- <div className={`${className}__message`}>
47
- {PRETEXT} <span className={`${className}__namespace`}>{namespace}</span> to have a
48
- maximum length of <span className={`${className}__expected`}>{expected}</span>
49
- {received && <span> (received {received})</span>}
50
- </div>
51
- );
52
- const minLength = (namespace, expected, PRETEXT, received) => (
53
- <div className={`${className}__message`}>
54
- {PRETEXT} <span className={`${className}__namespace`}>{namespace}</span> to have a
55
- minimum length of <span className={`${className}__expected`}>{expected}</span>
56
- {received && <span> (received {received})</span>}
57
- </div>
58
- );
59
- const includes = (namespace, expected, PRETEXT) => (
60
- <div className={`${className}__message`}>
61
- {PRETEXT} <span className={`${className}__namespace`}>{namespace}</span> to include
62
- the following value: <span className={`${className}__expected`}>{expected}</span>
63
- </div>
64
- );
65
- const isLike = (namespace, expected, PRETEXT) => (
66
- <div className={`${className}__message`}>
67
- {PRETEXT} <span className={`${className}__namespace`}>{namespace}</span> to be like
68
- the following expression: <span className={`${className}__expected`}>{expected}</span>
69
- </div>
70
- );
71
- const isOneOf = (namespace, expected, PRETEXT) => (
72
- <div className={`${className}__message`}>
73
- {PRETEXT} <span className={`${className}__namespace`}>{namespace}</span> to be one of
74
- the following values: <span className={`${className}__expected`}>{expected}</span>
75
- </div>
76
- );
77
- const strEquals = (namespace, expected, PRETEXT) => (
78
- <div className={`${className}__message`}>
79
- {PRETEXT} <span className={`${className}__namespace`}>{namespace}</span> to equal{" "}
80
- <span className={`${className}__expected`}>"{expected}"</span>
81
- </div>
82
- );
83
- const numEquals = (namespace, expected, PRETEXT, received) => (
84
- <div className={`${className}__message`}>
85
- {PRETEXT} <span className={`${className}__namespace`}>{namespace}</span> to equal{" "}
86
- <span className={`${className}__expected`}>{parseInt(expected)} </span>
87
- {received && <span> (received {received})</span>}
88
- </div>
89
- );
90
- const max = (namespace, expected, PRETEXT, received) => (
91
- <div className={`${className}__message-container`}>
92
- {typeError(
93
- namespace,
94
- "number",
95
- PRETEXT,
96
- undefined,
97
- <span>
98
- less than <span className={`${className}__expected`}>{expected}</span>
99
- {received && <span> (received {received})</span>}
100
- </span>
101
- )}
102
- </div>
103
- );
104
- const min = (namespace, expected, PRETEXT, received) => (
105
- <div className={`${className}__message-container`}>
106
- {typeError(
107
- namespace,
108
- "number",
109
- PRETEXT,
110
- undefined,
111
- <span>
112
- greater than <span className={`${className}__expected`}>{expected}</span>
113
- {received && <span> (received {received})</span>}
114
- </span>
115
- )}
116
- </div>
117
- );
118
- const boolEquals = (namespace, expected, PRETEXT, received) => (
119
- <div className={`${className}__message`}>
120
- {PRETEXT} <span className={`${className}__namespace`}>{namespace}</span> to be{" "}
121
- {expected.toString()} {received && <span> (received {received})</span>}
122
- </div>
123
- );
124
- const dateEquals = (namespace, expected, PRETEXT) => (
125
- <div className={`${className}__message`}>
126
- {PRETEXT} <span className={`${className}__namespace`}>{namespace}</span> to be
127
- {moment(expected).format("L LTS")}
128
- </div>
129
- );
130
- const minDate = (namespace, expected, PRETEXT) => (
131
- <div className={`${className}__message`}>
132
- {PRETEXT} <span className={`${className}__namespace`}>{namespace}</span> to be a
133
- date/time later than <span className={`${className}__expected`}>{expected}</span>
134
- </div>
135
- );
136
- const maxDate = (namespace, expected, PRETEXT) => (
137
- <div className={`${className}__message`}>
138
- {PRETEXT} <span className={`${className}__namespace`}>{namespace}</span> to be a
139
- date/time earlier than <span className={`${className}__expected`}>{expected}</span>
140
- </div>
141
- );
142
- export const ErrorMessages = {
143
- typeError,
144
- lengthEquals,
145
- maxLength,
146
- minLength,
147
- includes,
148
- isLike,
149
- isOneOf,
150
- strEquals,
151
- numEquals,
152
- max,
153
- min,
154
- boolEquals,
155
- dateEquals,
156
- minDate,
157
- maxDate,
158
- };
159
- // export const errorMessages = {
160
- // typeError= (namespace, expected) => {
161
- // const a = isVowel(e) ? "an" : "a";
162
- // return `Expected ${namespace}to be ${a} ${expected}`;
163
- // },
164
- // lengthEquals= (namespace, expected) => `Expected ${namespace} to have a length of ${expected}`,
165
- // maxLength= (namespace, expected) => `Expected ${namespace} to have a maximum length of ${expected}`,
166
- // minLength= (namespace, expected) => `Expected ${namespace} to have a minimum length of ${expected}`,
167
- // includes= (namespace, expected) => `Expected ${namespace} to include the following value: ${expected}`,
168
- // isLike= (namespace, expected) => `Expected ${namespace} to be like the following expression: ${expected}`,
169
- // isOneOf= (namespace, expected) => `Expected ${namespace} to be one of the following values: ${expected}`,
170
- // strEquals= (namespace, expected) => `Expected ${namespace} to equal "${expected}"`,
171
- // numEquals= (namespace, expected) => `Expected ${namespace} to equal ${expected}`,
172
- // max= (namespace, expected) => `Expected ${namespace} to be less than ${expected}`,
173
- // min= (namespace, expected) => `Expected ${namespace} to be greater than ${expected}`,
174
- // boolEquals= (namespace, expected) => `Expected ${namespace} to be ${e.toString()}`,
175
- // dateEquals= (namespace, expected) => `Expected ${namespace} to be ${moment(e).format()}`,
176
- // minDate= (namespace, expected) => `Expected ${namespace} to be a date/time later than ${expected}`,
177
- // maxDate= (namespace, expected) => `Expected ${namespace} to be a date/time earlier than ${expected}`,
178
- // };