testeranto 0.177.0 → 0.197.0

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 (546) hide show
  1. package/ALL_LICENSES.txt +11246 -0
  2. package/LICENSE +21 -0
  3. package/README.md +24 -4
  4. package/default-project.json +44 -0
  5. package/design-editor/DesignEditor.tsx +247 -0
  6. package/design-editor/index.ts +2 -0
  7. package/design-editor/server.ts +121 -0
  8. package/design-editor/types.ts +16 -0
  9. package/designs/default-project.json +210 -0
  10. package/dist/common/design-editor/DesignEditor.js +239 -0
  11. package/dist/common/design-editor/index.js +18 -0
  12. package/dist/common/design-editor/server.js +98 -0
  13. package/dist/common/design-editor/types.js +2 -0
  14. package/dist/common/src/App.js +53 -0
  15. package/dist/common/src/Node.js +4 -8
  16. package/dist/common/src/PM/PM_WithEslintAndTsc.js +10 -34
  17. package/dist/common/src/PM/base.js +1 -1
  18. package/dist/common/src/PM/main.js +581 -113
  19. package/dist/common/src/PM/node.js +4 -2
  20. package/dist/common/src/PM/nodeSidecar.js +1 -0
  21. package/dist/common/src/PM/pure.js +20 -57
  22. package/dist/common/src/PM/pureSidecar.js +1 -1
  23. package/dist/common/src/PM/types.js +1 -0
  24. package/dist/common/src/PM/web.js +7 -4
  25. package/dist/common/src/Pure.js +1 -1
  26. package/dist/common/src/Pure.test.js +49 -79
  27. package/dist/common/src/ReportServer.js +8 -2
  28. package/dist/common/src/build.js +31 -40
  29. package/dist/common/src/components/DesignEditorPage.js +169 -0
  30. package/dist/common/src/components/SunriseAnimation.js +291 -0
  31. package/dist/common/src/components/SunriseAnimation.test/interface.js +67 -0
  32. package/dist/common/src/components/SunriseAnimation.test/types.js +2 -0
  33. package/dist/common/src/components/TestStatusBadge.js +1 -21
  34. package/dist/common/src/components/pure/AppFrame.js +69 -0
  35. package/dist/common/src/components/pure/AppFrame.test/implementation.js +63 -0
  36. package/dist/common/src/components/pure/AppFrame.test/index.js +14 -0
  37. package/dist/common/src/components/pure/AppFrame.test/specification.js +25 -0
  38. package/dist/common/src/components/pure/AppFrame.test/types.js +3 -0
  39. package/dist/common/src/components/pure/FeaturesReporterView.js +23 -0
  40. package/dist/common/src/components/pure/FeaturesReporterView.test/implementation.js +84 -0
  41. package/dist/common/src/components/pure/FeaturesReporterView.test/index.js +14 -0
  42. package/dist/common/src/components/pure/FeaturesReporterView.test/specification.js +27 -0
  43. package/dist/common/src/components/pure/FeaturesReporterView.test/types.js +2 -0
  44. package/dist/common/src/components/pure/ModalContent.js +86 -0
  45. package/dist/common/src/components/pure/ModalContent.test/implementation.js +35 -0
  46. package/dist/common/src/components/pure/ModalContent.test/index.js +58 -0
  47. package/dist/common/src/components/pure/ModalContent.test/specification.js +19 -0
  48. package/dist/common/src/components/pure/ModalContent.test/types.js +4 -0
  49. package/dist/common/src/{NavBar.js → components/pure/NavBar.js} +9 -10
  50. package/dist/common/src/components/pure/ProcessManager.js +112 -0
  51. package/dist/common/src/components/pure/ProcessManagerView.js +237 -0
  52. package/dist/common/src/components/pure/ProjectPageView.js +53 -76
  53. package/dist/common/src/components/pure/ProjectPageView.test/implementation.js +167 -54
  54. package/dist/common/src/components/pure/ProjectPageView.test/index.js +5 -1
  55. package/dist/common/src/components/pure/ProjectPageView.test/specification.js +15 -2
  56. package/dist/common/src/components/pure/ProjectPageView.test/types.js +2 -0
  57. package/dist/common/src/components/pure/ProjectsPageView.js +72 -0
  58. package/dist/common/src/components/pure/SettingsButton.js +13 -0
  59. package/dist/common/src/components/pure/SingleProcessView.js +214 -0
  60. package/dist/common/src/components/pure/TestPageView.js +513 -0
  61. package/dist/common/src/components/pure/TestPageView.test/implementation.js +157 -0
  62. package/dist/common/src/components/pure/TestPageView.test/index.js +15 -0
  63. package/dist/common/src/components/pure/TestPageView.test/specification.js +26 -0
  64. package/dist/common/src/components/pure/TestPageView.test/types.js +4 -0
  65. package/dist/common/src/components/pure/ThemeCard.js +15 -0
  66. package/dist/common/src/components/stateful/FeaturesReporter.js +59 -0
  67. package/dist/common/src/components/stateful/FileTree.js +40 -0
  68. package/dist/common/src/components/stateful/ProcessManagerPage.js +112 -0
  69. package/dist/common/src/components/stateful/ProjectPage.js +101 -0
  70. package/dist/common/src/components/stateful/ProjectsPage.js +118 -0
  71. package/dist/common/src/components/stateful/SettingsPage.js +72 -0
  72. package/dist/common/src/components/stateful/SingleProcessPage.js +147 -0
  73. package/dist/common/src/components/stateful/TestPage.js +229 -0
  74. package/dist/common/src/components/stateful/TextEditorPage.js +154 -0
  75. package/dist/common/src/defaultConfig.js +1 -0
  76. package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +3 -4
  77. package/dist/common/src/esbuildConfigs/web.js +1 -1
  78. package/dist/common/src/lib/BaseSuite.js +7 -3
  79. package/dist/common/src/lib/BaseSuite.test/mock.js +17 -41
  80. package/dist/common/src/lib/BaseSuite.test/test.js +33 -42
  81. package/dist/common/src/lib/Sidecar.js +1 -0
  82. package/dist/common/src/lib/abstractBase.js +40 -13
  83. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.adapter.js +12 -12
  84. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +15 -13
  85. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.mock.js +28 -17
  86. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.pure.js +2 -2
  87. package/dist/common/src/lib/basebuilder.js +29 -35
  88. package/dist/common/src/lib/classBuilder.js +5 -3
  89. package/dist/common/src/lib/core.js +3 -6
  90. package/dist/common/src/lib/core.test/MockCore.js +0 -14
  91. package/dist/common/src/lib/core.test/core.test.adapter.js +2 -9
  92. package/dist/common/src/lib/core.test/core.test.implementation.js +3 -7
  93. package/dist/common/src/lib/index.js +13 -14
  94. package/dist/common/src/lib/pmProxy.js +37 -16
  95. package/dist/common/src/lib/pmProxy.test/adapter.js +20 -4
  96. package/dist/common/src/lib/pmProxy.test/implementation.js +93 -34
  97. package/dist/common/src/lib/pmProxy.test/mockPMBase.js +9 -0
  98. package/dist/common/src/lib/pmProxy.test/specification.js +3 -0
  99. package/dist/common/src/mothership/index.js +5 -0
  100. package/dist/common/src/mothership/test.js +44 -25
  101. package/dist/common/src/types/features.js +34 -0
  102. package/dist/common/src/utils/api.js +57 -27
  103. package/dist/common/src/utils/featureUtils.js +29 -0
  104. package/dist/common/src/utils/logFiles.js +51 -0
  105. package/dist/common/src/utils/makePrompt.js +116 -0
  106. package/dist/common/src/web.html.js +2 -6
  107. package/dist/common/testeranto.config.js +54 -24
  108. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  109. package/dist/module/design-editor/DesignEditor.js +203 -0
  110. package/dist/module/design-editor/index.js +2 -0
  111. package/dist/module/design-editor/server.js +92 -0
  112. package/dist/module/design-editor/types.js +1 -0
  113. package/dist/module/src/App.js +19 -17
  114. package/dist/module/src/Node.js +4 -8
  115. package/dist/module/src/PM/PM_WithEslintAndTsc.js +11 -35
  116. package/dist/module/src/PM/base.js +1 -1
  117. package/dist/module/src/PM/main.js +577 -109
  118. package/dist/module/src/PM/node.js +4 -2
  119. package/dist/module/src/PM/nodeSidecar.js +1 -0
  120. package/dist/module/src/PM/pure.js +20 -57
  121. package/dist/module/src/PM/pureSidecar.js +1 -1
  122. package/dist/module/src/PM/types.js +1 -0
  123. package/dist/module/src/PM/web.js +7 -4
  124. package/dist/module/src/Pure.js +1 -1
  125. package/dist/module/src/Pure.test.js +49 -79
  126. package/dist/module/src/ReportServer.js +8 -2
  127. package/dist/module/src/build.js +26 -38
  128. package/dist/module/src/components/DesignEditorPage.js +132 -0
  129. package/dist/module/src/components/SunriseAnimation.test/interface.js +32 -1
  130. package/dist/module/src/components/SunriseAnimation.test/types.js +1 -0
  131. package/dist/module/src/components/TestStatusBadge.js +1 -21
  132. package/dist/module/src/components/pure/AppFrame.js +32 -0
  133. package/dist/module/src/components/pure/AppFrame.test/implementation.js +57 -0
  134. package/dist/module/src/components/pure/AppFrame.test/index.js +9 -0
  135. package/dist/module/src/components/pure/AppFrame.test/specification.js +21 -0
  136. package/dist/module/src/components/pure/AppFrame.test/types.js +2 -0
  137. package/dist/module/src/components/pure/FeaturesReporterView.js +16 -0
  138. package/dist/module/src/components/pure/FeaturesReporterView.test/implementation.js +81 -0
  139. package/dist/module/src/components/pure/FeaturesReporterView.test/index.js +9 -0
  140. package/dist/module/src/components/pure/FeaturesReporterView.test/specification.js +23 -0
  141. package/dist/module/src/components/pure/FeaturesReporterView.test/types.js +1 -0
  142. package/dist/module/src/components/pure/ModalContent.js +79 -0
  143. package/dist/module/src/components/pure/ModalContent.test/implementation.js +32 -0
  144. package/dist/module/src/components/pure/ModalContent.test/index.js +53 -0
  145. package/dist/module/src/components/pure/ModalContent.test/specification.js +15 -0
  146. package/dist/module/src/components/pure/ModalContent.test/types.js +3 -0
  147. package/dist/module/src/{NavBar.js → components/pure/NavBar.js} +10 -11
  148. package/dist/module/src/components/pure/ProcessManager.js +75 -0
  149. package/dist/module/src/components/pure/ProcessManagerView.js +200 -0
  150. package/dist/module/src/components/pure/ProjectPageView.js +54 -77
  151. package/dist/module/src/components/pure/ProjectPageView.test/implementation.js +167 -54
  152. package/dist/module/src/components/pure/ProjectPageView.test/index.js +5 -1
  153. package/dist/module/src/components/pure/ProjectPageView.test/specification.js +15 -2
  154. package/dist/module/src/components/pure/ProjectPageView.test/types.js +2 -0
  155. package/dist/module/src/components/pure/ProjectsPageView.js +21 -14
  156. package/dist/module/src/components/pure/SettingsButton.js +6 -0
  157. package/dist/module/src/components/pure/SingleProcessView.js +214 -0
  158. package/dist/module/src/components/pure/TestPageView.js +470 -142
  159. package/dist/module/src/components/pure/TestPageView.test/implementation.js +121 -0
  160. package/dist/module/src/components/pure/TestPageView.test/index.js +10 -0
  161. package/dist/module/src/components/pure/TestPageView.test/specification.js +22 -0
  162. package/dist/module/src/components/pure/TestPageView.test/types.js +3 -0
  163. package/dist/module/src/components/pure/ThemeCard.js +8 -0
  164. package/dist/module/src/components/stateful/FeaturesReporter.js +22 -0
  165. package/dist/module/src/components/stateful/FileTree.js +33 -0
  166. package/dist/module/src/components/stateful/ProcessManagerPage.js +75 -0
  167. package/dist/module/src/components/stateful/ProjectPage.js +7 -6
  168. package/dist/module/src/components/stateful/ProjectsPage.js +32 -6
  169. package/dist/module/src/components/stateful/SettingsPage.js +35 -0
  170. package/dist/module/src/components/stateful/SingleProcessPage.js +110 -0
  171. package/dist/module/src/components/stateful/TestPage.js +123 -13
  172. package/dist/module/src/components/stateful/TextEditorPage.js +117 -0
  173. package/dist/module/src/defaultConfig.js +1 -0
  174. package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +3 -4
  175. package/dist/module/src/esbuildConfigs/web.js +1 -1
  176. package/dist/module/src/lib/BaseSuite.js +7 -3
  177. package/dist/module/src/lib/BaseSuite.test/mock.js +17 -41
  178. package/dist/module/src/lib/BaseSuite.test/test.js +33 -42
  179. package/dist/module/src/lib/Sidecar.js +1 -0
  180. package/dist/module/src/lib/abstractBase.js +40 -13
  181. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.adapter.js +12 -12
  182. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +15 -13
  183. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.mock.js +28 -17
  184. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.pure.js +1 -1
  185. package/dist/module/src/lib/basebuilder.js +29 -35
  186. package/dist/module/src/lib/classBuilder.js +5 -3
  187. package/dist/module/src/lib/core.js +3 -6
  188. package/dist/module/src/lib/core.test/MockCore.js +0 -14
  189. package/dist/module/src/lib/core.test/core.test.adapter.js +2 -9
  190. package/dist/module/src/lib/core.test/core.test.implementation.js +3 -7
  191. package/dist/module/src/lib/index.js +13 -14
  192. package/dist/module/src/lib/pmProxy.js +37 -16
  193. package/dist/module/src/lib/pmProxy.test/adapter.js +20 -4
  194. package/dist/module/src/lib/pmProxy.test/implementation.js +93 -34
  195. package/dist/module/src/lib/pmProxy.test/mockPMBase.js +9 -0
  196. package/dist/module/src/lib/pmProxy.test/specification.js +3 -0
  197. package/dist/module/src/mothership/index.js +5 -0
  198. package/dist/module/src/mothership/test.js +44 -25
  199. package/dist/module/src/types/features.js +31 -0
  200. package/dist/module/src/utils/api.js +56 -25
  201. package/dist/module/src/utils/featureUtils.js +24 -0
  202. package/dist/module/src/utils/logFiles.js +46 -0
  203. package/dist/module/src/utils/makePrompt.js +109 -0
  204. package/dist/module/src/web.html.js +2 -6
  205. package/dist/module/testeranto.config.js +54 -24
  206. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  207. package/dist/prebuild/App.css +53 -80
  208. package/dist/prebuild/App.js +15520 -4397
  209. package/dist/prebuild/ReportServer.mjs +104 -6
  210. package/dist/prebuild/build.mjs +95 -108
  211. package/dist/prebuild/mothership/index.mjs +5 -0
  212. package/dist/prebuild/run.mjs +704 -221
  213. package/dist/types/design-editor/DesignEditor.d.ts +18 -0
  214. package/dist/types/design-editor/server.d.ts +1 -0
  215. package/dist/types/src/App.d.ts +1 -0
  216. package/dist/types/src/PM/index.d.ts +1 -1
  217. package/dist/types/src/PM/main.d.ts +37 -3
  218. package/dist/types/src/PM/pure.d.ts +10 -7
  219. package/dist/types/src/PM/web.d.ts +1 -1
  220. package/dist/types/src/Pure.test.d.ts +13 -1
  221. package/dist/types/src/Types.d.ts +1 -0
  222. package/dist/types/src/components/DesignEditorPage.d.ts +1 -0
  223. package/dist/types/src/components/SunriseAnimation.d.ts +5 -0
  224. package/dist/types/src/components/SunriseAnimation.test/interface.d.ts +11 -0
  225. package/dist/types/src/components/SunriseAnimation.test/types.d.ts +39 -0
  226. package/dist/types/src/components/pure/AppFrame.d.ts +11 -0
  227. package/dist/types/src/components/pure/AppFrame.test/implementation.d.ts +3 -0
  228. package/dist/types/src/components/pure/AppFrame.test/index.d.ts +5 -0
  229. package/dist/types/src/components/pure/AppFrame.test/specification.d.ts +3 -0
  230. package/dist/types/src/components/pure/AppFrame.test/types.d.ts +33 -0
  231. package/dist/types/src/components/pure/FeaturesReporterView.d.ts +7 -0
  232. package/dist/types/src/components/pure/FeaturesReporterView.test/implementation.d.ts +3 -0
  233. package/dist/types/src/components/pure/FeaturesReporterView.test/index.d.ts +2 -0
  234. package/dist/types/src/components/pure/FeaturesReporterView.test/specification.d.ts +3 -0
  235. package/dist/types/src/components/pure/FeaturesReporterView.test/types.d.ts +54 -0
  236. package/dist/types/src/components/pure/ModalContent.d.ts +7 -0
  237. package/dist/types/src/components/pure/ModalContent.test/implementation.d.ts +3 -0
  238. package/dist/types/src/components/pure/ModalContent.test/index.d.ts +3 -0
  239. package/dist/types/src/components/pure/ModalContent.test/specification.d.ts +3 -0
  240. package/dist/types/src/components/pure/ModalContent.test/types.d.ts +45 -0
  241. package/dist/types/src/{NavBar.d.ts → components/pure/NavBar.d.ts} +4 -0
  242. package/dist/types/src/components/pure/ProcessManager.d.ts +8 -0
  243. package/dist/types/src/components/pure/ProcessManagerView.d.ts +20 -0
  244. package/dist/types/src/components/pure/ProjectPageView.d.ts +7 -7
  245. package/dist/types/src/components/pure/ProjectPageView.test/index.d.ts +1 -2
  246. package/dist/types/src/components/pure/ProjectPageView.test/types.d.ts +29 -11
  247. package/dist/types/src/components/pure/ProjectsPageView.d.ts +29 -0
  248. package/dist/types/src/components/pure/SettingsButton.d.ts +2 -0
  249. package/dist/types/src/components/pure/SingleProcessView.d.ts +0 -0
  250. package/dist/types/src/components/pure/TestPageView.d.ts +15 -0
  251. package/dist/types/src/components/pure/TestPageView.test/implementation.d.ts +12 -0
  252. package/dist/types/src/components/pure/TestPageView.test/index.d.ts +3 -0
  253. package/dist/types/src/components/pure/TestPageView.test/specification.d.ts +11 -0
  254. package/dist/types/src/components/pure/TestPageView.test/types.d.ts +65 -0
  255. package/dist/types/src/components/pure/ThemeCard.d.ts +9 -0
  256. package/dist/types/src/components/stateful/FeaturesReporter.d.ts +2 -0
  257. package/dist/types/src/components/stateful/FileTree.d.ts +8 -0
  258. package/dist/types/src/components/stateful/ProcessManagerPage.d.ts +2 -0
  259. package/dist/types/src/components/stateful/ProjectPage.d.ts +1 -0
  260. package/dist/types/src/components/stateful/ProjectsPage.d.ts +1 -0
  261. package/dist/types/src/components/stateful/SettingsPage.d.ts +2 -0
  262. package/dist/types/src/components/stateful/SingleProcessPage.d.ts +2 -0
  263. package/dist/types/src/components/stateful/TestPage.d.ts +1 -0
  264. package/dist/types/src/components/stateful/TextEditorPage.d.ts +1 -0
  265. package/dist/types/src/lib/BaseSuite.test/mock.d.ts +3 -3
  266. package/dist/types/src/lib/abstractBase.d.ts +1 -1
  267. package/dist/types/src/lib/abstractBase.test/MockGiven.d.ts +1 -1
  268. package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.pure.d.ts +1 -1
  269. package/dist/types/src/lib/basebuilder.d.ts +1 -1
  270. package/dist/types/src/lib/index.d.ts +8 -8
  271. package/dist/types/src/lib/pmProxy.test/mockPMBase.d.ts +1 -1
  272. package/dist/types/src/types/features.d.ts +7 -0
  273. package/dist/types/src/utils/api.d.ts +1 -5
  274. package/dist/types/src/utils/featureUtils.d.ts +6 -0
  275. package/dist/types/src/utils/logFiles.d.ts +71 -0
  276. package/dist/types/src/utils/makePrompt.d.ts +2 -0
  277. package/dist/types/src/web.html.d.ts +1 -1
  278. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  279. package/docs/index.md +17 -0
  280. package/docs/test-page-components.md +91 -0
  281. package/docs/testing.prompt.txt +1 -3
  282. package/index.d.ts +38 -13
  283. package/marketing.md +166 -0
  284. package/package.json +38 -11
  285. package/src/App.tsx +22 -25
  286. package/src/Node.ts +6 -9
  287. package/src/PM/PM_WithEslintAndTsc.ts +16 -97
  288. package/src/PM/__tests__/nodeSidecar.testeranto.ts +2 -0
  289. package/src/PM/base.ts +1 -3
  290. package/src/PM/index.ts +1 -1
  291. package/src/PM/main.ts +673 -128
  292. package/src/PM/node.ts +5 -2
  293. package/src/PM/nodeSidecar.ts +1 -0
  294. package/src/PM/pure.ts +28 -72
  295. package/src/PM/pureSidecar.ts +1 -1
  296. package/src/PM/types.ts +0 -0
  297. package/src/PM/web.ts +9 -4
  298. package/src/Pure.test.ts +66 -101
  299. package/src/Pure.ts +1 -1
  300. package/src/README.md +85 -0
  301. package/src/ReportServer.ts +10 -3
  302. package/src/Types.ts +1 -0
  303. package/src/app.scss +169 -0
  304. package/src/build.ts +33 -55
  305. package/src/components/DesignEditorPage.tsx +169 -0
  306. package/src/components/{pure/ProjectPageView.test/index.ts → SunriseAnimation.test/index.tsx} +7 -4
  307. package/src/components/SunriseAnimation.test/interface.ts +49 -0
  308. package/src/components/SunriseAnimation.test/types.ts +53 -0
  309. package/src/components/TestStatusBadge.tsx +2 -23
  310. package/src/components/pure/AppFrame.test/implementation.tsx +72 -0
  311. package/src/components/pure/AppFrame.test/index.tsx +22 -0
  312. package/src/components/pure/AppFrame.test/specification.ts +35 -0
  313. package/src/components/pure/AppFrame.test/types.ts +65 -0
  314. package/src/components/pure/AppFrame.tsx +134 -0
  315. package/src/components/pure/FeaturesReporterView.test/implementation.tsx +106 -0
  316. package/src/components/pure/FeaturesReporterView.test/index.tsx +18 -0
  317. package/src/components/pure/FeaturesReporterView.test/specification.ts +39 -0
  318. package/src/components/pure/FeaturesReporterView.test/types.ts +77 -0
  319. package/src/components/pure/FeaturesReporterView.tsx +37 -0
  320. package/src/components/pure/ModalContent.test/implementation.tsx +45 -0
  321. package/src/components/pure/ModalContent.test/index.tsx +67 -0
  322. package/src/components/pure/ModalContent.test/specification.ts +27 -0
  323. package/src/components/pure/ModalContent.test/types.ts +72 -0
  324. package/src/components/pure/ModalContent.tsx +182 -0
  325. package/src/{NavBar.tsx → components/pure/NavBar.tsx} +31 -15
  326. package/src/components/pure/ProcessManager.tsx +117 -0
  327. package/src/components/pure/ProcessManagerView.tsx +414 -0
  328. package/src/components/pure/ProjectPageView.test/implementation.tsx +186 -57
  329. package/src/components/pure/ProjectPageView.test/index.tsx +18 -0
  330. package/src/components/pure/ProjectPageView.test/specification.ts +15 -2
  331. package/src/components/pure/ProjectPageView.test/types.ts +57 -13
  332. package/src/components/pure/ProjectPageView.tsx +155 -121
  333. package/src/components/pure/ProjectsPageView.tsx +73 -32
  334. package/src/components/pure/SettingsButton.md +1 -0
  335. package/src/components/pure/SettingsButton.tsx +11 -0
  336. package/src/components/pure/SingleProcessView.tsx +235 -0
  337. package/src/components/pure/TestPageView.test/implementation.ts +162 -0
  338. package/src/components/pure/TestPageView.test/index.tsx +20 -0
  339. package/src/components/pure/TestPageView.test/specification.ts +58 -0
  340. package/src/components/pure/TestPageView.test/types.ts +92 -0
  341. package/src/components/pure/TestPageView.tsx +1009 -299
  342. package/src/components/pure/ThemeCard.tsx +34 -0
  343. package/src/components/stateful/FeaturesReporter.tsx +24 -0
  344. package/src/components/stateful/FileTree.tsx +66 -0
  345. package/src/components/stateful/ProcessManagerPage.tsx +108 -0
  346. package/src/components/stateful/ProjectPage.tsx +10 -8
  347. package/src/components/stateful/ProjectsPage.tsx +36 -7
  348. package/src/components/stateful/SettingsPage.tsx +82 -0
  349. package/src/components/stateful/SingleProcessPage.tsx +155 -0
  350. package/src/components/stateful/TestPage.tsx +147 -30
  351. package/src/components/stateful/TextEditorPage.tsx +170 -0
  352. package/src/defaultConfig.ts +1 -0
  353. package/src/esbuildConfigs/inputFilesPlugin.ts +3 -4
  354. package/src/esbuildConfigs/web.ts +2 -1
  355. package/src/lib/BaseSuite.test/mock.ts +21 -68
  356. package/src/lib/BaseSuite.test/test.ts +39 -65
  357. package/src/lib/BaseSuite.ts +9 -3
  358. package/src/lib/Sidecar.ts +2 -0
  359. package/src/lib/abstractBase.test/MockGiven.ts +1 -1
  360. package/src/lib/abstractBase.ts +47 -20
  361. package/src/lib/baseBuilder.test/baseBuilder.test.adapter.ts +14 -13
  362. package/src/lib/baseBuilder.test/baseBuilder.test.implementation.ts +17 -14
  363. package/src/lib/baseBuilder.test/baseBuilder.test.mock.ts +27 -17
  364. package/src/lib/baseBuilder.test/baseBuilder.test.pure.ts +1 -1
  365. package/src/lib/basebuilder.ts +48 -54
  366. package/src/lib/classBuilder.ts +11 -10
  367. package/src/lib/core.test/MockCore.ts +0 -23
  368. package/src/lib/core.test/core.test.adapter.ts +6 -12
  369. package/src/lib/core.test/core.test.implementation.ts +7 -10
  370. package/src/lib/core.ts +5 -20
  371. package/src/lib/index.ts +28 -27
  372. package/src/lib/pmProxy.test/adapter.ts +18 -4
  373. package/src/lib/pmProxy.test/implementation.ts +130 -46
  374. package/src/lib/pmProxy.test/mockPMBase.ts +12 -1
  375. package/src/lib/pmProxy.test/specification.ts +11 -0
  376. package/src/lib/pmProxy.ts +42 -17
  377. package/src/lib/types.ts +2 -0
  378. package/src/mothership/index.ts +6 -0
  379. package/src/mothership/test.ts +53 -26
  380. package/src/style.md +2 -0
  381. package/src/style.scss +3 -486
  382. package/src/templates/frontpage.html +331 -0
  383. package/src/templates/frontpage.md +79 -0
  384. package/src/themes.scss +48 -16
  385. package/src/types/features.ts +38 -0
  386. package/src/utils/api.ts +66 -33
  387. package/src/utils/featureUtils.tsx +42 -0
  388. package/src/utils/logFiles.ts +60 -0
  389. package/src/utils/makePrompt.ts +149 -0
  390. package/src/web.html.ts +6 -6
  391. package/stargazers.txt +15 -0
  392. package/stargzers.js +68 -0
  393. package/testeranto/App.css +53 -80
  394. package/testeranto/App.js +15520 -4397
  395. package/testeranto/bundles/node/core/chunk-4CSH4UJE.mjs +872 -0
  396. package/testeranto/bundles/node/core/chunk-4JTDLQVA.mjs +253 -0
  397. package/testeranto/bundles/node/core/chunk-C3APFDUV.mjs +70 -0
  398. package/testeranto/bundles/node/core/src/lib/BaseSuite.test/node.test.mjs +295 -0
  399. package/testeranto/bundles/node/core/src/lib/baseBuilder.test/baseBuilder.test.node.mjs +243 -0
  400. package/testeranto/bundles/node/core/src/lib/classBuilder.test/classBuilder.test.mjs +411 -0
  401. package/testeranto/bundles/node/core/src/lib/core.test/core.test.mjs +494 -0
  402. package/testeranto/bundles/node/core/src/lib/pmProxy.test/index.mjs +4755 -0
  403. package/testeranto/bundles/pure/core/chunk-62UVCSQC.mjs +1022 -0
  404. package/testeranto/bundles/pure/core/src/Pure.test.mjs +410 -0
  405. package/testeranto/bundles/pure/core/src/lib/BaseSuite.test/pure.test.mjs +352 -0
  406. package/testeranto/bundles/pure/core/src/lib/baseBuilder.test/baseBuilder.test.pure.mjs +241 -0
  407. package/testeranto/bundles/web/core/src/components/pure/FeaturesReporterView.test/index.html +15 -0
  408. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.html +1 -5
  409. package/testeranto/bundles/web/core/src/components/pure/TestPageView.test/index.html +15 -0
  410. package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.html +15 -0
  411. package/testeranto/bundles/web/core/src/lib/baseBuilder.test/baseBuilder.test.web.html +15 -0
  412. package/testeranto/metafiles/node/core.json +2906 -0
  413. package/testeranto/metafiles/pure/core.json +860 -0
  414. package/testeranto/metafiles/web/core.json +546 -0
  415. package/testeranto/reports/core/config.json +103 -2
  416. package/testeranto/reports/core/src/Pure.test/pure/exit.log +0 -0
  417. package/testeranto/reports/core/src/Pure.test/pure/lint_errors.txt +0 -0
  418. package/testeranto/reports/core/src/Pure.test/pure/message.txt +17 -0
  419. package/testeranto/reports/core/src/Pure.test/pure/prompt.txt +14 -0
  420. package/testeranto/reports/core/src/Pure.test/pure/type_errors.txt +71 -0
  421. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/debug.log +0 -0
  422. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/error.log +3 -0
  423. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/exit.log +1 -0
  424. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/info.log +0 -0
  425. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/warn.log +0 -0
  426. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/debug.log +0 -0
  427. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/error.log +3 -0
  428. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/exit.log +1 -0
  429. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/info.log +0 -0
  430. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/warn.log +0 -0
  431. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/debug.log +0 -0
  432. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/error.log +3 -0
  433. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/exit.log +1 -0
  434. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/info.log +0 -0
  435. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/warn.log +0 -0
  436. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/exit.log +1 -0
  437. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/lint_errors.txt +0 -0
  438. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/message.txt +17 -0
  439. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/prompt.txt +14 -0
  440. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stderr.log +0 -0
  441. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stdout.log +0 -0
  442. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/tests.json +31 -0
  443. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/type_errors.txt +61 -0
  444. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/exit.log +0 -0
  445. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/lint_errors.txt +0 -0
  446. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/message.txt +17 -0
  447. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/prompt.txt +15 -0
  448. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/type_errors.txt +61 -0
  449. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/debug.log +0 -0
  450. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/error.log +3 -0
  451. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/exit.log +1 -0
  452. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/info.log +0 -0
  453. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/warn.log +0 -0
  454. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/exit.log +1 -0
  455. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/lint_errors.txt +10 -0
  456. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/message.txt +17 -0
  457. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/prompt.txt +17 -0
  458. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/stderr.log +0 -0
  459. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/stdout.log +6 -0
  460. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/suite-0/given-testInitialization/then-0/butThen/hello.txt +1 -0
  461. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/suite-0/given-testInitialization/then-1/butThen/artifact_test.txt +1 -0
  462. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/tests.json +71 -0
  463. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/type_errors.txt +42 -0
  464. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/exit.log +0 -0
  465. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/lint_errors.txt +10 -0
  466. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/message.txt +17 -0
  467. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/prompt.txt +17 -0
  468. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/type_errors.txt +42 -0
  469. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/debug.log +0 -0
  470. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/error.log +3 -0
  471. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/exit.log +1 -0
  472. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/info.log +0 -0
  473. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/warn.log +0 -0
  474. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/exit.log +1 -0
  475. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/lint_errors.txt +0 -0
  476. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/message.txt +17 -0
  477. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/prompt.txt +17 -0
  478. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/stderr.log +0 -0
  479. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/stdout.log +619 -0
  480. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/tests.json +165 -0
  481. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/type_errors.txt +88 -0
  482. package/testeranto/reports/core/src/lib/core.test/core.test/node/exit.log +1 -0
  483. package/testeranto/reports/core/src/lib/core.test/core.test/node/lint_errors.txt +21 -0
  484. package/testeranto/reports/core/src/lib/core.test/core.test/node/message.txt +17 -0
  485. package/testeranto/reports/core/src/lib/core.test/core.test/node/prompt.txt +19 -0
  486. package/testeranto/reports/core/src/lib/core.test/core.test/node/stderr.log +0 -0
  487. package/testeranto/reports/core/src/lib/core.test/core.test/node/stdout.log +0 -0
  488. package/testeranto/reports/core/src/lib/core.test/core.test/node/type_errors.txt +45 -0
  489. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/exit.log +1 -0
  490. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/lint_errors.txt +15 -0
  491. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/message.txt +17 -0
  492. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/prompt.txt +17 -0
  493. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stderr.log +88 -0
  494. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stdout.log +10 -0
  495. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/tests.json +152 -0
  496. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/type_errors.txt +52 -0
  497. package/testeranto/reports/core/summary.json +74 -5
  498. package/testeranto/reportsweb_build_errors +546 -0
  499. package/testeranto.config.ts +58 -25
  500. package/tsc.log +378 -211
  501. package/tsconfig.common.json +4 -2
  502. package/tsconfig.json +9 -6
  503. package/tsconfig.module.json +3 -2
  504. package/tsconfig.types.json +3 -1
  505. package/dist/common/src/components/pure/ProjectPageView.test/adapter.js +0 -20
  506. package/dist/common/src/lib/dailyAnimation.js +0 -130
  507. package/dist/module/src/Footer.js +0 -5
  508. package/dist/module/src/ProjectPage.js +0 -319
  509. package/dist/module/src/ProjectsPage.js +0 -1
  510. package/dist/module/src/SettingsButton.js +0 -157
  511. package/dist/module/src/TestPage.js +0 -271
  512. package/dist/module/src/TestReport.js +0 -368
  513. package/dist/module/src/components/pure/ProjectPageView.test/adapter.js +0 -17
  514. package/dist/module/src/lib/dailyAnimation.js +0 -130
  515. package/dist/types/src/components/pure/ProjectPageView.test/adapter.d.ts +0 -3
  516. package/dist/types/testeranto.config.d.ts +0 -3
  517. package/docs/testing.ai.txt +0 -106
  518. package/docs.html +0 -572
  519. package/example.css +0 -351
  520. package/index.html +0 -284
  521. package/scripts/compile-docs.js +0 -140
  522. package/src/App.scss +0 -132
  523. package/src/Footer.tsx +0 -8
  524. package/src/Project.scss +0 -1
  525. package/src/ProjectPage.tsx +0 -459
  526. package/src/ProjectsPage.tsx +0 -1
  527. package/src/ReportApp.scss +0 -1
  528. package/src/SettingsButton.tsx +0 -268
  529. package/src/TestPage.tsx +0 -476
  530. package/src/TestReport.scss +0 -24
  531. package/src/TestReport.tsx +0 -411
  532. package/src/components/pure/ProjectPageView.test/adapter.ts +0 -21
  533. package/src/fonts.scss +0 -55
  534. package/src/lib/dailyAnimation.ts +0 -147
  535. package/style.css +0 -12156
  536. package/testeranto/bundles/node/core/metafile.json +0 -8
  537. package/testeranto/bundles/pure/core/metafile.json +0 -8
  538. package/testeranto/bundles/web/core/metafile.json +0 -15086
  539. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.mjs +0 -39991
  540. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/lint_errors.txt +0 -18
  541. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/logs.txt +0 -59
  542. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/message.txt +0 -2
  543. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/prompt.txt +0 -27
  544. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/suite-0/given-basicRender/then-0/butThen/happyPath.png +0 -0
  545. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/type_errors.txt +0 -50
  546. /package/dist/types/src/{lib/dailyAnimation.d.ts → PM/types.d.ts} +0 -0
@@ -0,0 +1,872 @@
1
+ import { createRequire } from 'module';const require = createRequire(import.meta.url);
2
+ var __defProp = Object.defineProperty;
3
+ var __export = (target, all) => {
4
+ for (var name in all)
5
+ __defProp(target, name, { get: all[name], enumerable: true });
6
+ };
7
+
8
+ // dist/cjs-shim.js
9
+ import path from "node:path";
10
+ import url from "node:url";
11
+ globalThis.__filename = url.fileURLToPath(import.meta.url);
12
+ globalThis.__dirname = path.dirname(__filename);
13
+
14
+ // src/lib/pmProxy.ts
15
+ var baseProxy = function(pm, mappings) {
16
+ return new Proxy(pm, {
17
+ get: (target, prop, receiver) => {
18
+ for (const mapping of mappings) {
19
+ const method = mapping[0];
20
+ const arger = mapping[1];
21
+ if (prop === method) {
22
+ return (...x) => {
23
+ const modifiedArgs = arger(...x);
24
+ return target[prop](...modifiedArgs);
25
+ };
26
+ }
27
+ }
28
+ return (...x) => {
29
+ return target[prop](...x);
30
+ };
31
+ }
32
+ });
33
+ };
34
+ var butThenProxy = (pm, filepath, addArtifact) => {
35
+ return baseProxy(pm, [
36
+ [
37
+ "screencast",
38
+ (opts, p) => {
39
+ const path2 = `${filepath}/butThen/${opts.path}`;
40
+ addArtifact(path2);
41
+ return [
42
+ {
43
+ ...opts,
44
+ path: path2
45
+ },
46
+ p
47
+ ];
48
+ }
49
+ ],
50
+ [
51
+ "createWriteStream",
52
+ (fp) => {
53
+ const path2 = `${filepath}/butThen/${fp}`;
54
+ addArtifact(path2);
55
+ return [path2];
56
+ }
57
+ ],
58
+ [
59
+ "writeFileSync",
60
+ (fp, contents, testName) => {
61
+ console.log(
62
+ `[DEBUG] butThenProxy writeFileSync: fp="${fp}" (type: ${typeof fp}), contents="${contents}" (type: ${typeof contents}), testName="${testName}" (type: ${typeof testName})`
63
+ );
64
+ if (typeof fp !== "string") {
65
+ console.log(`[ERROR] fp is not a string:`, fp);
66
+ if (Array.isArray(fp)) {
67
+ fp = fp.join("");
68
+ console.log(`[DEBUG] Converted array to string: "${fp}"`);
69
+ } else {
70
+ fp = String(fp);
71
+ console.log(`[DEBUG] Converted to string: "${fp}"`);
72
+ }
73
+ }
74
+ const path2 = `${filepath}/butThen/${fp}`;
75
+ console.log(`[DEBUG] Generated path: "${path2}"`);
76
+ addArtifact(path2);
77
+ return [path2, contents, testName];
78
+ }
79
+ ],
80
+ [
81
+ "customScreenShot",
82
+ (opts, p) => {
83
+ const path2 = `${filepath}/butThen/${opts.path}`;
84
+ addArtifact(path2);
85
+ return [
86
+ {
87
+ ...opts,
88
+ path: path2
89
+ },
90
+ p
91
+ ];
92
+ }
93
+ ]
94
+ ]);
95
+ };
96
+ var andWhenProxy = (pm, filepath, addArtifact) => {
97
+ return baseProxy(pm, [
98
+ [
99
+ "screencast",
100
+ (opts, p) => {
101
+ const path2 = `${filepath}/andWhen/${opts.path}`;
102
+ addArtifact(path2);
103
+ return [
104
+ {
105
+ ...opts,
106
+ path: path2
107
+ },
108
+ p
109
+ ];
110
+ }
111
+ ],
112
+ [
113
+ "createWriteStream",
114
+ (fp) => {
115
+ const path2 = `${filepath}/andWhen/${fp}`;
116
+ addArtifact(path2);
117
+ return [path2];
118
+ }
119
+ ],
120
+ [
121
+ "writeFileSync",
122
+ (fp, contents, testName) => {
123
+ const path2 = `${filepath}/andWhen/${fp}`;
124
+ addArtifact(path2);
125
+ return [path2, contents, testName];
126
+ }
127
+ ],
128
+ [
129
+ "customScreenShot",
130
+ (opts, p) => {
131
+ const path2 = `${filepath}/andWhen/${opts.path}`;
132
+ addArtifact(path2);
133
+ return [
134
+ {
135
+ ...opts,
136
+ path: path2
137
+ },
138
+ p
139
+ ];
140
+ }
141
+ ]
142
+ ]);
143
+ };
144
+ var afterEachProxy = (pm, suite, given, addArtifact) => {
145
+ return baseProxy(pm, [
146
+ [
147
+ "screencast",
148
+ (opts, p) => {
149
+ const path2 = `suite-${suite}/given-${given}/afterEach/${opts.path}`;
150
+ addArtifact(path2);
151
+ return [
152
+ {
153
+ ...opts,
154
+ path: path2
155
+ },
156
+ p
157
+ ];
158
+ }
159
+ ],
160
+ [
161
+ "createWriteStream",
162
+ (fp) => {
163
+ const path2 = `suite-${suite}/afterEach/${fp}`;
164
+ addArtifact(path2);
165
+ return [path2];
166
+ }
167
+ ],
168
+ [
169
+ "writeFileSync",
170
+ (fp, contents, testName) => {
171
+ const path2 = `suite-${suite}/given-${given}/afterEach/${fp}`;
172
+ addArtifact(path2);
173
+ return [path2, contents, testName];
174
+ }
175
+ ],
176
+ [
177
+ "customScreenShot",
178
+ (opts, p) => {
179
+ const path2 = `suite-${suite}/given-${given}/afterEach/${opts.path}`;
180
+ addArtifact(path2);
181
+ return [
182
+ {
183
+ ...opts,
184
+ path: path2
185
+ },
186
+ p
187
+ ];
188
+ }
189
+ ]
190
+ ]);
191
+ };
192
+ var beforeEachProxy = (pm, suite, addArtifact) => {
193
+ return baseProxy(pm, [
194
+ [
195
+ "screencast",
196
+ (opts, p) => {
197
+ const path2 = `suite-${suite}/beforeEach/${opts.path}`;
198
+ addArtifact(path2);
199
+ return [
200
+ {
201
+ ...opts,
202
+ path: path2
203
+ },
204
+ p
205
+ ];
206
+ }
207
+ ],
208
+ [
209
+ "writeFileSync",
210
+ (fp, contents, testName) => {
211
+ const path2 = `suite-${suite}/beforeEach/${fp}`;
212
+ addArtifact(path2);
213
+ return [path2, contents, testName];
214
+ }
215
+ ],
216
+ [
217
+ "customScreenShot",
218
+ (opts, p) => {
219
+ const path2 = `suite-${suite}/beforeEach/${opts.path}`;
220
+ addArtifact(path2);
221
+ return [
222
+ {
223
+ ...opts,
224
+ path: path2
225
+ },
226
+ p
227
+ ];
228
+ }
229
+ ],
230
+ [
231
+ "createWriteStream",
232
+ (fp) => {
233
+ const path2 = `suite-${suite}/beforeEach/${fp}`;
234
+ addArtifact(path2);
235
+ return [path2];
236
+ }
237
+ ]
238
+ ]);
239
+ };
240
+ var beforeAllProxy = (pm, suite, addArtifact) => {
241
+ return baseProxy(pm, [
242
+ [
243
+ "writeFileSync",
244
+ (fp, contents, testName) => {
245
+ const path2 = `suite-${suite}/beforeAll/${fp}`;
246
+ addArtifact(path2);
247
+ return [path2, contents, testName];
248
+ }
249
+ ],
250
+ [
251
+ "customScreenShot",
252
+ (opts, p) => {
253
+ const path2 = `suite-${suite}/beforeAll/${opts.path}`;
254
+ addArtifact(path2);
255
+ return [
256
+ {
257
+ ...opts,
258
+ path: path2
259
+ },
260
+ p
261
+ ];
262
+ }
263
+ ],
264
+ [
265
+ "createWriteStream",
266
+ (fp) => {
267
+ const path2 = `suite-${suite}/beforeAll/${fp}`;
268
+ addArtifact(path2);
269
+ return [path2];
270
+ }
271
+ ]
272
+ ]);
273
+ };
274
+ var afterAllProxy = (pm, suite, addArtifact) => {
275
+ return baseProxy(pm, [
276
+ [
277
+ "createWriteStream",
278
+ (fp) => {
279
+ const path2 = `suite-${suite}/afterAll/${fp}`;
280
+ addArtifact(path2);
281
+ return [path2];
282
+ }
283
+ ],
284
+ [
285
+ "writeFileSync",
286
+ (fp, contents, testName) => {
287
+ const path2 = `suite-${suite}/afterAll/${fp}`;
288
+ addArtifact(path2);
289
+ return [path2, contents, testName];
290
+ }
291
+ ],
292
+ [
293
+ "customScreenShot",
294
+ (opts, p) => {
295
+ const path2 = `suite-${suite}/afterAll/${opts.path}`;
296
+ addArtifact(path2);
297
+ return [
298
+ {
299
+ ...opts,
300
+ path: path2
301
+ },
302
+ p
303
+ ];
304
+ }
305
+ ]
306
+ ]);
307
+ };
308
+
309
+ // src/lib/basebuilder.ts
310
+ var BaseBuilder = class {
311
+ constructor(input, suitesOverrides, givenOverides, whenOverides, thenOverides, testResourceRequirement, testSpecification) {
312
+ this.artifacts = [];
313
+ this.artifacts = [];
314
+ this.testResourceRequirement = testResourceRequirement;
315
+ this.suitesOverrides = suitesOverrides;
316
+ this.givenOverides = givenOverides;
317
+ this.whenOverides = whenOverides;
318
+ this.thenOverides = thenOverides;
319
+ this.testSpecification = testSpecification;
320
+ this.specs = testSpecification(
321
+ this.Suites(),
322
+ this.Given(),
323
+ this.When(),
324
+ this.Then()
325
+ );
326
+ this.testJobs = this.specs.map((suite) => {
327
+ const suiteRunner = (suite2) => async (puppetMaster, tLog) => {
328
+ try {
329
+ const x = await suite2.run(
330
+ input,
331
+ puppetMaster.testResourceConfiguration,
332
+ (fPath, value) => puppetMaster.testArtiFactoryfileWriter(
333
+ tLog,
334
+ (p) => {
335
+ this.artifacts.push(p);
336
+ }
337
+ )(
338
+ puppetMaster.testResourceConfiguration.fs + "/" + fPath,
339
+ value
340
+ ),
341
+ tLog,
342
+ puppetMaster
343
+ );
344
+ return x;
345
+ } catch (e) {
346
+ console.error(e.stack);
347
+ }
348
+ };
349
+ const runner = suiteRunner(suite);
350
+ return {
351
+ test: suite,
352
+ toObj: () => {
353
+ return suite.toObj();
354
+ },
355
+ runner,
356
+ receiveTestResourceConfig: async function(puppetMaster) {
357
+ const tLog = async (...l) => {
358
+ };
359
+ try {
360
+ const suiteDone = await runner(puppetMaster, tLog);
361
+ const fails = suiteDone.fails;
362
+ await puppetMaster.writeFileSync(
363
+ `tests.json`,
364
+ JSON.stringify(this.toObj(), null, 2),
365
+ "test"
366
+ );
367
+ return {
368
+ failed: fails > 0,
369
+ fails,
370
+ artifacts: this.artifacts || [],
371
+ features: suiteDone.features()
372
+ };
373
+ } catch (e) {
374
+ console.error(e.stack);
375
+ return {
376
+ failed: true,
377
+ fails: -1,
378
+ artifacts: this.artifacts || [],
379
+ features: []
380
+ };
381
+ }
382
+ }
383
+ };
384
+ });
385
+ }
386
+ // testsJson() {
387
+ // puppetMaster.writeFileSync(
388
+ // `tests.json`,
389
+ // JSON.stringify({ features: suiteDone.features() }, null, 2)
390
+ // );
391
+ // }
392
+ Specs() {
393
+ return this.specs;
394
+ }
395
+ Suites() {
396
+ return this.suitesOverrides;
397
+ }
398
+ Given() {
399
+ return this.givenOverides;
400
+ }
401
+ When() {
402
+ return this.whenOverides;
403
+ }
404
+ Then() {
405
+ return this.thenOverides;
406
+ }
407
+ };
408
+
409
+ // src/lib/classBuilder.ts
410
+ var ClassBuilder = class extends BaseBuilder {
411
+ constructor(testImplementation, testSpecification, input, suiteKlasser, givenKlasser, whenKlasser, thenKlasser, testResourceRequirement) {
412
+ const classySuites = Object.entries(testImplementation.suites).reduce(
413
+ (a, [key], index) => {
414
+ a[key] = (somestring, givens) => {
415
+ return new suiteKlasser.prototype.constructor(
416
+ somestring,
417
+ index,
418
+ givens
419
+ );
420
+ };
421
+ return a;
422
+ },
423
+ {}
424
+ );
425
+ const classyGivens = Object.entries(testImplementation.givens).reduce(
426
+ (a, [key, g]) => {
427
+ a[key] = (features, whens, thens, ...initialValues) => {
428
+ return new givenKlasser.prototype.constructor(
429
+ key,
430
+ features,
431
+ whens,
432
+ thens,
433
+ testImplementation.givens[key],
434
+ initialValues
435
+ );
436
+ };
437
+ return a;
438
+ },
439
+ {}
440
+ );
441
+ const classyWhens = Object.entries(testImplementation.whens).reduce(
442
+ (a, [key, whEn]) => {
443
+ a[key] = (...payload) => {
444
+ return new whenKlasser.prototype.constructor(
445
+ `${key}: ${payload && payload.toString()}`,
446
+ whEn(...payload)
447
+ );
448
+ };
449
+ return a;
450
+ },
451
+ {}
452
+ );
453
+ const classyThens = Object.entries(testImplementation.thens).reduce(
454
+ (a, [key, thEn]) => {
455
+ a[key] = (...args) => {
456
+ return new thenKlasser.prototype.constructor(
457
+ `${key}: ${args && args.toString()}`,
458
+ thEn(...args)
459
+ );
460
+ };
461
+ return a;
462
+ },
463
+ {}
464
+ );
465
+ super(
466
+ input,
467
+ classySuites,
468
+ classyGivens,
469
+ classyWhens,
470
+ classyThens,
471
+ testResourceRequirement,
472
+ testSpecification
473
+ );
474
+ }
475
+ };
476
+
477
+ // src/lib/BaseSuite.ts
478
+ var BaseSuite = class {
479
+ constructor(name, index, givens = {}) {
480
+ this.artifacts = [];
481
+ const suiteName = name || "testSuite";
482
+ if (!suiteName) {
483
+ throw new Error("BaseSuite requires a non-empty name");
484
+ }
485
+ this.name = suiteName;
486
+ this.index = index;
487
+ this.givens = givens;
488
+ this.fails = 0;
489
+ }
490
+ addArtifact(path2) {
491
+ const normalizedPath = path2.replace(/\\/g, "/");
492
+ this.artifacts.push(normalizedPath);
493
+ }
494
+ features() {
495
+ try {
496
+ const features = Object.keys(this.givens).map((k) => this.givens[k].features).flat().filter((value, index, array) => {
497
+ return array.indexOf(value) === index;
498
+ });
499
+ return features || [];
500
+ } catch (e) {
501
+ console.error("[ERROR] Failed to extract features:", JSON.stringify(e));
502
+ return [];
503
+ }
504
+ }
505
+ toObj() {
506
+ const givens = Object.keys(this.givens).map((k) => this.givens[k].toObj());
507
+ return {
508
+ name: this.name,
509
+ givens,
510
+ fails: this.fails,
511
+ failed: this.failed,
512
+ features: this.features()
513
+ };
514
+ }
515
+ setup(s, artifactory, tr, pm) {
516
+ return new Promise((res) => res(s));
517
+ }
518
+ assertThat(t) {
519
+ return !!t;
520
+ }
521
+ afterAll(store, artifactory, pm) {
522
+ return store;
523
+ }
524
+ async run(input, testResourceConfiguration, artifactory, tLog, pm) {
525
+ this.testResourceConfiguration = testResourceConfiguration;
526
+ const suiteArtifactory = (fPath, value) => artifactory(`suite-${this.index}-${this.name}/${fPath}`, value);
527
+ const sNdx = this.index;
528
+ const addArtifact = this.addArtifact.bind(this);
529
+ const proxiedPm = beforeAllProxy(pm, sNdx.toString(), addArtifact);
530
+ const subject = await this.setup(
531
+ input,
532
+ suiteArtifactory,
533
+ testResourceConfiguration,
534
+ proxiedPm
535
+ );
536
+ for (const [gKey, g] of Object.entries(this.givens)) {
537
+ const giver = this.givens[gKey];
538
+ this.store = await giver.give(
539
+ subject,
540
+ gKey,
541
+ testResourceConfiguration,
542
+ this.assertThat,
543
+ suiteArtifactory,
544
+ tLog,
545
+ pm,
546
+ sNdx
547
+ ).catch((e) => {
548
+ this.failed = true;
549
+ this.fails = this.fails + 1;
550
+ throw e;
551
+ });
552
+ }
553
+ try {
554
+ const addArtifact2 = this.addArtifact.bind(this);
555
+ const afterAllPm = afterAllProxy(pm, sNdx.toString(), addArtifact2);
556
+ this.afterAll(this.store, artifactory, afterAllPm);
557
+ } catch (e) {
558
+ console.error(JSON.stringify(e));
559
+ }
560
+ return this;
561
+ }
562
+ };
563
+
564
+ // src/lib/index.ts
565
+ var BaseAdapter = () => ({
566
+ beforeAll: async (input, testResource, pm) => {
567
+ return input;
568
+ },
569
+ beforeEach: async function(subject, initializer, testResource, initialValues, pm) {
570
+ return subject;
571
+ },
572
+ afterEach: async (store, key, pm) => Promise.resolve(store),
573
+ afterAll: (store, pm) => void 0,
574
+ butThen: async (store, thenCb, testResource, pm) => {
575
+ return thenCb(store, pm);
576
+ },
577
+ andWhen: async (store, whenCB, testResource, pm) => {
578
+ return whenCB(store, pm);
579
+ },
580
+ assertThis: (x) => x
581
+ });
582
+ var DefaultAdapter = (p) => {
583
+ const base = BaseAdapter();
584
+ return {
585
+ ...base,
586
+ ...p
587
+ };
588
+ };
589
+ var defaultTestResourceRequirement = {
590
+ ports: 0
591
+ };
592
+
593
+ // src/lib/abstractBase.ts
594
+ var BaseGiven = class {
595
+ constructor(name, features, whens, thens, givenCB, initialValues) {
596
+ this.artifacts = [];
597
+ this.name = name;
598
+ this.features = features;
599
+ this.whens = whens;
600
+ this.thens = thens;
601
+ this.givenCB = givenCB;
602
+ this.initialValues = initialValues;
603
+ }
604
+ addArtifact(path2) {
605
+ const normalizedPath = path2.replace(/\\/g, "/");
606
+ this.artifacts.push(normalizedPath);
607
+ }
608
+ beforeAll(store) {
609
+ return store;
610
+ }
611
+ toObj() {
612
+ return {
613
+ key: this.key,
614
+ name: this.name,
615
+ whens: this.whens.map((w) => {
616
+ if (w && w.toObj)
617
+ return w.toObj();
618
+ console.error("w is not as expected!", JSON.stringify(w));
619
+ return {};
620
+ }),
621
+ thens: this.thens.map((t) => t.toObj()),
622
+ error: this.error ? [this.error, this.error.stack] : null,
623
+ failed: this.failed,
624
+ features: this.features,
625
+ artifacts: this.artifacts
626
+ };
627
+ }
628
+ async afterEach(store, key, artifactory, pm) {
629
+ return store;
630
+ }
631
+ async give(subject, key, testResourceConfiguration, tester, artifactory, tLog, pm, suiteNdx) {
632
+ this.key = key;
633
+ tLog(`
634
+ ${this.key}`);
635
+ tLog(`
636
+ Given: ${this.name}`);
637
+ const givenArtifactory = (fPath, value) => artifactory(`given-${key}/${fPath}`, value);
638
+ this.uberCatcher((e) => {
639
+ console.error(e.toString());
640
+ this.error = e.error;
641
+ tLog(e.stack);
642
+ });
643
+ try {
644
+ const addArtifact = this.addArtifact.bind(this);
645
+ const proxiedPm = beforeEachProxy(pm, suiteNdx.toString(), addArtifact);
646
+ this.store = await this.givenThat(
647
+ subject,
648
+ testResourceConfiguration,
649
+ givenArtifactory,
650
+ this.givenCB,
651
+ this.initialValues,
652
+ proxiedPm
653
+ );
654
+ } catch (e) {
655
+ this.failed = true;
656
+ this.error = e.stack;
657
+ }
658
+ try {
659
+ for (const [whenNdx, whenStep] of this.whens.entries()) {
660
+ await whenStep.test(
661
+ this.store,
662
+ testResourceConfiguration,
663
+ tLog,
664
+ pm,
665
+ `suite-${suiteNdx}/given-${key}/when/${whenNdx}`
666
+ );
667
+ }
668
+ for (const [thenNdx, thenStep] of this.thens.entries()) {
669
+ const t = await thenStep.test(
670
+ this.store,
671
+ testResourceConfiguration,
672
+ tLog,
673
+ pm,
674
+ `suite-${suiteNdx}/given-${key}/then-${thenNdx}`
675
+ );
676
+ tester(t);
677
+ }
678
+ } catch (e) {
679
+ this.error = e.stack;
680
+ this.failed = true;
681
+ } finally {
682
+ try {
683
+ const addArtifact = this.addArtifact.bind(this);
684
+ const proxiedPm = afterEachProxy(
685
+ pm,
686
+ suiteNdx.toString(),
687
+ key,
688
+ addArtifact
689
+ );
690
+ await this.afterEach(this.store, this.key, givenArtifactory, proxiedPm);
691
+ } catch (e) {
692
+ this.failed = e;
693
+ throw e;
694
+ }
695
+ }
696
+ return this.store;
697
+ }
698
+ };
699
+ var BaseWhen = class {
700
+ constructor(name, whenCB) {
701
+ this.artifacts = [];
702
+ this.name = name;
703
+ this.whenCB = whenCB;
704
+ }
705
+ addArtifact(path2) {
706
+ const normalizedPath = path2.replace(/\\/g, "/");
707
+ this.artifacts.push(normalizedPath);
708
+ }
709
+ toObj() {
710
+ const obj = {
711
+ name: this.name,
712
+ error: this.error ? `${this.error.name}: ${this.error.message}
713
+ ${this.error.stack}` : null,
714
+ artifacts: this.artifacts || []
715
+ };
716
+ console.log(
717
+ `[TOOBJ] Serializing ${this.constructor.name} with artifacts:`,
718
+ obj.artifacts
719
+ );
720
+ return obj;
721
+ }
722
+ async test(store, testResourceConfiguration, tLog, pm, filepath) {
723
+ try {
724
+ const addArtifact = this.addArtifact.bind(this);
725
+ const proxiedPm = andWhenProxy(pm, filepath, addArtifact);
726
+ const result = await this.andWhen(
727
+ store,
728
+ this.whenCB,
729
+ testResourceConfiguration,
730
+ proxiedPm
731
+ );
732
+ return result;
733
+ } catch (e) {
734
+ console.error(
735
+ "[ERROR] When step failed:",
736
+ this.name.toString(),
737
+ e.toString()
738
+ );
739
+ this.error = e;
740
+ throw e;
741
+ }
742
+ }
743
+ };
744
+ var BaseThen = class {
745
+ constructor(name, thenCB) {
746
+ this.artifacts = [];
747
+ this.name = name;
748
+ this.thenCB = thenCB;
749
+ this.error = false;
750
+ this.artifacts = [];
751
+ }
752
+ addArtifact(path2) {
753
+ const normalizedPath = path2.replace(/\\/g, "/");
754
+ this.artifacts.push(normalizedPath);
755
+ }
756
+ toObj() {
757
+ const obj = {
758
+ name: this.name,
759
+ error: this.error,
760
+ artifacts: this.artifacts
761
+ };
762
+ return obj;
763
+ }
764
+ async test(store, testResourceConfiguration, tLog, pm, filepath) {
765
+ const addArtifact = this.addArtifact.bind(this);
766
+ const proxiedPm = butThenProxy(pm, filepath, addArtifact);
767
+ return this.butThen(
768
+ store,
769
+ async (s) => {
770
+ try {
771
+ if (typeof this.thenCB === "function") {
772
+ const wrappedPm = new Proxy(proxiedPm, {
773
+ get: (target, prop, receiver) => {
774
+ if (prop === "writeFileSync") {
775
+ return (...args) => {
776
+ console.log(
777
+ `[DEBUG] writeFileSync called with args:`,
778
+ args
779
+ );
780
+ return target[prop](...args);
781
+ };
782
+ }
783
+ return target[prop];
784
+ }
785
+ });
786
+ const result = await this.thenCB(s, wrappedPm);
787
+ return result;
788
+ } else {
789
+ return this.thenCB;
790
+ }
791
+ } catch (e) {
792
+ console.error(e.stack);
793
+ }
794
+ },
795
+ testResourceConfiguration,
796
+ proxiedPm
797
+ ).catch((e) => {
798
+ this.error = e.stack;
799
+ });
800
+ }
801
+ };
802
+
803
+ // src/lib/core.ts
804
+ var TesterantoCore = class extends ClassBuilder {
805
+ constructor(input, testSpecification, testImplementation, testResourceRequirement = defaultTestResourceRequirement, testAdapter, uberCatcher) {
806
+ const fullAdapter = DefaultAdapter(testAdapter);
807
+ super(
808
+ testImplementation,
809
+ testSpecification,
810
+ input,
811
+ class extends BaseSuite {
812
+ afterAll(store, artifactory, pm) {
813
+ return fullAdapter.afterAll(store, pm);
814
+ }
815
+ assertThat(t) {
816
+ return fullAdapter.assertThis(t);
817
+ }
818
+ async setup(s, artifactory, tr, pm) {
819
+ return fullAdapter.beforeAll?.(s, tr, pm) ?? s;
820
+ }
821
+ },
822
+ class Given extends BaseGiven {
823
+ constructor() {
824
+ super(...arguments);
825
+ this.uberCatcher = uberCatcher;
826
+ }
827
+ async givenThat(subject, testResource, artifactory, initializer, initialValues, pm) {
828
+ return fullAdapter.beforeEach(
829
+ subject,
830
+ initializer,
831
+ testResource,
832
+ initialValues,
833
+ pm
834
+ );
835
+ }
836
+ afterEach(store, key, artifactory, pm) {
837
+ return Promise.resolve(fullAdapter.afterEach(store, key, pm));
838
+ }
839
+ },
840
+ class When extends BaseWhen {
841
+ async andWhen(store, whenCB, testResource, pm) {
842
+ return await fullAdapter.andWhen(store, whenCB, testResource, pm);
843
+ }
844
+ },
845
+ class Then extends BaseThen {
846
+ async butThen(store, thenCB, testResource, pm) {
847
+ return await fullAdapter.butThen(store, thenCB, testResource, pm);
848
+ }
849
+ },
850
+ testResourceRequirement
851
+ );
852
+ }
853
+ };
854
+
855
+ // src/PM/index.ts
856
+ var PM = class {
857
+ };
858
+
859
+ export {
860
+ __export,
861
+ defaultTestResourceRequirement,
862
+ butThenProxy,
863
+ andWhenProxy,
864
+ BaseGiven,
865
+ BaseWhen,
866
+ BaseThen,
867
+ BaseBuilder,
868
+ ClassBuilder,
869
+ BaseSuite,
870
+ TesterantoCore,
871
+ PM
872
+ };