testeranto 0.197.0 → 0.199.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 (301) hide show
  1. package/.vscode/settings.json +7 -2
  2. package/design-editor/DesignEditor.tsx +9 -5
  3. package/dist/common/design-editor/DesignEditor.js +8 -5
  4. package/dist/common/src/App.js +29 -5
  5. package/dist/common/src/Node.js +3 -2
  6. package/dist/common/src/PM/main.js +1 -1
  7. package/dist/common/src/Pure.js +2 -2
  8. package/dist/common/src/Web.js +2 -2
  9. package/dist/common/src/components/DesignEditorPage.js +55 -19
  10. package/dist/common/src/lib/BaseGiven.js +99 -0
  11. package/dist/common/src/lib/BaseSuite.test/mock.js +9 -5
  12. package/dist/common/src/lib/BaseThen.js +64 -0
  13. package/dist/common/src/lib/BaseWhen.js +45 -0
  14. package/dist/common/src/lib/Tiposkripto.js +149 -0
  15. package/dist/common/src/lib/{core.test/MockCore.js → Tiposkripto.test/MockTiposkripto.js} +5 -8
  16. package/dist/common/src/lib/{core.test/core.test.adapter.js → Tiposkripto.test/Tiposkripto.adapter.js} +10 -8
  17. package/dist/common/src/lib/{classBuilder.test/classBuilder.test.implementation.js → Tiposkripto.test/Tiposkripto.implementation.js} +44 -61
  18. package/dist/common/src/lib/Tiposkripto.test/Tiposkripto.js +11 -0
  19. package/dist/common/src/lib/{classBuilder.test/classBuilder.test.specification.js → Tiposkripto.test/Tiposkripto.specification.js} +13 -9
  20. package/dist/common/src/lib/abstractBase.test/MockGiven.js +10 -3
  21. package/dist/common/src/lib/abstractBase.test/MockThen.js +6 -3
  22. package/dist/common/src/lib/abstractBase.test/MockWhen.js +10 -3
  23. package/dist/common/src/lib/abstractBase.test/adapter.js +18 -6
  24. package/dist/common/src/lib/abstractBase.test/implementation.js +3 -3
  25. package/dist/common/src/lib/mocks.test.js +10 -8
  26. package/dist/common/src/run.js +15 -4
  27. package/dist/common/testeranto.config.js +12 -36
  28. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  29. package/dist/module/design-editor/DesignEditor.js +8 -5
  30. package/dist/module/src/App.js +29 -5
  31. package/dist/module/src/Node.js +3 -2
  32. package/dist/module/src/PM/main.js +1 -1
  33. package/dist/module/src/Pure.js +2 -2
  34. package/dist/module/src/Web.js +2 -2
  35. package/dist/module/src/components/DesignEditorPage.js +55 -19
  36. package/dist/module/src/lib/BaseGiven.js +95 -0
  37. package/dist/module/src/lib/BaseSuite.test/mock.js +6 -2
  38. package/dist/module/src/lib/BaseThen.js +60 -0
  39. package/dist/module/src/lib/BaseWhen.js +41 -0
  40. package/dist/module/src/lib/Tiposkripto.js +146 -0
  41. package/dist/module/src/lib/{core.test/MockCore.js → Tiposkripto.test/MockTiposkripto.js} +3 -6
  42. package/dist/module/src/lib/{core.test/core.test.adapter.js → Tiposkripto.test/Tiposkripto.adapter.js} +10 -8
  43. package/dist/module/src/lib/{classBuilder.test/classBuilder.test.implementation.js → Tiposkripto.test/Tiposkripto.implementation.js} +44 -58
  44. package/dist/module/src/lib/Tiposkripto.test/Tiposkripto.js +6 -0
  45. package/dist/module/src/lib/{classBuilder.test/classBuilder.test.specification.js → Tiposkripto.test/Tiposkripto.specification.js} +12 -8
  46. package/dist/module/src/lib/abstractBase.test/MockGiven.js +9 -2
  47. package/dist/module/src/lib/abstractBase.test/MockThen.js +5 -2
  48. package/dist/module/src/lib/abstractBase.test/MockWhen.js +9 -2
  49. package/dist/module/src/lib/abstractBase.test/adapter.js +18 -6
  50. package/dist/module/src/lib/abstractBase.test/implementation.js +3 -3
  51. package/dist/module/src/lib/mocks.test.js +11 -5
  52. package/dist/module/src/run.js +15 -4
  53. package/dist/module/testeranto.config.js +12 -36
  54. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  55. package/dist/prebuild/App.js +1461 -8949
  56. package/dist/prebuild/run.mjs +25 -14
  57. package/dist/tsconfig.tsbuildinfo +1 -0
  58. package/dist/types/src/Node.d.ts +2 -2
  59. package/dist/types/src/PM/__tests__/nodeSidecar.testeranto.d.ts +1 -15
  60. package/dist/types/src/PM/__tests__/pureSidecar.testeranto.d.ts +1 -15
  61. package/dist/types/src/PM/__tests__/webSidecar.testeranto.d.ts +1 -15
  62. package/dist/types/src/Pure.d.ts +2 -2
  63. package/dist/types/src/Pure.test.d.ts +1 -58
  64. package/dist/types/src/ReportServer.test.ts/index.d.ts +1 -28
  65. package/dist/types/src/Types.d.ts +3 -1
  66. package/dist/types/src/Web.d.ts +2 -2
  67. package/dist/types/src/components/pure/AppFrame.test/index.d.ts +1 -3
  68. package/dist/types/src/components/pure/FeaturesReporterView.test/index.d.ts +1 -1
  69. package/dist/types/src/components/pure/ModalContent.test/index.d.ts +1 -2
  70. package/dist/types/src/components/pure/ProjectPageView.test/index.d.ts +1 -1
  71. package/dist/types/src/components/pure/TestPageView.test/index.d.ts +1 -1
  72. package/dist/types/src/lib/BaseGiven.d.ts +44 -0
  73. package/dist/types/src/lib/BaseSuite.d.ts +12 -7
  74. package/dist/types/src/lib/BaseSuite.test/mock.d.ts +3 -1
  75. package/dist/types/src/lib/BaseSuite.test/node.test.d.ts +1 -2
  76. package/dist/types/src/lib/BaseSuite.test/pure.test.d.ts +1 -2
  77. package/dist/types/src/lib/BaseSuite.test/web.test.d.ts +1 -2
  78. package/dist/types/src/lib/BaseThen.d.ts +27 -0
  79. package/dist/types/src/lib/BaseWhen.d.ts +27 -0
  80. package/dist/types/src/lib/Tiposkripto.d.ts +35 -0
  81. package/dist/types/src/lib/{core.test/MockCore.d.ts → Tiposkripto.test/MockTiposkripto.d.ts} +3 -3
  82. package/dist/types/src/lib/{core.test/core.test.adapter.d.ts → Tiposkripto.test/Tiposkripto.adapter.d.ts} +1 -1
  83. package/dist/types/src/lib/Tiposkripto.test/Tiposkripto.d.ts +2 -0
  84. package/dist/types/src/lib/{core.test/core.test.implementation.d.ts → Tiposkripto.test/Tiposkripto.implementation.d.ts} +1 -1
  85. package/dist/types/src/lib/{core.test/core.test.specification.d.ts → Tiposkripto.test/Tiposkripto.specification.d.ts} +1 -1
  86. package/dist/types/src/lib/{classBuilder.test/classBuilder.test.types.d.ts → Tiposkripto.test/Tiposkripto.types.d.ts} +11 -9
  87. package/dist/types/src/lib/abstractBase.test/MockGiven.d.ts +3 -1
  88. package/dist/types/src/lib/abstractBase.test/MockThen.d.ts +1 -1
  89. package/dist/types/src/lib/abstractBase.test/MockWhen.d.ts +1 -1
  90. package/dist/types/src/lib/abstractBase.test/index.d.ts +1 -2
  91. package/dist/types/src/lib/abstractBase.test/types.d.ts +3 -3
  92. package/dist/types/src/lib/index.d.ts +1 -1
  93. package/dist/types/src/lib/mocks.test.d.ts +0 -2
  94. package/dist/types/src/lib/pmProxy.test/index.d.ts +1 -2
  95. package/dist/types/src/lib/types.d.ts +3 -1
  96. package/dist/types/src/mothership/test.d.ts +1 -18
  97. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  98. package/package.json +14 -14
  99. package/src/App.tsx +27 -5
  100. package/src/Node.ts +3 -2
  101. package/src/PM/main.ts +1 -1
  102. package/src/Pure.ts +3 -2
  103. package/src/Types.ts +5 -3
  104. package/src/Web.ts +2 -2
  105. package/src/components/DesignEditorPage.tsx +54 -21
  106. package/src/lib/BaseGiven.ts +193 -0
  107. package/src/lib/BaseSuite.test/mock.ts +9 -2
  108. package/src/lib/BaseSuite.ts +14 -1
  109. package/src/lib/BaseThen.ts +108 -0
  110. package/src/lib/BaseWhen.ts +91 -0
  111. package/src/lib/{core.test/MockCore.ts → Tiposkripto.test/MockTiposkripto.ts} +4 -7
  112. package/src/lib/{core.test/core.test.adapter.ts → Tiposkripto.test/Tiposkripto.adapter.ts} +12 -11
  113. package/src/lib/{classBuilder.test/classBuilder.test.implementation.ts → Tiposkripto.test/Tiposkripto.implementation.ts} +75 -78
  114. package/src/lib/Tiposkripto.test/Tiposkripto.specification.ts +109 -0
  115. package/src/lib/Tiposkripto.test/Tiposkripto.ts +15 -0
  116. package/src/lib/{classBuilder.test/classBuilder.test.types.ts → Tiposkripto.test/Tiposkripto.types.ts} +12 -9
  117. package/src/lib/Tiposkripto.ts +325 -0
  118. package/src/lib/abstractBase.test/MockGiven.ts +12 -2
  119. package/src/lib/abstractBase.test/MockThen.ts +7 -2
  120. package/src/lib/abstractBase.test/MockWhen.ts +10 -2
  121. package/src/lib/abstractBase.test/adapter.ts +20 -6
  122. package/src/lib/abstractBase.test/implementation.ts +6 -6
  123. package/src/lib/abstractBase.test/types.ts +3 -3
  124. package/src/lib/index.ts +9 -3
  125. package/src/lib/mocks.test.ts +10 -9
  126. package/src/lib/types.ts +3 -1
  127. package/src/run.ts +19 -4
  128. package/testeranto/App.js +1461 -8949
  129. package/testeranto/bundles/node/core/src/lib/BaseSuite.test/node.test.mjs +1121 -9
  130. package/testeranto/bundles/pure/core/src/lib/BaseSuite.test/pure.test.mjs +979 -8
  131. package/testeranto/bundles/{pure/core/chunk-62UVCSQC.mjs → web/core/src/lib/BaseSuite.test/web.test.mjs} +721 -431
  132. package/testeranto/metafiles/node/core.json +264 -2180
  133. package/testeranto/metafiles/pure/core.json +147 -288
  134. package/testeranto/metafiles/web/core.json +16949 -18
  135. package/testeranto/reports/core/config.json +8 -40
  136. package/testeranto/reports/core/src/Pure.test/pure/type_errors.txt +8 -13
  137. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/error.log +66 -2
  138. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/info.log +2 -0
  139. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/prompt.txt +16 -0
  140. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/tests.json +68 -0
  141. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/type_errors.txt +56 -0
  142. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/error.log +22 -3
  143. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/info.log +2 -0
  144. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/lint_errors.txt +13 -0
  145. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/prompt.txt +16 -0
  146. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/tests.json +88 -0
  147. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/type_errors.txt +45 -0
  148. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/error.log +0 -3
  149. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/info.log +2 -0
  150. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/lint_errors.txt +47 -0
  151. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/prompt.txt +17 -0
  152. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/tests.json +57 -0
  153. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/type_errors.txt +99 -0
  154. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/prompt.txt +1 -0
  155. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/tests.json +7 -9
  156. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/type_errors.txt +11 -16
  157. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/type_errors.txt +11 -16
  158. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/error.log +0 -2
  159. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/prompt.txt +15 -0
  160. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/tests.json +29 -0
  161. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/type_errors.txt +56 -0
  162. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/exit.log +1 -0
  163. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/message.txt +17 -0
  164. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/prompt.txt +17 -0
  165. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/stderr.log +18 -0
  166. package/testeranto/reports/core/src/lib/TipoSkripto.test/TipoSkripto/node/type_errors.txt +32 -0
  167. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/exit.log +1 -1
  168. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stderr.log +60 -82
  169. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/type_errors.txt +8 -13
  170. package/testeranto/reports/core/summary.json +23 -36
  171. package/testeranto.config.ts +14 -41
  172. package/tsc.log +274 -455
  173. package/dist/common/src/lib/abstractBase.js +0 -196
  174. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.adapter.js +0 -25
  175. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +0 -113
  176. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.mock.js +0 -46
  177. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.node.js +0 -12
  178. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.pure.js +0 -12
  179. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.specification.js +0 -18
  180. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.web.js +0 -12
  181. package/dist/common/src/lib/basebuilder.js +0 -88
  182. package/dist/common/src/lib/classBuilder.js +0 -36
  183. package/dist/common/src/lib/classBuilder.test/classBuilder.test.adapter.js +0 -23
  184. package/dist/common/src/lib/classBuilder.test/classBuilder.test.js +0 -12
  185. package/dist/common/src/lib/classBuilder.test/classBuilder.test.types.js +0 -2
  186. package/dist/common/src/lib/classBuilder.test/mock.js +0 -17
  187. package/dist/common/src/lib/core.js +0 -45
  188. package/dist/common/src/lib/core.test/core.test.implementation.js +0 -121
  189. package/dist/common/src/lib/core.test/core.test.js +0 -63
  190. package/dist/common/src/lib/core.test/core.test.specification.js +0 -53
  191. package/dist/common/src/lib/core.test/core.test.types.js +0 -2
  192. package/dist/module/src/lib/abstractBase.js +0 -190
  193. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.adapter.js +0 -22
  194. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +0 -110
  195. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.mock.js +0 -42
  196. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.node.js +0 -7
  197. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.pure.js +0 -7
  198. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.specification.js +0 -14
  199. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.web.js +0 -7
  200. package/dist/module/src/lib/basebuilder.js +0 -84
  201. package/dist/module/src/lib/classBuilder.js +0 -32
  202. package/dist/module/src/lib/classBuilder.test/classBuilder.test.adapter.js +0 -20
  203. package/dist/module/src/lib/classBuilder.test/classBuilder.test.js +0 -7
  204. package/dist/module/src/lib/classBuilder.test/classBuilder.test.types.js +0 -1
  205. package/dist/module/src/lib/classBuilder.test/mock.js +0 -14
  206. package/dist/module/src/lib/core.js +0 -42
  207. package/dist/module/src/lib/core.test/core.test.implementation.js +0 -118
  208. package/dist/module/src/lib/core.test/core.test.js +0 -58
  209. package/dist/module/src/lib/core.test/core.test.specification.js +0 -49
  210. package/dist/module/src/lib/core.test/core.test.types.js +0 -1
  211. package/dist/types/src/lib/abstractBase.d.ts +0 -70
  212. package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.adapter.d.ts +0 -3
  213. package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.implementation.d.ts +0 -3
  214. package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.mock.d.ts +0 -15
  215. package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.node.d.ts +0 -3
  216. package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.pure.d.ts +0 -3
  217. package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.specification.d.ts +0 -3
  218. package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.types.d.ts +0 -22
  219. package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.web.d.ts +0 -3
  220. package/dist/types/src/lib/basebuilder.d.ts +0 -23
  221. package/dist/types/src/lib/classBuilder.d.ts +0 -15
  222. package/dist/types/src/lib/classBuilder.test/classBuilder.test.adapter.d.ts +0 -3
  223. package/dist/types/src/lib/classBuilder.test/classBuilder.test.d.ts +0 -3
  224. package/dist/types/src/lib/classBuilder.test/classBuilder.test.implementation.d.ts +0 -3
  225. package/dist/types/src/lib/classBuilder.test/classBuilder.test.specification.d.ts +0 -3
  226. package/dist/types/src/lib/classBuilder.test/mock.d.ts +0 -14
  227. package/dist/types/src/lib/core.d.ts +0 -12
  228. package/dist/types/src/lib/core.test/core.test.d.ts +0 -3
  229. package/dist/types/src/lib/core.test/core.test.types.d.ts +0 -46
  230. package/src/lib/abstractBase.ts +0 -351
  231. package/src/lib/baseBuilder.test/baseBuilder.test.adapter.ts +0 -29
  232. package/src/lib/baseBuilder.test/baseBuilder.test.implementation.ts +0 -139
  233. package/src/lib/baseBuilder.test/baseBuilder.test.mock.ts +0 -90
  234. package/src/lib/baseBuilder.test/baseBuilder.test.node.ts +0 -16
  235. package/src/lib/baseBuilder.test/baseBuilder.test.pure.ts +0 -16
  236. package/src/lib/baseBuilder.test/baseBuilder.test.specification.ts +0 -35
  237. package/src/lib/baseBuilder.test/baseBuilder.test.types.ts +0 -36
  238. package/src/lib/baseBuilder.test/baseBuilder.test.web.ts +0 -16
  239. package/src/lib/basebuilder.ts +0 -187
  240. package/src/lib/classBuilder.test/classBuilder.test.adapter.ts +0 -25
  241. package/src/lib/classBuilder.test/classBuilder.test.specification.ts +0 -104
  242. package/src/lib/classBuilder.test/classBuilder.test.ts +0 -14
  243. package/src/lib/classBuilder.test/mock.ts +0 -83
  244. package/src/lib/classBuilder.ts +0 -120
  245. package/src/lib/core.test/core.test.implementation.ts +0 -155
  246. package/src/lib/core.test/core.test.specification.ts +0 -113
  247. package/src/lib/core.test/core.test.ts +0 -72
  248. package/src/lib/core.test/core.test.types.ts +0 -68
  249. package/src/lib/core.ts +0 -125
  250. package/testeranto/bundles/node/core/chunk-4CSH4UJE.mjs +0 -872
  251. package/testeranto/bundles/node/core/chunk-4JTDLQVA.mjs +0 -253
  252. package/testeranto/bundles/node/core/chunk-C3APFDUV.mjs +0 -70
  253. package/testeranto/bundles/node/core/src/lib/baseBuilder.test/baseBuilder.test.node.mjs +0 -243
  254. package/testeranto/bundles/node/core/src/lib/classBuilder.test/classBuilder.test.mjs +0 -411
  255. package/testeranto/bundles/node/core/src/lib/core.test/core.test.mjs +0 -494
  256. package/testeranto/bundles/node/core/src/lib/pmProxy.test/index.mjs +0 -4755
  257. package/testeranto/bundles/pure/core/src/Pure.test.mjs +0 -410
  258. package/testeranto/bundles/pure/core/src/lib/baseBuilder.test/baseBuilder.test.pure.mjs +0 -241
  259. package/testeranto/bundles/web/core/src/components/pure/FeaturesReporterView.test/index.html +0 -15
  260. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.html +0 -15
  261. package/testeranto/bundles/web/core/src/components/pure/TestPageView.test/index.html +0 -15
  262. package/testeranto/bundles/web/core/src/lib/baseBuilder.test/baseBuilder.test.web.html +0 -15
  263. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/exit.log +0 -1
  264. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/lint_errors.txt +0 -10
  265. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/prompt.txt +0 -17
  266. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/stdout.log +0 -6
  267. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/suite-0/given-testInitialization/then-0/butThen/hello.txt +0 -1
  268. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/suite-0/given-testInitialization/then-1/butThen/artifact_test.txt +0 -1
  269. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/tests.json +0 -71
  270. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/type_errors.txt +0 -42
  271. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/lint_errors.txt +0 -10
  272. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/prompt.txt +0 -17
  273. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/type_errors.txt +0 -42
  274. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/debug.log +0 -0
  275. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/error.log +0 -3
  276. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/exit.log +0 -1
  277. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/info.log +0 -0
  278. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/warn.log +0 -0
  279. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/exit.log +0 -1
  280. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/prompt.txt +0 -17
  281. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/stderr.log +0 -0
  282. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/stdout.log +0 -619
  283. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/tests.json +0 -165
  284. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/type_errors.txt +0 -88
  285. package/testeranto/reports/core/src/lib/core.test/core.test/node/exit.log +0 -1
  286. package/testeranto/reports/core/src/lib/core.test/core.test/node/lint_errors.txt +0 -21
  287. package/testeranto/reports/core/src/lib/core.test/core.test/node/prompt.txt +0 -19
  288. package/testeranto/reports/core/src/lib/core.test/core.test/node/stderr.log +0 -0
  289. package/testeranto/reports/core/src/lib/core.test/core.test/node/type_errors.txt +0 -45
  290. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/tests.json +0 -152
  291. package/testeranto/reportsweb_build_errors +0 -546
  292. /package/dist/common/src/lib/{baseBuilder.test/baseBuilder.test.types.js → Tiposkripto.test/Tiposkripto.types.js} +0 -0
  293. /package/dist/module/src/lib/{baseBuilder.test/baseBuilder.test.types.js → Tiposkripto.test/Tiposkripto.types.js} +0 -0
  294. /package/testeranto/reports/core/src/{lib/classBuilder.test/classBuilder.test/node → components/pure/FeaturesReporterView.test/index/web}/lint_errors.txt +0 -0
  295. /package/testeranto/reports/core/src/{lib/baseBuilder.test/baseBuilder.test.node/node → components/pure/FeaturesReporterView.test/index/web}/message.txt +0 -0
  296. /package/testeranto/reports/core/src/{lib/baseBuilder.test/baseBuilder.test.pure/pure → components/pure/ProjectPageView.test/index/web}/message.txt +0 -0
  297. /package/testeranto/reports/core/src/{lib/classBuilder.test/classBuilder.test/node → components/pure/TestPageView.test/index/web}/message.txt +0 -0
  298. /package/testeranto/reports/core/src/lib/{baseBuilder.test/baseBuilder.test.node/node/stderr.log → BaseSuite.test/web.test/web/lint_errors.txt} +0 -0
  299. /package/testeranto/reports/core/src/lib/{core.test/core.test/node → BaseSuite.test/web.test/web}/message.txt +0 -0
  300. /package/testeranto/reports/core/src/lib/{baseBuilder.test/baseBuilder.test.pure/pure/exit.log → TipoSkripto.test/TipoSkripto/node/lint_errors.txt} +0 -0
  301. /package/testeranto/reports/core/src/lib/{core.test/core.test → TipoSkripto.test/TipoSkripto}/node/stdout.log +0 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "testeranto",
3
3
  "description": "the AI powered BDD test framework for typescript projects",
4
- "version": "0.197.0",
4
+ "version": "0.199.0",
5
5
  "engines": {
6
6
  "node": "18.18.0"
7
7
  },
@@ -152,18 +152,19 @@
152
152
  "devDependencies": {
153
153
  "@eslint/js": "^9.23.0",
154
154
  "@swc/core": "^1.3.26",
155
- "@types/express": "^5.0.0",
156
155
  "@types/express-session": "^1.18.1",
156
+ "@types/express": "^5.0.0",
157
157
  "@types/node": "^24.1.0",
158
- "@types/react": "18.2.0",
159
158
  "@types/react-dom": "18.2.0",
160
159
  "@types/react-test-renderer": "19.0.0",
160
+ "@types/react": "18.2.0",
161
161
  "@types/uuid": "^10.0.0",
162
162
  "@types/ws": "^8.18.1",
163
163
  "@typescript-eslint/eslint-plugin": "^5.46.0",
164
164
  "@typescript-eslint/parser": "^5.46.0",
165
165
  "self-import": "*",
166
- "testeranto-react": "0.0.8",
166
+ "testeranto-react": "0.0.9",
167
+ "testeranto-stilo": "0.0.7",
167
168
  "ts-node": "^10.9.1",
168
169
  "typescript": "^5.8.2"
169
170
  },
@@ -184,22 +185,22 @@
184
185
  "ansi-colors": "^4.1.3",
185
186
  "axios": "^1.11.0",
186
187
  "babel-loader": "^8.2.5",
187
- "bootstrap": "^5.3.7",
188
188
  "bootstrap-icons": "^1.13.1",
189
+ "bootstrap": "^5.3.7",
189
190
  "chai": "^5.2.0",
190
191
  "chromium": "^3.0.3",
191
192
  "dynamic-base": "^1.1.2",
192
- "esbuild": "0.17.5",
193
193
  "esbuild-plugin-external-package": "^1.0.0",
194
194
  "esbuild-plugin-import-map": "^2.1.0",
195
195
  "esbuild-plugin-markdown": "^0.0.3",
196
196
  "esbuild-plugin-polyfill-node": "^0.3.0",
197
197
  "esbuild-sass-plugin": "^3.3.1",
198
- "eslint": "^9.23.0",
198
+ "esbuild": "0.17.5",
199
199
  "eslint-formatter-compact": "^8.40.0",
200
200
  "eslint-plugin-import": "^2.31.0",
201
- "eslint-plugin-react": "^7.31.11",
202
201
  "eslint-plugin-react-hooks": "^5.1.0",
202
+ "eslint-plugin-react": "^7.31.11",
203
+ "eslint": "^9.23.0",
203
204
  "express": "^4.21.2",
204
205
  "fabric": "6.7.1",
205
206
  "fast-xml-parser": "^5.2.5",
@@ -209,25 +210,24 @@
209
210
  "get-audio-duration": "^4.0.1",
210
211
  "html-to-image": "^1.11.13",
211
212
  "license-checker": "^25.0.1",
212
- "mermaid": "^11.8.1",
213
213
  "mermaid-isomorphic": "^3.0.4",
214
- "micromark": "^4.0.2",
214
+ "mermaid": "^11.8.1",
215
215
  "micromark-extension-gfm-table": "^2.1.1",
216
+ "micromark": "^4.0.2",
216
217
  "monaco-editor": "^0.45.0",
217
218
  "node-static": "^0.7.11",
218
219
  "octokit": "^5.0.3",
219
220
  "openai": "^5.12.2",
220
- "puppeteer": "^24.4.0",
221
221
  "puppeteer-core": "24.4.0",
222
- "react": "18.2.0",
222
+ "puppeteer": "^24.4.0",
223
223
  "react-bootstrap": "^2.10.9",
224
224
  "react-dom": "18.2.0",
225
225
  "react-draggable": "^4.5.0",
226
226
  "react-resizable": "^3.0.5",
227
227
  "react-router-dom": "^7.7.0",
228
+ "react": "18.2.0",
228
229
  "sass": "^1.90.0",
229
230
  "ssml-check": "^0.4.6",
230
- "testeranto-stilo": "0.0.7",
231
231
  "tsc-prog": "^2.3.0",
232
232
  "tsx": "^4.19.3",
233
233
  "type-fest": "^4.41.0",
@@ -237,8 +237,8 @@
237
237
  "validate-with-xmllint": "^1.2.1",
238
238
  "ws": "^8.18.3",
239
239
  "xmldom": "^0.6.0",
240
- "xterm": "^5.3.0",
241
240
  "xterm-addon-fit": "^0.8.0",
241
+ "xterm": "^5.3.0",
242
242
  "xterm-react": "^1.0.0"
243
243
  }
244
244
  }
package/src/App.tsx CHANGED
@@ -38,18 +38,40 @@ export const App = () => {
38
38
  // Export App to global scope
39
39
  function initApp() {
40
40
  const rootElement = document.getElementById('root');
41
- if (rootElement && window.React && window.ReactDOM) {
42
- const root = window.ReactDOM.createRoot(rootElement);
43
- root.render(window.React.createElement(App));
41
+ if (rootElement) {
42
+ try {
43
+ // Try to use React 18's createRoot if available
44
+ if (ReactDom.createRoot) {
45
+ const root = ReactDom.createRoot(rootElement);
46
+ root.render(React.createElement(App));
47
+ } else {
48
+ // Fall back to React 17's render
49
+ ReactDom.render(React.createElement(App), rootElement);
50
+ }
51
+ } catch (err) {
52
+ console.error('Error rendering app:', err);
53
+ // Retry if React isn't loaded yet
54
+ setTimeout(initApp, 100);
55
+ }
44
56
  } else {
45
- // Retry if React isn't loaded yet
57
+ // Retry if root element isn't available yet
46
58
  setTimeout(initApp, 100);
47
59
  }
48
60
  }
49
61
 
50
62
  // Export App to global scope
51
- if (typeof window !== 'undefined') {
63
+ if (typeof window !== 'undefined' && typeof document !== 'undefined') {
64
+ // @ts-ignore
52
65
  window.App = App;
66
+ // @ts-ignore
53
67
  window.React = React;
68
+ // @ts-ignore
54
69
  window.ReactDOM = ReactDom;
70
+
71
+ // Initialize the app when the window is ready
72
+ if (document.readyState === 'loading') {
73
+ document.addEventListener('DOMContentLoaded', initApp);
74
+ } else {
75
+ initApp();
76
+ }
55
77
  }
package/src/Node.ts CHANGED
@@ -1,4 +1,4 @@
1
- import Testeranto from "./lib/core.js";
1
+ // import Testeranto from "./lib/core.js";
2
2
  import {
3
3
  defaultTestResourceRequirement,
4
4
  ITTestResourceRequest,
@@ -12,6 +12,7 @@ import {
12
12
  Ibdd_out_any,
13
13
  Ibdd_out,
14
14
  } from "./CoreTypes.js";
15
+ import Tiposkripto from "./lib/Tiposkripto.js";
15
16
 
16
17
  let ipcfile;
17
18
 
@@ -19,7 +20,7 @@ export class NodeTesteranto<
19
20
  I extends Ibdd_in_any,
20
21
  O extends Ibdd_out_any,
21
22
  M
22
- > extends Testeranto<I, O, M> {
23
+ > extends Tiposkripto<I, O, M> {
23
24
  constructor(
24
25
  input: I["iinput"],
25
26
  testSpecification: ITestSpecification<I, O>,
package/src/PM/main.ts CHANGED
@@ -1017,7 +1017,7 @@ export class PM_Main extends PM_WithEslintAndTsc {
1017
1017
  );
1018
1018
 
1019
1019
  logs.exit.write(e3.stack);
1020
- logs.exit.write(-1);
1020
+ logs.exit.write("-1");
1021
1021
  this.bddTestIsNowDone(src, -1);
1022
1022
  statusMessagePretty(-1, src, "pure");
1023
1023
  }
package/src/Pure.ts CHANGED
@@ -5,12 +5,13 @@ import {
5
5
  ITestAdapter,
6
6
  ITestSpecification,
7
7
  } from "./CoreTypes.js";
8
- import Testeranto from "./lib/core.js";
8
+
9
9
  import {
10
10
  defaultTestResourceRequirement,
11
11
  ITTestResourceConfiguration,
12
12
  ITTestResourceRequest,
13
13
  } from "./lib/index.js";
14
+ import Tiposkripto from "./lib/Tiposkripto.js";
14
15
 
15
16
  import { PM_Pure } from "./PM/pure.js";
16
17
 
@@ -18,7 +19,7 @@ export class PureTesteranto<
18
19
  I extends Ibdd_in_any,
19
20
  O extends Ibdd_out,
20
21
  M
21
- > extends Testeranto<I, O, M> {
22
+ > extends Tiposkripto<I, O, M> {
22
23
  constructor(
23
24
  input: I["iinput"],
24
25
  testSpecification: ITestSpecification<I, O>,
package/src/Types.ts CHANGED
@@ -1,12 +1,14 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  import { Plugin } from "esbuild";
3
+
3
4
  import { ITTestResourceConfiguration } from "./lib/index.js";
4
5
  import { PM } from "./PM/index.js";
5
-
6
- import { BaseWhen, BaseThen, BaseGiven, IGivens } from "./lib/abstractBase.js";
7
-
8
6
  import { Ibdd_in_any, Ibdd_out_any } from "./CoreTypes.js";
7
+
9
8
  import { BaseSuite } from "./lib/BaseSuite.js";
9
+ import { IGivens, BaseGiven } from "./lib/BaseGiven.js";
10
+ import { BaseThen } from "./lib/BaseThen.js";
11
+ import { BaseWhen } from "./lib/BaseWhen.js";
10
12
 
11
13
  export type ISummary = Record<
12
14
  string,
package/src/Web.ts CHANGED
@@ -9,8 +9,8 @@ import {
9
9
  Ibdd_out,
10
10
  } from "./CoreTypes";
11
11
  import { PM_Web } from "./PM/web";
12
+ import Tiposkripto from "./lib/Tiposkripto";
12
13
 
13
- import Testeranto from "./lib/core.js";
14
14
  import {
15
15
  ITTestResourceConfiguration,
16
16
  ITTestResourceRequest,
@@ -29,7 +29,7 @@ export class WebTesteranto<
29
29
  I extends Ibdd_in_any,
30
30
  O extends Ibdd_out,
31
31
  M
32
- > extends Testeranto<I, O, M> {
32
+ > extends Tiposkripto<I, O, M> {
33
33
  constructor(
34
34
  input: I["iinput"],
35
35
  testSpecification: ITestSpecification<I, O>,
@@ -5,7 +5,7 @@ import { saveAs } from 'file-saver';
5
5
 
6
6
  export const DesignEditorPage = () => {
7
7
  const [projectId, setProjectId] = useState('default-project');
8
- const [fileHandle, setFileHandle] = useState<FileSystemFileHandle | null>(null);
8
+ const [fileHandle, setFileHandle] = useState<any>(null);
9
9
 
10
10
  const handleSave = async () => {
11
11
  try {
@@ -32,16 +32,43 @@ export const DesignEditorPage = () => {
32
32
  designEditorRef.current.loadDesign(fullDesign);
33
33
  }
34
34
 
35
- // @ts-ignore - File System Access API
36
- const newHandle = await window.showSaveFilePicker({
37
- types: [{
38
- description: 'Design Files',
39
- accept: {
40
- 'application/json': ['.json'],
41
- },
42
- }],
43
- suggestedName: `${projectId}.json`
44
- });
35
+ let newHandle;
36
+ if ('showSaveFilePicker' in window && (window as any).showSaveFilePicker) {
37
+ try {
38
+ newHandle = await (window as any).showSaveFilePicker({
39
+ types: [{
40
+ description: 'Design Files',
41
+ accept: {
42
+ 'application/json': ['.json'],
43
+ },
44
+ }],
45
+ suggestedName: `${projectId}.json`
46
+ });
47
+ } catch (err) {
48
+ console.warn('Error using showSaveFilePicker:', err);
49
+ // Fall back to traditional download
50
+ const jsonData = JSON.stringify(fullDesign, null, 2);
51
+ const blob = new Blob([jsonData], { type: 'application/json' });
52
+ const url = URL.createObjectURL(blob);
53
+ const a = document.createElement('a');
54
+ a.href = url;
55
+ a.download = `${projectId}.json`;
56
+ a.click();
57
+ URL.revokeObjectURL(url);
58
+ return;
59
+ }
60
+ } else {
61
+ // Fall back to traditional download
62
+ const jsonData = JSON.stringify(fullDesign, null, 2);
63
+ const blob = new Blob([jsonData], { type: 'application/json' });
64
+ const url = URL.createObjectURL(blob);
65
+ const a = document.createElement('a');
66
+ a.href = url;
67
+ a.download = `${projectId}.json`;
68
+ a.click();
69
+ URL.revokeObjectURL(url);
70
+ return;
71
+ }
45
72
 
46
73
  const jsonData = JSON.stringify(fullDesign, null, 2);
47
74
  const writable = await newHandle.createWritable();
@@ -61,7 +88,7 @@ export const DesignEditorPage = () => {
61
88
  }
62
89
  };
63
90
 
64
- const [design, setDesign] = useState<Design | null>(null);
91
+ const [design, setDesign] = useState<any>(null);
65
92
  const designEditorRef = useRef<DesignEditorRef>(null);
66
93
 
67
94
  const handleOpen = async () => {
@@ -72,15 +99,21 @@ export const DesignEditorPage = () => {
72
99
  }
73
100
 
74
101
  console.log('Attempting to show file picker...');
75
- const [handle] = await window.showOpenFilePicker({
76
- types: [{
77
- description: 'Design Files',
78
- accept: {
79
- 'application/json': ['.json'],
80
- },
81
- }],
82
- multiple: false
83
- });
102
+ let handle;
103
+ if ('showOpenFilePicker' in window) {
104
+ // @ts-ignore
105
+ [handle] = await window.showOpenFilePicker({
106
+ types: [{
107
+ description: 'Design Files',
108
+ accept: {
109
+ 'application/json': ['.json'],
110
+ },
111
+ }],
112
+ multiple: false
113
+ });
114
+ } else {
115
+ throw new Error('File System Access API not supported');
116
+ }
84
117
 
85
118
  if (!handle) {
86
119
  throw new Error('No file selected');
@@ -0,0 +1,193 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
+
4
+ // Do not add logging to this file as it is used by the pure runtime.
5
+
6
+ import type { Ibdd_in_any, Ibdd_out_any } from "../CoreTypes";
7
+
8
+ import { ITestArtifactory, ITLog, ITTestResourceConfiguration } from ".";
9
+ import { IPM } from "./types.js";
10
+ import { afterEachProxy, beforeEachProxy } from "./pmProxy.js";
11
+ import { BaseSuite } from "./BaseSuite";
12
+
13
+ /**
14
+ * Represents a collection of Given conditions keyed by their names.
15
+ * Givens are typically organized as named collections because:
16
+ * - They set up different initial states for tests
17
+ * - Tests often need to reference specific Given conditions by name
18
+ * - This allows for better organization and reuse of setup logic
19
+ * - The BDD pattern often involves multiple named Given scenarios
20
+ */
21
+ export type IGivens<I extends Ibdd_in_any> = Record<string, BaseGiven<I>>;
22
+
23
+ export abstract class BaseGiven<I extends Ibdd_in_any> {
24
+ name: string;
25
+ features: string[];
26
+ whens: any[];
27
+ thens: any[];
28
+ error: Error;
29
+ fail: any;
30
+ store: I["istore"];
31
+ recommendedFsPath: string;
32
+ givenCB: I["given"];
33
+ initialValues: any;
34
+ key: string;
35
+ failed: boolean;
36
+ artifacts: string[] = [];
37
+
38
+ addArtifact(path: string) {
39
+ const normalizedPath = path.replace(/\\/g, "/"); // Normalize path separators
40
+ this.artifacts.push(normalizedPath);
41
+ }
42
+
43
+ constructor(
44
+ name: string,
45
+ features: string[],
46
+ whens: any[],
47
+ thens: any[],
48
+ givenCB: I["given"],
49
+ initialValues: any
50
+ ) {
51
+ this.name = name;
52
+ this.features = features || [];
53
+ this.whens = whens || [];
54
+ this.thens = thens || [];
55
+ this.givenCB = givenCB;
56
+ this.initialValues = initialValues;
57
+ }
58
+
59
+ beforeAll(store: I["istore"]) {
60
+ return store;
61
+ }
62
+
63
+ toObj() {
64
+ return {
65
+ key: this.key,
66
+ name: this.name,
67
+ whens: (this.whens || []).map((w) => {
68
+ if (w && w.toObj) return w.toObj();
69
+
70
+ console.error("w is not as expected!", JSON.stringify(w));
71
+ return {};
72
+ }),
73
+ thens: (this.thens || []).map((t) => t && t.toObj ? t.toObj() : {}),
74
+ error: this.error ? [this.error, this.error.stack] : null,
75
+ failed: this.failed,
76
+ features: this.features || [],
77
+ artifacts: this.artifacts || [],
78
+ };
79
+ }
80
+
81
+ abstract givenThat(
82
+ subject: I["isubject"],
83
+ testResourceConfiguration,
84
+ artifactory: ITestArtifactory,
85
+ givenCB: I["given"],
86
+ initialValues: any,
87
+ pm: IPM
88
+ ): Promise<I["istore"]>;
89
+
90
+ async afterEach(
91
+ store: I["istore"],
92
+ key: string,
93
+ artifactory: ITestArtifactory,
94
+ pm: IPM
95
+ ): Promise<I["istore"]> {
96
+ return store;
97
+ }
98
+
99
+ abstract uberCatcher(e);
100
+
101
+ async give(
102
+ subject: I["isubject"],
103
+ key: string,
104
+ testResourceConfiguration: ITTestResourceConfiguration,
105
+ tester: (t: Awaited<I["then"]> | undefined) => boolean,
106
+ artifactory: ITestArtifactory,
107
+ tLog: ITLog,
108
+ pm: IPM,
109
+ suiteNdx: number
110
+ ) {
111
+ this.key = key;
112
+
113
+ tLog(`\n ${this.key}`);
114
+ tLog(`\n Given: ${this.name}`);
115
+
116
+ const givenArtifactory = (fPath: string, value: unknown) =>
117
+ artifactory(`given-${key}/${fPath}`, value);
118
+
119
+ this.uberCatcher((e) => {
120
+ console.error(e.toString());
121
+ this.error = e.error;
122
+ tLog(e.stack);
123
+ });
124
+
125
+ try {
126
+ // Ensure addArtifact is properly bound to 'this'
127
+ const addArtifact = this.addArtifact.bind(this);
128
+ const proxiedPm = beforeEachProxy(pm, suiteNdx.toString(), addArtifact);
129
+ this.store = await this.givenThat(
130
+ subject,
131
+ testResourceConfiguration,
132
+ givenArtifactory,
133
+ this.givenCB,
134
+ this.initialValues,
135
+ proxiedPm
136
+ );
137
+ } catch (e) {
138
+ // console.error("Given failure: ", e.stack);
139
+ this.failed = true;
140
+ this.error = e.stack;
141
+ // throw e;
142
+ }
143
+
144
+ try {
145
+ // tLog(`\n Given this.store`, this.store);
146
+
147
+ for (const [whenNdx, whenStep] of this.whens.entries()) {
148
+ await whenStep.test(
149
+ this.store,
150
+ testResourceConfiguration,
151
+ tLog,
152
+ pm,
153
+ `suite-${suiteNdx}/given-${key}/when/${whenNdx}`
154
+ );
155
+ }
156
+
157
+ for (const [thenNdx, thenStep] of this.thens.entries()) {
158
+ const t = await thenStep.test(
159
+ this.store,
160
+ testResourceConfiguration,
161
+ tLog,
162
+ pm,
163
+ `suite-${suiteNdx}/given-${key}/then-${thenNdx}`
164
+ );
165
+ tester(t);
166
+ }
167
+ } catch (e) {
168
+ this.error = e.stack;
169
+ this.failed = true;
170
+ // tLog(e.stack);
171
+ // throw e;
172
+ } finally {
173
+ try {
174
+ // Ensure addArtifact is properly bound to 'this'
175
+ const addArtifact = this.addArtifact.bind(this);
176
+ const proxiedPm = afterEachProxy(
177
+ pm,
178
+ suiteNdx.toString(),
179
+ key,
180
+ addArtifact
181
+ );
182
+ // (proxiedPm as any).currentStep = this;
183
+ await this.afterEach(this.store, this.key, givenArtifactory, proxiedPm);
184
+ } catch (e) {
185
+ this.failed = e;
186
+ throw e;
187
+ // this.error = e.message;
188
+ }
189
+ }
190
+
191
+ return this.store;
192
+ }
193
+ }
@@ -1,9 +1,12 @@
1
1
  /* eslint-disable @typescript-eslint/no-unused-vars */
2
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
3
 
4
- import { BaseGiven, BaseWhen, BaseThen } from "../abstractBase";
4
+ import { BaseGiven } from "../BaseGiven";
5
5
  import { BaseSuite } from "../BaseSuite";
6
+ import { BaseThen } from "../BaseThen";
7
+ import { BaseWhen } from "../BaseWhen";
6
8
  import { IPM } from "../types";
9
+
7
10
  import { I, TestStore, TestSelection, O } from "./test";
8
11
 
9
12
  export class MockGiven extends BaseGiven<I> {
@@ -77,7 +80,11 @@ export class MockSuite extends BaseSuite<I, O> {
77
80
  testGiven: new MockGiven(
78
81
  "testGiven",
79
82
  ["testFeature"],
80
- [new MockWhen("testWhen", async () => Promise.resolve({ testSelection: true }))],
83
+ [
84
+ new MockWhen("testWhen", async () =>
85
+ Promise.resolve({ testSelection: true })
86
+ ),
87
+ ],
81
88
  [
82
89
  new MockThen("testThen", async () =>
83
90
  Promise.resolve(new BaseSuite("temp", 0, {} as any))
@@ -4,10 +4,23 @@
4
4
 
5
5
  import { ITTestResourceConfiguration, ITestArtifactory } from ".";
6
6
  import { Ibdd_in_any, Ibdd_out_any } from "../CoreTypes";
7
- import { IGivens } from "./abstractBase";
7
+ import { IGivens } from "./BaseGiven";
8
8
  import { beforeAllProxy, afterAllProxy } from "./pmProxy";
9
9
  import { IPM } from "./types";
10
10
 
11
+ /**
12
+ * Represents a collection of test suites keyed by their names.
13
+ * Suites are organized as named collections because:
14
+ * - Tests are typically grouped into logical suites (e.g., by feature, component)
15
+ * - Suites may have different configurations or setup requirements
16
+ * - Named suites allow for selective test execution and better reporting
17
+ * - This supports the hierarchical structure of test organization
18
+ */
19
+ export type ISuites<I extends Ibdd_in_any, O extends Ibdd_out_any> = Record<
20
+ string,
21
+ BaseSuite<I, O>
22
+ >;
23
+
11
24
  export abstract class BaseSuite<I extends Ibdd_in_any, O extends Ibdd_out_any> {
12
25
  name: string;
13
26
  givens: IGivens<I>;