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
@@ -17,10 +17,8 @@ class TesterantoCore extends classBuilder_js_1.ClassBuilder {
17
17
  return fullAdapter.assertThis(t);
18
18
  }
19
19
  async setup(s, artifactory, tr, pm) {
20
- return (fullAdapter.beforeAll ||
21
- (async (input, artifactory, tr, pm) => input))(s, this.testResourceConfiguration,
22
- // artifactory,
23
- pm);
20
+ var _a, _b;
21
+ return (_b = (_a = fullAdapter.beforeAll) === null || _a === void 0 ? void 0 : _a.call(fullAdapter, s, tr, pm)) !== null && _b !== void 0 ? _b : s;
24
22
  }
25
23
  }, class Given extends abstractBase_js_1.BaseGiven {
26
24
  constructor() {
@@ -28,11 +26,10 @@ class TesterantoCore extends classBuilder_js_1.ClassBuilder {
28
26
  this.uberCatcher = uberCatcher;
29
27
  }
30
28
  async givenThat(subject, testResource, artifactory, initializer, initialValues, pm) {
31
- console.log("mark800");
32
29
  return fullAdapter.beforeEach(subject, initializer, testResource, initialValues, pm);
33
30
  }
34
31
  afterEach(store, key, artifactory, pm) {
35
- return new Promise((res) => res(fullAdapter.afterEach(store, key, pm)));
32
+ return Promise.resolve(fullAdapter.afterEach(store, key, pm));
36
33
  }
37
34
  }, class When extends abstractBase_js_1.BaseWhen {
38
35
  async andWhen(store, whenCB, testResource, pm) {
@@ -12,19 +12,6 @@ const core_1 = __importDefault(require("../core"));
12
12
  */
13
13
  class MockCore extends core_1.default {
14
14
  constructor(input, testSpecification, testImplementation, testResourceRequirement = { ports: [] }, testAdapter, uberCatcher = (cb) => cb()) {
15
- console.log("[DEBUG] MockCore constructor starting...");
16
- if (!testImplementation) {
17
- throw new Error("testImplementation is required");
18
- }
19
- if (!testSpecification) {
20
- console.warn("[WARN] testSpecification is null/undefined - tests may fail");
21
- }
22
- console.log("[DEBUG] MockCore constructor called with:");
23
- console.log("- input:", JSON.stringify(input, null, 2));
24
- console.log("- testSpecification keys:", Object.keys(testSpecification));
25
- console.log("- testImplementation keys:", Object.keys(testImplementation));
26
- console.log("- testResourceRequirement:", JSON.stringify(testResourceRequirement));
27
- console.log("- testAdapter keys:", Object.keys(testAdapter));
28
15
  // Validate required implementation methods
29
16
  const requiredMethods = ["suites", "givens", "whens", "thens"];
30
17
  requiredMethods.forEach((method) => {
@@ -32,7 +19,6 @@ class MockCore extends core_1.default {
32
19
  throw new Error(`Missing required implementation method: ${method}`);
33
20
  }
34
21
  });
35
- console.log("[DEBUG] Validation passed, calling super...");
36
22
  // this.testResourceRequirement = testResourceRequirement;
37
23
  // this.testAdapter = testAdapter;
38
24
  super(input, testSpecification, testImplementation, testResourceRequirement, testAdapter, uberCatcher);
@@ -5,25 +5,18 @@ const MockCore_1 = require("./MockCore");
5
5
  exports.testAdapter = {
6
6
  beforeEach: async (subject, initializer, testResource, initialValues, pm) => {
7
7
  var _a;
8
- console.log('[DEBUG] BeforeEach - subject:', subject);
9
- console.log('[DEBUG] BeforeEach - initialValues:', initialValues);
10
- console.log('[DEBUG] BeforeEach called with:');
11
- console.log('- subject type:', typeof subject);
12
- console.log('- testResource:', JSON.stringify(testResource, null, 2));
13
- console.log('- initialValues:', initialValues);
14
8
  try {
15
9
  const result = await initializer();
16
10
  if (!result) {
17
- throw new Error('Initializer returned undefined');
11
+ throw new Error("Initializer returned undefined");
18
12
  }
19
13
  if (!(result instanceof MockCore_1.MockCore)) {
20
14
  throw new Error(`Initializer returned ${(_a = result === null || result === void 0 ? void 0 : result.constructor) === null || _a === void 0 ? void 0 : _a.name}, expected MockCore`);
21
15
  }
22
- console.log('[DEBUG] BeforeEach initialized MockCore successfully');
23
16
  return result;
24
17
  }
25
18
  catch (e) {
26
- console.error('[ERROR] BeforeEach failed:', e);
19
+ console.error("[ERROR] BeforeEach failed:", e);
27
20
  throw e;
28
21
  }
29
22
  },
@@ -9,18 +9,14 @@ exports.implementation = {
9
9
  },
10
10
  givens: {
11
11
  Default: () => {
12
- console.log('[DEBUG] Creating Default MockCore instance');
13
12
  const input = { debug: true };
14
13
  const resourceReq = { ports: [3000] };
15
- console.log('[DEBUG] Default Given - input:', input);
16
- console.log('[DEBUG] Default Given - resourceReq:', resourceReq);
17
14
  try {
18
15
  const instance = new MockCore_1.MockCore(input, specification, exports.implementation, resourceReq, testAdapter, (cb) => cb());
19
- console.log('[DEBUG] MockCore instance created successfully:', instance);
20
16
  return instance;
21
17
  }
22
18
  catch (e) {
23
- console.error('[ERROR] Failed to create MockCore:', e);
19
+ console.error("[ERROR] Failed to create MockCore:", e);
24
20
  throw e;
25
21
  }
26
22
  },
@@ -45,9 +41,9 @@ exports.implementation = {
45
41
  },
46
42
  modifySpecs: (modifier) => (builder) => {
47
43
  var _a;
48
- console.log('Modifying specs - current count:', (_a = builder.specs) === null || _a === void 0 ? void 0 : _a.length);
44
+ console.log("Modifying specs - current count:", (_a = builder.specs) === null || _a === void 0 ? void 0 : _a.length);
49
45
  const newSpecs = modifier(builder.specs || []);
50
- console.log('Modifying specs - new count:', newSpecs.length);
46
+ console.log("Modifying specs - new count:", newSpecs.length);
51
47
  builder.specs = newSpecs;
52
48
  return builder;
53
49
  },
@@ -1,30 +1,29 @@
1
1
  "use strict";
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
4
  Object.defineProperty(exports, "__esModule", { value: true });
3
5
  exports.defaultTestResourceRequirement = exports.DefaultAdapter = exports.BaseAdapter = void 0;
4
6
  const BaseAdapter = () => ({
5
- beforeAll: async (s) => s,
6
- beforeEach: async function (subject, initialValues, x, testResource, pm) {
7
+ beforeAll: async (input, testResource, pm) => {
8
+ return input;
9
+ },
10
+ beforeEach: async function (subject, initializer, testResource, initialValues, pm) {
7
11
  return subject;
8
12
  },
9
- afterEach: async (s) => s,
10
- afterAll: (store) => undefined,
11
- butThen: async (store, thenCb) => {
12
- return thenCb(store);
13
+ afterEach: async (store, key, pm) => Promise.resolve(store),
14
+ afterAll: (store, pm) => undefined,
15
+ butThen: async (store, thenCb, testResource, pm) => {
16
+ return thenCb(store, pm);
13
17
  },
14
18
  andWhen: async (store, whenCB, testResource, pm) => {
15
- try {
16
- await whenCB(store, testResource, pm);
17
- }
18
- catch (error) {
19
- console.error("Error in andWhen:", error);
20
- throw error; // Re-throw to maintain test failure
21
- }
19
+ return whenCB(store, pm);
22
20
  },
23
21
  assertThis: (x) => x,
24
22
  });
25
23
  exports.BaseAdapter = BaseAdapter;
26
24
  const DefaultAdapter = (p) => {
27
- return Object.assign(Object.assign({}, exports.BaseAdapter), p);
25
+ const base = (0, exports.BaseAdapter)();
26
+ return Object.assign(Object.assign({}, base), p);
28
27
  };
29
28
  exports.DefaultAdapter = DefaultAdapter;
30
29
  exports.defaultTestResourceRequirement = {
@@ -10,10 +10,16 @@ const baseProxy = function (pm, mappings) {
10
10
  const method = mapping[0];
11
11
  const arger = mapping[1];
12
12
  if (prop === method) {
13
- return (...x) => target[prop](arger(...x));
13
+ return (...x) => {
14
+ // Add debug logging
15
+ const modifiedArgs = arger(...x);
16
+ return target[prop](...modifiedArgs);
17
+ };
14
18
  }
15
19
  }
16
- return (...x) => target[prop](...x);
20
+ return (...x) => {
21
+ return target[prop](...x);
22
+ };
17
23
  },
18
24
  });
19
25
  };
@@ -53,10 +59,27 @@ const butThenProxy = (pm, filepath, addArtifact) => {
53
59
  ],
54
60
  [
55
61
  "writeFileSync",
56
- (fp, contents) => {
62
+ (fp, contents, testName) => {
63
+ console.log(`[DEBUG] butThenProxy writeFileSync: fp="${fp}" (type: ${typeof fp}), contents="${contents}" (type: ${typeof contents}), testName="${testName}" (type: ${typeof testName})`);
64
+ // Check if fp is being treated as individual characters
65
+ if (typeof fp !== "string") {
66
+ console.log(`[ERROR] fp is not a string:`, fp);
67
+ // If fp is not a string, try to handle it
68
+ if (Array.isArray(fp)) {
69
+ // If it's an array, join it back into a string
70
+ fp = fp.join("");
71
+ console.log(`[DEBUG] Converted array to string: "${fp}"`);
72
+ }
73
+ else {
74
+ // For other cases, convert to string
75
+ fp = String(fp);
76
+ console.log(`[DEBUG] Converted to string: "${fp}"`);
77
+ }
78
+ }
57
79
  const path = `${filepath}/butThen/${fp}`;
80
+ console.log(`[DEBUG] Generated path: "${path}"`);
58
81
  addArtifact(path);
59
- return [path, contents];
82
+ return [path, contents, testName];
60
83
  },
61
84
  ],
62
85
  [
@@ -96,10 +119,10 @@ const andWhenProxy = (pm, filepath, addArtifact) => {
96
119
  ],
97
120
  [
98
121
  "writeFileSync",
99
- (fp, contents) => {
122
+ (fp, contents, testName) => {
100
123
  const path = `${filepath}/andWhen/${fp}`;
101
124
  addArtifact(path);
102
- return [path, contents];
125
+ return [path, contents, testName];
103
126
  },
104
127
  ],
105
128
  [
@@ -140,10 +163,10 @@ const afterEachProxy = (pm, suite, given, addArtifact) => {
140
163
  ],
141
164
  [
142
165
  "writeFileSync",
143
- (fp, contents) => {
166
+ (fp, contents, testName) => {
144
167
  const path = `suite-${suite}/given-${given}/afterEach/${fp}`;
145
168
  addArtifact(path);
146
- return [path, contents];
169
+ return [path, contents, testName];
147
170
  },
148
171
  ],
149
172
  [
@@ -176,10 +199,10 @@ const beforeEachProxy = (pm, suite, addArtifact) => {
176
199
  ],
177
200
  [
178
201
  "writeFileSync",
179
- (fp, contents) => {
202
+ (fp, contents, testName) => {
180
203
  const path = `suite-${suite}/beforeEach/${fp}`;
181
204
  addArtifact(path);
182
- return [path, contents];
205
+ return [path, contents, testName];
183
206
  },
184
207
  ],
185
208
  [
@@ -208,10 +231,10 @@ const beforeAllProxy = (pm, suite, addArtifact) => {
208
231
  return baseProxy(pm, [
209
232
  [
210
233
  "writeFileSync",
211
- (fp, contents) => {
234
+ (fp, contents, testName) => {
212
235
  const path = `suite-${suite}/beforeAll/${fp}`;
213
236
  addArtifact(path);
214
- return [path, contents];
237
+ return [path, contents, testName];
215
238
  },
216
239
  ],
217
240
  [
@@ -248,11 +271,10 @@ const afterAllProxy = (pm, suite, addArtifact) => {
248
271
  ],
249
272
  [
250
273
  "writeFileSync",
251
- (fp, contents) => {
274
+ (fp, contents, testName) => {
252
275
  const path = `suite-${suite}/afterAll/${fp}`;
253
- console.log("MARK10");
254
276
  addArtifact(path);
255
- return [path, contents];
277
+ return [path, contents, testName];
256
278
  },
257
279
  ],
258
280
  [
@@ -260,7 +282,6 @@ const afterAllProxy = (pm, suite, addArtifact) => {
260
282
  (opts, p) => {
261
283
  const path = `suite-${suite}/afterAll/${opts.path}`;
262
284
  addArtifact(path);
263
- console.log("MARK9");
264
285
  return [
265
286
  Object.assign(Object.assign({}, opts), { path }),
266
287
  p,
@@ -18,11 +18,17 @@ exports.testAdapter = {
18
18
  // };
19
19
  },
20
20
  andWhen: async (store, whenCB, testResource, pm) => {
21
- const proxiedPM = (0, pmProxy_1.andWhenProxy)(pm, "some/path", store);
21
+ const proxiedPM = (0, pmProxy_1.andWhenProxy)(pm, "some/path", (path) => {
22
+ console.log("Artifact added:", path);
23
+ return path;
24
+ });
22
25
  return whenCB(store, proxiedPM);
23
26
  },
24
27
  butThen: async (store, thenCB, testResource, pm) => {
25
- const proxiedPM = (0, pmProxy_1.butThenProxy)(pm, "some/path", store);
28
+ const proxiedPM = (0, pmProxy_1.butThenProxy)(pm, "some/path", (path) => {
29
+ console.log("Artifact added:", path);
30
+ return path;
31
+ });
26
32
  return thenCB(store, proxiedPM);
27
33
  },
28
34
  afterEach: async (store, key, pm) => store,
@@ -32,7 +38,17 @@ exports.testAdapter = {
32
38
  beforeEachProxy: input.butThenProxy(new mockPMBase_1.MockPMBase(), theGivenString),
33
39
  };
34
40
  },
35
- assertThis: (returnedFilePath, expectation) => {
36
- chai_1.assert.equal(returnedFilePath, expectation);
41
+ assertThis: (actualResult, expectedResult) => {
42
+ // Handle both path assertions and our new test result
43
+ if (typeof actualResult === 'string' && actualResult.startsWith('PASS')) {
44
+ chai_1.assert.equal(actualResult, 'PASS', 'tests.json should be written with correct path and content');
45
+ }
46
+ else if (typeof actualResult === 'string' && actualResult.startsWith('FAIL')) {
47
+ // For the tests.json write test, we want to see what's actually happening
48
+ chai_1.assert.fail(`Test failed: ${actualResult}`);
49
+ }
50
+ else {
51
+ chai_1.assert.equal(actualResult, expectedResult);
52
+ }
37
53
  },
38
54
  };
@@ -2,6 +2,35 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.implementation = void 0;
4
4
  const mockPMBase_1 = require("./mockPMBase");
5
+ const pmProxy_1 = require("../pmProxy");
6
+ function createPathRewriter(basePath) {
7
+ return (path) => {
8
+ if (!path)
9
+ return path;
10
+ // Normalize paths and handle edge cases
11
+ const normalizedPath = path.replace(/\\/g, "/");
12
+ const normalizedBase = basePath.replace(/\\/g, "/");
13
+ // Handle absolute paths
14
+ if (normalizedPath.startsWith("/")) {
15
+ return `${normalizedBase}${normalizedPath}`;
16
+ }
17
+ // Handle parent directory references
18
+ if (normalizedPath.includes("../")) {
19
+ const parts = normalizedPath.split("/");
20
+ const baseParts = normalizedBase.split("/");
21
+ for (const part of parts) {
22
+ if (part === "..") {
23
+ baseParts.pop();
24
+ }
25
+ else if (part !== ".") {
26
+ baseParts.push(part);
27
+ }
28
+ }
29
+ return baseParts.join("/");
30
+ }
31
+ return `${normalizedBase}/${normalizedPath}`;
32
+ };
33
+ }
5
34
  exports.implementation = {
6
35
  suites: {
7
36
  Default: "PM Proxy Tests",
@@ -13,58 +42,55 @@ exports.implementation = {
13
42
  // functions have no mutations
14
43
  },
15
44
  thens: {
16
- theButTheProxyReturns: (method, expectedPath) => (store) => {
17
- var _a, _b, _c, _d, _e, _f, _g, _h;
45
+ theButTheProxyReturns: (method, expectedPath) => async (store) => {
18
46
  const mockPm = new mockPMBase_1.MockPMBase();
19
47
  const filepath = "test/path";
20
- const rewritePath = createPathRewriter(`${filepath}/butThen`);
48
+ // Track the actual path that was used
21
49
  let actualPath;
22
- let actualContent;
50
+ // Monkey patch to track the path
51
+ const originalWriteFileSync = mockPm.writeFileSync;
52
+ mockPm.writeFileSync = async (path, content, testName) => {
53
+ actualPath = path;
54
+ return originalWriteFileSync.call(mockPm, path, content, testName);
55
+ };
56
+ const originalCreateWriteStream = mockPm.createWriteStream;
57
+ mockPm.createWriteStream = async (path, testName) => {
58
+ actualPath = path;
59
+ return originalCreateWriteStream.call(mockPm, path, testName);
60
+ };
61
+ const originalScreencast = mockPm.screencast;
62
+ mockPm.screencast = async (opts, testName, page) => {
63
+ actualPath = opts.path;
64
+ return originalScreencast.call(mockPm, opts, testName, page);
65
+ };
66
+ const originalCustomScreenShot = mockPm.customScreenShot;
67
+ mockPm.customScreenShot = async (opts, testName, pageUid) => {
68
+ actualPath = opts.path;
69
+ return originalCustomScreenShot.call(mockPm, opts, testName, pageUid);
70
+ };
23
71
  try {
24
72
  switch (method) {
25
73
  case "writeFileSync":
26
- const content = expectedPath.includes("content")
27
- ? "test content"
28
- : "default content";
29
- proxiedPm.writeFileSync(expectedPath.includes("empty")
30
- ? ""
31
- : expectedPath.includes("nested")
32
- ? "nested/folder/test.txt"
33
- : expectedPath.includes("spaces")
34
- ? "file with spaces.txt"
35
- : expectedPath.includes("invalid")
36
- ? "../invalid.txt"
37
- : "test.txt", content);
38
- actualPath = (_a = mockPm.getLastCall("writeFileSync")) === null || _a === void 0 ? void 0 : _a.path;
39
- actualContent = (_b = mockPm.getLastCall("writeFileSync")) === null || _b === void 0 ? void 0 : _b.content;
74
+ await (0, pmProxy_1.butThenProxy)(mockPm, filepath, {}).writeFileSync("test.txt", "content", "test");
40
75
  break;
41
76
  case "createWriteStream":
42
- proxiedPm.createWriteStream(expectedPath.includes("empty") ? "" : "stream.txt");
43
- actualPath = (_c = mockPm.getLastCall("createWriteStream")) === null || _c === void 0 ? void 0 : _c.path;
77
+ await (0, pmProxy_1.butThenProxy)(mockPm, filepath, {}).createWriteStream("stream.txt", "test");
44
78
  break;
45
79
  case "screencast":
46
- proxiedPm.screencast({
47
- path: "screen.png",
48
- quality: 80,
49
- fullPage: true,
50
- }, "test");
51
- actualPath = (_e = (_d = mockPm.getLastCall("screencast")) === null || _d === void 0 ? void 0 : _d.opts) === null || _e === void 0 ? void 0 : _e.path;
52
- actualContent = (_f = mockPm.getLastCall("screencast")) === null || _f === void 0 ? void 0 : _f.opts;
80
+ await (0, pmProxy_1.butThenProxy)(mockPm, filepath, {}).screencast({ path: "screen.png" }, "test");
53
81
  break;
54
82
  case "customScreenShot":
55
- proxiedPm.customScreenShot({ path: "shot.png" }, "test");
56
- actualPath = (_h = (_g = mockPm.getLastCall("customScreenShot")) === null || _g === void 0 ? void 0 : _g.opts) === null || _h === void 0 ? void 0 : _h.path;
83
+ await (0, pmProxy_1.butThenProxy)(mockPm, filepath, {}).customScreenShot({ path: "shot.png" }, "test");
57
84
  break;
58
85
  default:
59
86
  throw new Error(`Unknown method: ${method}`);
60
87
  }
61
- if (expectedPath === undefined) {
62
- return [undefined, undefined];
63
- }
64
- return [actualPath, expectedPath, actualContent];
88
+ // For now, just return the actual path to be asserted against expectedPath
89
+ // The testAdapter.assertThis will handle the comparison
90
+ return actualPath;
65
91
  }
66
92
  catch (error) {
67
- return [error.message, expectedPath];
93
+ throw error;
68
94
  }
69
95
  },
70
96
  verifyContent: (expectedContent) => (result) => {
@@ -74,5 +100,38 @@ exports.implementation = {
74
100
  }
75
101
  return result;
76
102
  },
103
+ // Test to verify tests.json is written correctly
104
+ verifyTestsJsonWrite: () => async (store) => {
105
+ const mockPm = new mockPMBase_1.MockPMBase();
106
+ // Track the actual parameters passed to writeFileSync
107
+ let actualArgs;
108
+ const originalWriteFileSync = mockPm.writeFileSync;
109
+ mockPm.writeFileSync = async (...args) => {
110
+ actualArgs = args;
111
+ // Check if the first argument is being split
112
+ if (args[0] && typeof args[0] === "string") {
113
+ console.log(`[TESTS.JSON DEBUG] First argument length: ${args[0].length}, value: "${args[0]}"`);
114
+ }
115
+ return originalWriteFileSync.apply(mockPm, args);
116
+ };
117
+ // Simulate writing tests.json through the proxy
118
+ // This should mimic the call in BaseBuilder: puppetMaster.writeFileSync(`tests.json`, JSON.stringify(this.toObj(), null, 2))
119
+ const testData = { test: "data" };
120
+ // const result = await butThenProxy(mockPm, "test/path", {}).writeFileSync(
121
+ // "tests.json",
122
+ // JSON.stringify(testData, null, 2),
123
+ // "test"
124
+ // );
125
+ // Check if both path and content are correct
126
+ if (actualArgs &&
127
+ actualArgs[0] === "test/path/butThen/tests.json" &&
128
+ actualArgs[1] === JSON.stringify(testData, null, 2) &&
129
+ actualArgs[2] === "test") {
130
+ return "PASS";
131
+ }
132
+ else {
133
+ return `FAIL: args=${JSON.stringify(actualArgs)}`;
134
+ }
135
+ },
77
136
  },
78
137
  };
@@ -22,6 +22,15 @@ class MockPMBase {
22
22
  const calls = this.calls[method];
23
23
  return calls ? calls[calls.length - 1] : null;
24
24
  }
25
+ // Add missing methods used in tests
26
+ // writeFileSync(path: string, content: string): Promise<boolean> {
27
+ // this.trackCall('writeFileSync', { path, content });
28
+ // return Promise.resolve(true);
29
+ // }
30
+ // end(uid: number): Promise<boolean> {
31
+ // this.trackCall('end', { uid });
32
+ // return Promise.resolve(true);
33
+ // }
25
34
  // Minimal implementations of required methods
26
35
  launchSideCar(n, testName, projectName) {
27
36
  this.trackCall("launchSideCar", { n, testName, projectName });
@@ -24,6 +24,9 @@ const specification = (Suite, Given, When, Then) => [
24
24
  specialCharsTest: Given.SomeBaseString(["butThenProxy should handle special characters in paths"], [], [
25
25
  Then.theButTheProxyReturns("writeFileSync", "test/path/butThen/file with spaces.txt"),
26
26
  ], "special chars test"),
27
+ testsJsonTest: Given.SomeBaseString(["butThenProxy should handle tests.json correctly"], [], [
28
+ Then.theButTheProxyReturns("writeFileSync", "test/path/butThen/tests.json"),
29
+ ], "tests.json test"),
27
30
  }),
28
31
  Suite.Default("Proxy Type Coverage", {
29
32
  // Test all proxy types
@@ -8,6 +8,11 @@ const app = (0, express_1.default)();
8
8
  app.get("/", (req, res) => {
9
9
  res.send("Hello World!");
10
10
  });
11
+ app.get("/claim", (req, res) => {
12
+ const { resource } = req.query;
13
+ console.log(`Resource claimed: ${resource}`);
14
+ res.status(200).json({ status: 'claimed', resource });
15
+ });
11
16
  exports.default = (port) => {
12
17
  app.listen(port, () => {
13
18
  console.log(`Example app listening on port ${port}`);
@@ -9,9 +9,7 @@ const specification = (Suite, Given, When, Then) => {
9
9
  console.log("Suite", Suite);
10
10
  return [
11
11
  Suite.TheMothership("the mothership allows the coordination of test resources", {
12
- test0: Given.ItIsRunning([`a resource can be claimed`], [When.IClaimTheResource("test")], [
13
- // Then.TheResourceIsClaimed("test")
14
- ]),
12
+ test0: Given.ItIsRunning([`a resource can be claimed`], [When.IClaimTheResource("test")], [Then.TheResourceIsClaimed("test")]),
15
13
  }, []),
16
14
  ];
17
15
  };
@@ -19,8 +17,21 @@ const implementation = {
19
17
  suites: { TheMothership: (x) => x },
20
18
  givens: { ItIsRunning: () => undefined },
21
19
  whens: {
22
- IClaimTheResource: (resource) => async (i, tr, p) => {
23
- fetch(`http://localhost:${tr.ports[0]}/claim?${resource}`);
20
+ IClaimTheResource: (resource) => async (app, tr, pm) => {
21
+ try {
22
+ const response = await fetch(`http://localhost:${tr.ports[0]}/claim?resource=${resource}`);
23
+ if (!response.ok) {
24
+ const errorText = await response.text();
25
+ console.error(`[ERROR] Failed to claim resource: ${errorText}`);
26
+ throw new Error(`Failed to claim resource: ${errorText}`);
27
+ }
28
+ const result = await response.json();
29
+ return app;
30
+ }
31
+ catch (error) {
32
+ console.error("[ERROR] Resource claim failed:", error);
33
+ throw error;
34
+ }
24
35
  },
25
36
  IReleaseTheResource: function (resource) {
26
37
  throw new Error("Function not implemented.");
@@ -30,8 +41,10 @@ const implementation = {
30
41
  },
31
42
  },
32
43
  thens: {
33
- TheResourceIsClaimed: (resource) => async (z, u) => {
34
- throw new Error("Function not implemented.");
44
+ TheResourceIsClaimed: (expectedResource) => async (app, pm) => {
45
+ // In a real implementation, we'd check the server state
46
+ // For now just log and return success
47
+ return app;
35
48
  },
36
49
  TheResourceIsUnClaimed: function (It_0) {
37
50
  throw new Error("Function not implemented.");
@@ -39,26 +52,32 @@ const implementation = {
39
52
  },
40
53
  };
41
54
  const testAdapter = {
42
- // assertThis: function (x: any) {
43
- // throw new Error("Function not implemented.");
44
- // },
45
- // andWhen: function (store: any, whenCB: any, testResource: ITTestResourceConfiguration, pm: IPM): Promise<any> {
46
- // throw new Error("Function not implemented.");
47
- // },
48
- // butThen: function (store: any, thenCB: any, testResource: ITTestResourceConfiguration, pm: IPM): Promise<any> {
49
- // throw new Error("Function not implemented.");
50
- // },
51
- // afterAll: function (store: any, pm: IPM) {
52
- // throw new Error("Function not implemented.");
53
- // },
54
- // afterEach: function (store: any, key: string, pm: IPM): Promise<unknown> {
55
- // throw new Error("Function not implemented.");
56
- // },
57
- // beforeAll: function (input: Express, testResource: ITTestResourceConfiguration, pm: IPM): Promise<any> {
58
- // throw new Error("Function not implemented.");
59
- // },
60
55
  beforeEach: async (subject, initializer, testResource, initialValues, pm) => {
56
+ console.log("beforeEach - starting app on port", testResource.ports[0]);
61
57
  return subject(testResource.ports[0]);
62
58
  },
59
+ andWhen: async (store, whenCB, testResource, pm) => {
60
+ console.log("andWhen - executing action");
61
+ return whenCB(store, testResource, pm);
62
+ },
63
+ butThen: async (store, thenCB, testResource, pm) => {
64
+ console.log("butThen - making assertions");
65
+ return thenCB(store, pm);
66
+ },
67
+ afterEach: async (store, key, pm) => {
68
+ console.log("afterEach - cleaning up");
69
+ return store;
70
+ },
71
+ afterAll: async (store, pm) => {
72
+ console.log("afterAll - final cleanup");
73
+ },
74
+ beforeAll: async (input, testResource, pm) => {
75
+ console.log("beforeAll - initial setup");
76
+ return input;
77
+ },
78
+ assertThis: (x) => {
79
+ console.log("assertThis - validating result");
80
+ return x;
81
+ },
63
82
  };
64
83
  exports.default = (0, Node_1.default)(index_1.default, specification, implementation, testAdapter);
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildTree = buildTree;
4
+ function buildTree(projects) {
5
+ return projects.map(projectName => ({
6
+ name: projectName,
7
+ type: 'project',
8
+ children: [{
9
+ name: 'src',
10
+ type: 'file',
11
+ children: [{
12
+ name: 'components',
13
+ type: 'file',
14
+ children: [{
15
+ name: 'pure',
16
+ type: 'file',
17
+ children: [
18
+ { name: 'AppFrame.test', type: 'file', path: 'src/components/pure/AppFrame.test' },
19
+ { name: 'FeaturesReporterView.test', type: 'file', path: 'src/components/pure/FeaturesReporterView.test' },
20
+ { name: 'ProjectPageView.test', type: 'file', path: 'src/components/pure/ProjectPageView.test' }
21
+ ]
22
+ }]
23
+ }, {
24
+ name: 'lib',
25
+ type: 'file',
26
+ children: [{
27
+ name: 'baseBuilder.test',
28
+ type: 'file',
29
+ path: 'src/lib/baseBuilder.test'
30
+ }]
31
+ }]
32
+ }]
33
+ }));
34
+ }