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,209 +0,0 @@
1
- import React, { useEffect, useState } from "react";
2
- import { Client } from "systemlynx";
3
- import Count from "../../atoms/Count";
4
- import ExpandIcon from "../../atoms/ExpandableIcon/ExpandableIcon";
5
- import RunTestIcon, { EditIcon, XButton } from "../../atoms/RunTestIcon";
6
- import ExpandableSection from "../../molecules/ExpandableSection/ExpandableSection";
7
- import TestCaption from "../../molecules/TestCaption/TestCaption";
8
- import TestSummary from "../../molecules/TestSummary";
9
- import FullTestController from "../TestPanel/components/FullTestController";
10
- import { resetSavedTests, resetFullTest } from "./transformTests";
11
- import "./styles.scss";
12
- import { ClearButton } from "../../atoms/Button/Button";
13
-
14
- window.Client = Client;
15
- const CLASSNAME = "test-saved-section";
16
-
17
- const SavedTests = ({
18
- savedTests = [],
19
- connectedServices,
20
- setFullTest,
21
- Plugin,
22
- fetchTests,
23
- }) => {
24
- const [open, setOpen] = useState(false);
25
- const toggleExpansion = () => setOpen((state) => !state);
26
- const [openAll, setOpenAll] = useState(false);
27
- const [closeAll, setCloseAll] = useState(false);
28
- const [savedTestList, setTests] = useState(
29
- resetSavedTests(savedTests, connectedServices)
30
- );
31
- window.savedTestList = savedTestList;
32
- window.savedTests = savedTests;
33
-
34
- const updateTests = (i, FullTest) => {
35
- savedTestList[i] = { ...FullTest };
36
- setTests([...savedTestList]);
37
- };
38
- const clearTests = () => {
39
- setTests(resetSavedTests(savedTests, connectedServices));
40
- setCloseAll((state) => !state);
41
- };
42
-
43
- const runAllTests = async () => {
44
- setOpen(true);
45
- setOpenAll((state) => !state);
46
- // await Promise.all(savedTestList.map((FullTest, i) => runTest(i, FullTest)));
47
- await new Promise((resolve) => {
48
- function recursiveRunTest(tests, i = 0) {
49
- if (i === tests.length) resolve();
50
- else runTest(i, tests[i]).then(() => recursiveRunTest(tests, i + 1));
51
- }
52
- recursiveRunTest(savedTestList);
53
- });
54
- };
55
-
56
- const runTest = async (index, { Before, Main, Events, After }) => {
57
- const { runFullTest } = new FullTestController({
58
- FullTest: [Before, Main, Events, After],
59
- connectedServices,
60
- });
61
-
62
- const [B, M, E, A] = await runFullTest();
63
- const { title, namespace } = Main[0];
64
- updateTests(index, { Before: B, Main: M, Events: E, After: A, title, namespace });
65
- };
66
- useEffect(() => {
67
- setTests(resetSavedTests(savedTests, connectedServices));
68
- }, [savedTests]);
69
- return (
70
- <section className={`${CLASSNAME}`}>
71
- <ExpandableSection
72
- toggleExpansion={toggleExpansion}
73
- open={open}
74
- title={
75
- <>
76
- <TestCaption
77
- caption={
78
- <span>
79
- {"Saved"}{" "}
80
- {savedTestList.length > 0 && <Count count={savedTestList.length} />}
81
- </span>
82
- }
83
- />
84
- <div className={`${CLASSNAME}__buttons ${CLASSNAME}__top-buttons`}>
85
- <ClearButton onClick={clearTests} />
86
- <RunTestIcon onClick={runAllTests} />
87
- </div>
88
- </>
89
- }
90
- >
91
- {savedTestList.length ? (
92
- <div className="test-saved-section__test-container">
93
- {savedTestList.map((FullTest, i) => (
94
- <TestDetails
95
- key={i}
96
- {...FullTest}
97
- index={i}
98
- isOpen={open}
99
- openAll={openAll}
100
- closeAll={closeAll}
101
- runTest={runTest.bind({}, i, FullTest)}
102
- setFullTest={setFullTest}
103
- connectedServices={connectedServices}
104
- Plugin={Plugin}
105
- fetchTests={fetchTests}
106
- />
107
- ))}
108
- </div>
109
- ) : (
110
- <div className="test-saved-section__test-data">
111
- <span>no saved tests</span>
112
- </div>
113
- )}
114
- </ExpandableSection>
115
- </section>
116
- );
117
- };
118
-
119
- function TestDetails({
120
- title,
121
- index,
122
- Before,
123
- Main,
124
- Events,
125
- After,
126
- namespace,
127
- runTest,
128
- openAll,
129
- closeAll,
130
- setFullTest,
131
- connectedServices,
132
- Plugin,
133
- fetchTests,
134
- }) {
135
- const [open, setOpen] = useState(true);
136
- const [showDeleteMsg, setDeleteMsg] = useState(false);
137
- const toggleExpansion = () => {
138
- setOpen((state) => !state);
139
- };
140
- const editTest = () => {
141
- Main[0].index = index;
142
- const Tests = resetFullTest([Before, Main, Events, After], connectedServices);
143
- setFullTest(Tests);
144
- };
145
- const hideDelete = () => setDeleteMsg(false);
146
- const showDelete = () => setDeleteMsg(true);
147
- const deleteTest = async () => {
148
- if (Plugin) {
149
- await Plugin.deleteTest(namespace, index);
150
- hideDelete();
151
- fetchTests();
152
- }
153
- };
154
- const runTestHandler = () => {
155
- setOpen(true);
156
- runTest();
157
- };
158
- useEffect(() => {
159
- setOpen(true);
160
- }, [openAll]);
161
- useEffect(() => {
162
- setOpen(false);
163
- }, [closeAll]);
164
- useEffect(() => {
165
- setOpen(false);
166
- }, [namespace.serviceId, namespace.moduleName, namespace.methodName]);
167
- return (
168
- <div className={`${CLASSNAME}__test-container`}>
169
- <div className={`${CLASSNAME}__test-row`}>
170
- <ExpandIcon color="#4caf50" onClick={toggleExpansion} isOpen={open} />
171
- <span className={`${CLASSNAME}__test-index`}>Test {index + 1}:</span>
172
- {showDeleteMsg ? (
173
- <span className={`${CLASSNAME}__delete-prompt ${CLASSNAME}__test-title`}>
174
- Delete test?{" "}
175
- <span
176
- onClick={deleteTest}
177
- className={`${CLASSNAME}__delete-btn ${CLASSNAME}__delete-btn--yes btn`}
178
- >
179
- Yes
180
- </span>
181
- <span
182
- onClick={hideDelete}
183
- className={`${CLASSNAME}__delete-btn ${CLASSNAME}__delete-btn--no btn`}
184
- >
185
- No
186
- </span>
187
- </span>
188
- ) : (
189
- <span className={`${CLASSNAME}__test-title`}>{title}</span>
190
- )}
191
-
192
- <span className={`${CLASSNAME}__buttons`}>
193
- <RunTestIcon onClick={runTestHandler} />
194
- <EditIcon onClick={editTest} />
195
- <XButton onClick={showDelete} />
196
- </span>
197
- </div>
198
- {open && (
199
- <>
200
- {!!Before.length && <TestSummary testSection={Before} section="Before" />}
201
- {!!Main.length && <TestSummary testSection={Main} section="Main" />}
202
- {!!Events.length && <TestSummary testSection={Events} section="Events" />}
203
- {!!After.length && <TestSummary testSection={After} section="After" />}
204
- </>
205
- )}
206
- </div>
207
- );
208
- }
209
- export default SavedTests;
File without changes
@@ -1,76 +0,0 @@
1
- .test-saved-section {
2
- width: 100%;
3
- border-top: 1px solid #e9e9e9;
4
- padding-top: 10px;
5
- &__test-data {
6
- background: gainsboro;
7
- padding: 12px 15px;
8
- width: 100%;
9
- }
10
-
11
- &__test-container {
12
- margin: 5px 0;
13
- }
14
- &__test-row {
15
- background: #e9e9e9;
16
- padding: 4px 5px;
17
- display: flex;
18
- align-items: center;
19
- border: 1px solid #e9e9e9;
20
- }
21
-
22
- &__test-index {
23
- color: #4caf50;
24
- color: #3d3d3d;
25
- font-size: 14px;
26
- padding: 0 8px;
27
- font-weight: 600;
28
- flex: 1;
29
- }
30
- &__test-title {
31
- color: #236382;
32
- flex: 5;
33
- }
34
- &__buttons {
35
- flex: 2;
36
-
37
- display: flex;
38
- flex-direction: row;
39
- align-items: center;
40
- justify-content: space-around;
41
- }
42
- &__top-buttons {
43
- width: 77px;
44
- flex: none;
45
- }
46
- &__clear-button {
47
- background: #607d8b;
48
- padding: 0px 8px;
49
- color: white;
50
- border-radius: 17px;
51
- font-weight: 600;
52
- align-self: flex-end;
53
- & > img {
54
- width: 13px;
55
- padding-top: 2px;
56
- }
57
- }
58
- &__delete-prompt {
59
- color: #c02a2a;
60
- font-weight: 700;
61
- }
62
- &__delete-btn {
63
- margin: 0 5px;
64
- background: gray;
65
- padding: 0px 6px;
66
- border-radius: 4px;
67
- color: white;
68
- &--yes:hover {
69
- color: #c02a2a;
70
- }
71
- }
72
- }
73
-
74
- .react-json-view {
75
- font-size: 14px;
76
- }
@@ -1,51 +0,0 @@
1
- import Argument from "../TestPanel/components/Argument.class";
2
- import Test from "../TestPanel/components/Test.class";
3
-
4
- export function resetSavedTests(savedTests, connectedServices) {
5
- return savedTests.map((ft) => {
6
- // context matters
7
- const newTests = [];
8
- const { title, namespace } = ft;
9
-
10
- const Before = ft.Before.map((test) =>
11
- resetTest(test, newTests, connectedServices, false)
12
- );
13
- const Main = ft.Main.map((test) =>
14
- resetTest(test, newTests, connectedServices, false)
15
- );
16
- const Events = ft.Events.map((test) =>
17
- resetTest(test, newTests, connectedServices, false)
18
- );
19
- const After = ft.After.map((test) =>
20
- resetTest(test, newTests, connectedServices, false)
21
- );
22
- newTests.push(Before);
23
- newTests.push(Main);
24
- newTests.push(Events);
25
- newTests.push(After);
26
- return { Before, Main, Events, After, title, namespace };
27
- });
28
- }
29
-
30
- export const resetTest = (test, FullTest, connectedServices, editMode) => {
31
- return new Test({
32
- ...test,
33
- args: test.args.map(
34
- (arg) =>
35
- new Argument(arg.name, FullTest, arg.input_type, arg.input, arg.targetValues)
36
- ),
37
- editMode,
38
- }).getConnection(connectedServices);
39
- };
40
-
41
- export const resetFullTest = (FullTest, connectedServices, editMode) => {
42
- //context matters
43
- const newTests = [[], [], [], []];
44
- return FullTest.map((section, i) => {
45
- return section.map((test) => {
46
- const newTest = resetTest(test, newTests, connectedServices, editMode);
47
- newTests[i].push(newTest);
48
- return newTest;
49
- });
50
- });
51
- };
@@ -1,128 +0,0 @@
1
- import React, { useContext, useEffect, useState } from "react";
2
- import AutoCompleteBox from "../../molecules/AutoCompleteBox/AutoCompleteBox";
3
- import Args, { Argument } from "../../molecules/Args/Args";
4
- import ServiceContext from "../../ServiceContext";
5
- import "./styles.scss";
6
- import RunTestIcon from "../../atoms/RunTestIcon";
7
- import Evaluations from "../TestPanel/Evaluations";
8
- import EVAL_ICON from "../../assets/eval-icon.svg";
9
-
10
- const ScratchPad = ({
11
- TestController,
12
- test,
13
- testIndex = 0,
14
- dynamic = false,
15
- staticArguments = false,
16
- }) => {
17
- const placeholder = "service.module.method ";
18
- const { projectCode, serviceId, moduleName, methodName } = test.namespace;
19
- const [nsp, setNsp] = useState(
20
- methodName ? `${serviceId}.${moduleName}.${methodName}` : ""
21
- );
22
- const [text_length, setLength] = useState(placeholder.length + 0.4);
23
- const [test_suggestions, setSuggestions] = useState([]);
24
- const { connectedServices } = useContext(ServiceContext);
25
- const [testResults, setTestResults] = useState(test.results);
26
-
27
- const runTest = async () => {
28
- TestController.runTest(testIndex);
29
- };
30
- const createSuggestions = () => {
31
- const new_suggestions = [];
32
- connectedServices.forEach((service) => {
33
- service.system.connectionData.modules.forEach((mod) => {
34
- mod.methods.forEach((method) => {
35
- new_suggestions.push(`${service.serviceId}.${mod.name}.${method.fn}()`);
36
- });
37
- });
38
- });
39
- setSuggestions(new_suggestions);
40
- };
41
-
42
- const changeConnection = (namespaces) => {
43
- //remove open-close parentheses
44
- namespaces = namespaces.slice(0, -2);
45
- const [serviceId, moduleName, methodName] = namespaces.split(".");
46
- TestController.updateNamespace(testIndex, { serviceId, moduleName, methodName });
47
- };
48
-
49
- const clearResponse = () => {
50
- TestController.resetResults(testIndex);
51
- };
52
- const resetLength = () => setLength(placeholder.length + 0.4);
53
-
54
- const toggleValidationStatus = () => {
55
- TestController.updateValidationStatus(testIndex);
56
- };
57
- useEffect(() => {
58
- setTestResults(test.results);
59
- }, [test.results]);
60
- useEffect(() => createSuggestions(), [projectCode, connectedServices]);
61
- useEffect(() => {
62
- const new_namespace = methodName ? `${serviceId}.${moduleName}.${methodName}` : "";
63
- setNsp(new_namespace);
64
- setLength((new_namespace || placeholder).length + 0.4);
65
- }, [test.namespace, connectedServices]);
66
-
67
- const style = { "--text-length": text_length ? text_length + "ch" : "auto" };
68
- return (
69
- <div className="scratchpad" style={style}>
70
- <div className="scratchpad__test-data-container">
71
- <div className="scratchpad__btn-container">
72
- <span className="scratchpad__run-test-btn btn" onClick={runTest}>
73
- <RunTestIcon />
74
- </span>
75
- </div>
76
- <div className="scratchpad__test-data">
77
- <AutoCompleteBox
78
- className="scratchpad__test-method-input"
79
- suggestions={test_suggestions}
80
- onSubmit={changeConnection}
81
- value={`${nsp}`}
82
- disabled={!dynamic}
83
- placeholder={placeholder}
84
- onBlur={resetLength}
85
- />
86
- <span className="scratchpad__test-data__parentheses">{"("}</span>
87
- <Args
88
- args={test.args}
89
- controller={TestController}
90
- testIndex={testIndex}
91
- locked={staticArguments}
92
- />
93
- <span className="scratchpad__test-data__parentheses">{")"}</span>
94
- </div>
95
- <div
96
- className={`scratchpad__response-data scratchpad__response-data--visible-${
97
- test.test_end !== null
98
- }`}
99
- >
100
- <span
101
- onClick={clearResponse}
102
- className={`scratchpad__response-data__clear-btn btn`}
103
- >
104
- x
105
- </span>
106
- <span onClick={toggleValidationStatus} className={`scratchpad__eval-btn btn`}>
107
- {test.shouldValidate ? (
108
- <img style={{ width: 12 }} src={EVAL_ICON} alt="eval" />
109
- ) : (
110
- " + "
111
- )}
112
- </span>
113
-
114
- <div className="scratchpad__response-value">
115
- <span className={`scratchpad__response-type`}>{test.response_type}:</span>
116
- <Argument value={testResults} />
117
- </div>
118
- </div>
119
- <Evaluations
120
- updateTests={TestController.updateTests.bind({}, testIndex)}
121
- test={test}
122
- />
123
- </div>
124
- </div>
125
- );
126
- };
127
-
128
- export default ScratchPad;
File without changes
@@ -1,100 +0,0 @@
1
- .scratchpad {
2
- --text-length: auto;
3
- width: 100%;
4
- overflow-wrap: anywhere;
5
-
6
- &__test-data-container {
7
- position: relative;
8
-
9
- width: 100%;
10
- }
11
- &__test-data {
12
- background: #e9e9e9;
13
- padding: 25px 15px 25px 15px;
14
- border-radius: 5px 5px 0px 0px;
15
-
16
- &__parentheses {
17
- font-size: 19px;
18
- }
19
- }
20
- &__response-data {
21
- padding: 12px 15px;
22
- background: #ffffff;
23
- position: relative;
24
- border-left: 1px solid #e9e9e9;
25
- border-right: 1px solid #e9e9e9;
26
- &--visible-false {
27
- display: none;
28
- }
29
-
30
- &__clear-btn {
31
- position: absolute;
32
- right: 9px;
33
- top: 5px;
34
- color: #c50000;
35
- font-family: sans-serif;
36
- }
37
- }
38
- &__response-value {
39
- font-family: "FS Mono", monospace;
40
- margin-left: 10px;
41
- margin: 5px 0 0 5px;
42
- color: #223a95;
43
- color: #a954ff;
44
- font-weight: 500;
45
- display: flex;
46
- align-items: flex-start;
47
- flex-wrap: wrap;
48
- & span.collapsed-icon {
49
- position: relative;
50
- top: 2px;
51
- left: 7px;
52
- }
53
- }
54
- &__response-type {
55
- color: #a954ff;
56
- font-weight: 700;
57
- font-size: 15px;
58
- }
59
- &__btn-container {
60
- position: absolute;
61
- right: 4px;
62
- top: 4px;
63
- & > span {
64
- margin: 0 5px;
65
- }
66
- }
67
- &__run-test-btn {
68
- cursor: pointer;
69
- }
70
-
71
- &__test-method-input {
72
- font-family: "SF Mono", monospace;
73
- background: none;
74
- border: none;
75
- font-size: 17px;
76
- width: var(--text-length);
77
- text-indent: 0;
78
- text-overflow: clip;
79
- max-width: 100%;
80
- color: #223a95;
81
- &:focus {
82
- background: white;
83
- }
84
- &:disabled {
85
- //color: initial;
86
- }
87
- }
88
- &__eval-btn {
89
- position: absolute;
90
- right: 7px;
91
- bottom: 3px;
92
- color: #3f51b5;
93
- font-weight: bold;
94
- font-size: 15px;
95
- }
96
- }
97
-
98
- .react-json-view {
99
- font-size: 14px;
100
- }