testeranto 0.172.0 → 0.177.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 (203) hide show
  1. package/README.md +2 -4
  2. package/dist/common/src/PM/base.js +5 -1
  3. package/dist/common/src/PM/main.js +57 -54
  4. package/dist/common/src/PM/node.js +4 -1
  5. package/dist/common/src/PM/pure.js +4 -1
  6. package/dist/common/src/PM/web.js +6 -3
  7. package/dist/common/src/Pure.js +0 -4
  8. package/dist/common/src/Pure.test.js +1 -1
  9. package/dist/common/src/ReportServer.js +2 -126
  10. package/dist/common/src/ReportServer.test.ts/index.js +78 -0
  11. package/dist/common/src/ReportServerLib.js +141 -0
  12. package/dist/common/src/components/pure/ProjectPageView.test/implementation.js +1 -1
  13. package/dist/common/src/esbuildConfigs/node.js +1 -3
  14. package/dist/common/src/lib/BaseSuite.js +13 -11
  15. package/dist/common/src/lib/abstractBase.js +39 -40
  16. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +10 -9
  17. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.specification.js +7 -7
  18. package/dist/common/src/lib/basebuilder.js +13 -2
  19. package/dist/common/src/lib/core.js +1 -0
  20. package/dist/common/src/lib/pmProxy.js +215 -201
  21. package/dist/common/src/lib/pmProxy.test/adapter.js +2 -2
  22. package/dist/common/src/lib/pmProxy.test/implementation.js +1 -1
  23. package/dist/common/testeranto.config.js +47 -32
  24. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  25. package/dist/module/src/PM/base.js +5 -1
  26. package/dist/module/src/PM/main.js +22 -19
  27. package/dist/module/src/PM/node.js +4 -1
  28. package/dist/module/src/PM/pure.js +4 -1
  29. package/dist/module/src/PM/web.js +6 -3
  30. package/dist/module/src/Pure.js +0 -4
  31. package/dist/module/src/Pure.test.js +1 -1
  32. package/dist/module/src/ReportServer.js +2 -123
  33. package/dist/module/src/ReportServer.test.ts/index.js +73 -0
  34. package/dist/module/src/ReportServerLib.js +134 -0
  35. package/dist/module/src/TestPage.js +29 -17
  36. package/dist/module/src/components/pure/ProjectPageView.test/implementation.js +1 -1
  37. package/dist/module/src/components/pure/TestPageView.js +29 -17
  38. package/dist/module/src/esbuildConfigs/node.js +1 -3
  39. package/dist/module/src/lib/BaseSuite.js +13 -11
  40. package/dist/module/src/lib/abstractBase.js +39 -40
  41. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +10 -9
  42. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.specification.js +7 -7
  43. package/dist/module/src/lib/basebuilder.js +13 -2
  44. package/dist/module/src/lib/core.js +1 -0
  45. package/dist/module/src/lib/pmProxy.js +215 -201
  46. package/dist/module/src/lib/pmProxy.test/adapter.js +2 -2
  47. package/dist/module/src/lib/pmProxy.test/implementation.js +1 -1
  48. package/dist/module/testeranto.config.js +47 -32
  49. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  50. package/dist/prebuild/App.js +3 -3
  51. package/dist/prebuild/ReportServer.mjs +21 -9
  52. package/dist/prebuild/build.mjs +1 -1
  53. package/dist/prebuild/run.mjs +27 -20
  54. package/dist/types/src/PM/base.d.ts +1 -1
  55. package/dist/types/src/PM/node.d.ts +1 -1
  56. package/dist/types/src/PM/pure.d.ts +1 -1
  57. package/dist/types/src/PM/web.d.ts +1 -1
  58. package/dist/types/src/ReportServer.test.ts/index.d.ts +29 -0
  59. package/dist/types/src/ReportServerLib.d.ts +1 -0
  60. package/dist/types/src/Types.d.ts +0 -1
  61. package/dist/types/src/components/pure/ProjectPageView.test/index.d.ts +2 -1
  62. package/dist/types/src/lib/BaseSuite.d.ts +2 -0
  63. package/dist/types/src/lib/abstractBase.d.ts +5 -7
  64. package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.types.d.ts +7 -4
  65. package/dist/types/src/lib/pmProxy.d.ts +3 -3
  66. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  67. package/package.json +3 -3
  68. package/src/PM/base.ts +7 -5
  69. package/src/PM/main.ts +26 -21
  70. package/src/PM/node.ts +6 -1
  71. package/src/PM/pure.ts +6 -1
  72. package/src/PM/web.ts +7 -3
  73. package/src/Pure.test.ts +6 -6
  74. package/src/Pure.ts +0 -8
  75. package/src/ReportServer.test.ts/index.ts +194 -0
  76. package/src/ReportServer.ts +2 -132
  77. package/src/ReportServerLib.ts +147 -0
  78. package/src/TestPage.tsx +65 -5
  79. package/src/Types.ts +0 -1
  80. package/src/components/pure/ProjectPageView.test/implementation.tsx +1 -1
  81. package/src/components/pure/TestPageView.tsx +65 -5
  82. package/src/esbuildConfigs/node.ts +1 -1
  83. package/src/lib/BaseSuite.ts +16 -21
  84. package/src/lib/abstractBase.ts +59 -48
  85. package/src/lib/baseBuilder.test/baseBuilder.test.implementation.ts +22 -10
  86. package/src/lib/baseBuilder.test/baseBuilder.test.specification.ts +9 -9
  87. package/src/lib/baseBuilder.test/baseBuilder.test.types.ts +7 -4
  88. package/src/lib/basebuilder.ts +13 -4
  89. package/src/lib/core.ts +1 -0
  90. package/src/lib/pmProxy.test/adapter.ts +2 -2
  91. package/src/lib/pmProxy.test/implementation.ts +3 -3
  92. package/src/lib/pmProxy.test/types.ts +0 -2
  93. package/src/lib/pmProxy.ts +135 -80
  94. package/testeranto/App.js +3 -3
  95. package/testeranto/bundles/node/core/metafile.json +8 -0
  96. package/testeranto/bundles/pure/core/metafile.json +8 -0
  97. package/testeranto/bundles/web/core/metafile.json +15086 -0
  98. package/testeranto/bundles/web/{allTests → core}/src/components/pure/ProjectPageView.test/index.html +1 -1
  99. package/testeranto/bundles/web/{allTests → core}/src/components/pure/ProjectPageView.test/index.mjs +4109 -1642
  100. package/testeranto/projects.json +1 -1
  101. package/testeranto/reports/core/config.json +24 -0
  102. package/testeranto/reports/{allTests → core}/src/components/pure/ProjectPageView.test/index/web/lint_errors.txt +6 -1
  103. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/logs.txt +59 -0
  104. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/message.txt +2 -0
  105. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/prompt.txt +27 -0
  106. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/suite-0/given-basicRender/then-0/butThen/happyPath.png +0 -0
  107. package/testeranto/reports/{allTests → core}/src/components/pure/ProjectPageView.test/index/web/type_errors.txt +15 -33
  108. package/testeranto/reports/core/summary.json +9 -0
  109. package/testeranto.config.ts +49 -32
  110. package/tsc.log +78 -92
  111. package/testeranto/bundles/node/allTests/chunk-3EUGBAOM.mjs +0 -113
  112. package/testeranto/bundles/node/allTests/chunk-E75CSRER.mjs +0 -800
  113. package/testeranto/bundles/node/allTests/chunk-M6DO7VMB.mjs +0 -252
  114. package/testeranto/bundles/node/allTests/metafile.json +0 -1229
  115. package/testeranto/bundles/node/allTests/src/lib/BaseSuite.test/node.test.mjs +0 -323
  116. package/testeranto/bundles/node/allTests/src/lib/baseBuilder.test/baseBuilder.test.node.mjs +0 -223
  117. package/testeranto/bundles/node/allTests/src/lib/classBuilder.test/classBuilder.test.mjs +0 -411
  118. package/testeranto/bundles/node/allTests/src/lib/core.test/core.test.mjs +0 -528
  119. package/testeranto/bundles/node/allTests/src/lib/pmProxy.test/index.mjs +0 -4752
  120. package/testeranto/bundles/pure/allTests/chunk-KHDVEHF7.mjs +0 -185
  121. package/testeranto/bundles/pure/allTests/chunk-VMUSFSZM.mjs +0 -797
  122. package/testeranto/bundles/pure/allTests/metafile.json +0 -1054
  123. package/testeranto/bundles/pure/allTests/src/Pure.test.mjs +0 -429
  124. package/testeranto/bundles/pure/allTests/src/lib/BaseSuite.test/pure.test.mjs +0 -425
  125. package/testeranto/bundles/pure/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure.mjs +0 -381
  126. package/testeranto/bundles/web/allTests/chunk-HPYA4YZC.mjs +0 -2283
  127. package/testeranto/bundles/web/allTests/chunk-U7AW26HL.mjs +0 -997
  128. package/testeranto/bundles/web/allTests/metafile.json +0 -25
  129. package/testeranto/bundles/web/allTests/src/lib/BaseSuite.test/web.test.html +0 -19
  130. package/testeranto/bundles/web/allTests/src/lib/BaseSuite.test/web.test.mjs +0 -440
  131. package/testeranto/bundles/web/allTests/src/lib/baseBuilder.test/baseBuilder.test.web.html +0 -19
  132. package/testeranto/bundles/web/allTests/src/lib/baseBuilder.test/baseBuilder.test.web.mjs +0 -244
  133. package/testeranto/reports/allTests/config.json +0 -104
  134. package/testeranto/reports/allTests/src/Pure.test/pure/lint_errors.txt +0 -0
  135. package/testeranto/reports/allTests/src/Pure.test/pure/message.txt +0 -2
  136. package/testeranto/reports/allTests/src/Pure.test/pure/prompt.txt +0 -13
  137. package/testeranto/reports/allTests/src/Pure.test/pure/type_errors.txt +0 -101
  138. package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/bdd_errors.txt +0 -1
  139. package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/logs.txt +0 -50
  140. package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/message.txt +0 -2
  141. package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/prompt.txt +0 -17
  142. package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/tests.json +0 -32
  143. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/bdd_errors.txt +0 -1
  144. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/lint_errors.txt +0 -0
  145. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/logs.txt +0 -52
  146. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/message.txt +0 -2
  147. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/prompt.txt +0 -13
  148. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/tests.json +0 -31
  149. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/type_errors.txt +0 -111
  150. package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/bdd_errors.txt +0 -1
  151. package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/lint_errors.txt +0 -0
  152. package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/message.txt +0 -2
  153. package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/prompt.txt +0 -14
  154. package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/tests.json +0 -31
  155. package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/type_errors.txt +0 -111
  156. package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/bdd_errors.txt +0 -1
  157. package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/lint_errors.txt +0 -0
  158. package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/logs.txt +0 -108
  159. package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/message.txt +0 -2
  160. package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/prompt.txt +0 -14
  161. package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/tests.json +0 -31
  162. package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/type_errors.txt +0 -111
  163. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/bdd_errors.txt +0 -1
  164. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/lint_errors.txt +0 -0
  165. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/logs.txt +0 -35
  166. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/message.txt +0 -2
  167. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/prompt.txt +0 -16
  168. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/tests.json +0 -77
  169. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/type_errors.txt +0 -62
  170. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/lint_errors.txt +0 -0
  171. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/message.txt +0 -2
  172. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/prompt.txt +0 -18
  173. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/type_errors.txt +0 -62
  174. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/bdd_errors.txt +0 -1
  175. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/lint_errors.txt +0 -0
  176. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/logs.txt +0 -69
  177. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/message.txt +0 -2
  178. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/prompt.txt +0 -16
  179. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/tests.json +0 -77
  180. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/type_errors.txt +0 -62
  181. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/bdd_errors.txt +0 -1
  182. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/lint_errors.txt +0 -0
  183. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/logs.txt +0 -700
  184. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/message.txt +0 -2
  185. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/prompt.txt +0 -16
  186. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/tests.json +0 -164
  187. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/type_errors.txt +0 -138
  188. package/testeranto/reports/allTests/src/lib/core.test/core.test/node/lint_errors.txt +0 -21
  189. package/testeranto/reports/allTests/src/lib/core.test/core.test/node/logs.txt +0 -7
  190. package/testeranto/reports/allTests/src/lib/core.test/core.test/node/message.txt +0 -2
  191. package/testeranto/reports/allTests/src/lib/core.test/core.test/node/prompt.txt +0 -18
  192. package/testeranto/reports/allTests/src/lib/core.test/core.test/node/type_errors.txt +0 -63
  193. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/bdd_errors.txt +0 -1
  194. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/lint_errors.txt +0 -20
  195. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/logs.txt +0 -31
  196. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/message.txt +0 -2
  197. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/prompt.txt +0 -16
  198. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/tests.json +0 -134
  199. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/type_errors.txt +0 -76
  200. package/testeranto/reports/allTests/summary.json +0 -79
  201. package/testeranto/reportsnode_build_errors +0 -20
  202. package/testeranto/reportspure_build_errors +0 -343
  203. package/testeranto/reportsweb_build_errors +0 -25
@@ -32271,7 +32271,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
32271
32271
  onClick: () => navigate(`/projects/${projectName}#${runtime}`)
32272
32272
  },
32273
32273
  "View Build Logs"
32274
- ))) : testData ? /* @__PURE__ */ import_react58.default.createElement("div", { className: "test-results" }, testData.givens.map((given, i) => /* @__PURE__ */ import_react58.default.createElement("div", { key: i, className: "mb-4 card" }, /* @__PURE__ */ import_react58.default.createElement("div", { className: "card-header bg-primary text-white" }, /* @__PURE__ */ import_react58.default.createElement("div", { className: "d-flex justify-content-between align-items-center" }, /* @__PURE__ */ import_react58.default.createElement("h4", null, "Given: ", given.name), given.artifacts?.length > 0 && /* @__PURE__ */ import_react58.default.createElement("div", { className: "dropdown" }, /* @__PURE__ */ import_react58.default.createElement(
32274
+ ))) : testData ? /* @__PURE__ */ import_react58.default.createElement("div", { className: "test-results" }, testData.givens.map((given, i) => /* @__PURE__ */ import_react58.default.createElement("div", { key: i, className: "mb-4 card" }, /* @__PURE__ */ import_react58.default.createElement("div", { className: "card-header bg-primary text-white" }, /* @__PURE__ */ import_react58.default.createElement("div", { className: "d-flex justify-content-between align-items-center" }, /* @__PURE__ */ import_react58.default.createElement("div", null, /* @__PURE__ */ import_react58.default.createElement("h4", null, "Given: ", given.name), given.features?.length > 0 && /* @__PURE__ */ import_react58.default.createElement("div", { className: "mt-1" }, /* @__PURE__ */ import_react58.default.createElement("small", null, "Features:"), /* @__PURE__ */ import_react58.default.createElement("ul", { className: "list-unstyled" }, given.features.map((feature, fi) => /* @__PURE__ */ import_react58.default.createElement("li", { key: fi }, feature.startsWith("http") ? /* @__PURE__ */ import_react58.default.createElement("a", { href: feature, target: "_blank", rel: "noopener noreferrer", className: "text-white" }, new URL(feature).hostname) : /* @__PURE__ */ import_react58.default.createElement("span", { className: "text-white" }, feature)))))), given.artifacts?.length > 0 && /* @__PURE__ */ import_react58.default.createElement("div", { className: "dropdown" }, /* @__PURE__ */ import_react58.default.createElement(
32275
32275
  "button",
32276
32276
  {
32277
32277
  className: "btn btn-sm btn-light dropdown-toggle",
@@ -32290,7 +32290,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
32290
32290
  rel: "noopener noreferrer"
32291
32291
  },
32292
32292
  artifact.split("/").pop()
32293
- ))))))), /* @__PURE__ */ import_react58.default.createElement("div", { className: "card-body" }, given.whens.map((when, j) => /* @__PURE__ */ import_react58.default.createElement("div", { key: `w-${j}`, className: `p-3 mb-2 ${when.error ? "bg-danger text-white" : "bg-success text-white"}` }, /* @__PURE__ */ import_react58.default.createElement("div", { className: "d-flex justify-content-between align-items-start" }, /* @__PURE__ */ import_react58.default.createElement("div", null, /* @__PURE__ */ import_react58.default.createElement("strong", null, "When:"), " ", when.name, when.error && /* @__PURE__ */ import_react58.default.createElement("pre", { className: "mt-2" }, when.error)), when.artifacts?.length > 0 && /* @__PURE__ */ import_react58.default.createElement("div", { className: "ms-3" }, /* @__PURE__ */ import_react58.default.createElement("strong", null, "Artifacts:"), /* @__PURE__ */ import_react58.default.createElement("ul", { className: "list-unstyled" }, when.artifacts.map((artifact, ai) => /* @__PURE__ */ import_react58.default.createElement("li", { key: ai }, /* @__PURE__ */ import_react58.default.createElement(
32293
+ ))))))), /* @__PURE__ */ import_react58.default.createElement("div", { className: "card-body" }, given.whens.map((when, j) => /* @__PURE__ */ import_react58.default.createElement("div", { key: `w-${j}`, className: `p-3 mb-2 ${when.error ? "bg-danger text-white" : "bg-success text-white"}` }, /* @__PURE__ */ import_react58.default.createElement("div", { className: "d-flex justify-content-between align-items-start" }, /* @__PURE__ */ import_react58.default.createElement("div", null, /* @__PURE__ */ import_react58.default.createElement("div", null, /* @__PURE__ */ import_react58.default.createElement("strong", null, "When:"), " ", when.name, when.features?.length > 0 && /* @__PURE__ */ import_react58.default.createElement("div", { className: "mt-2" }, /* @__PURE__ */ import_react58.default.createElement("small", null, "Features:"), /* @__PURE__ */ import_react58.default.createElement("ul", { className: "list-unstyled" }, when.features.map((feature, fi) => /* @__PURE__ */ import_react58.default.createElement("li", { key: fi }, feature.startsWith("http") ? /* @__PURE__ */ import_react58.default.createElement("a", { href: feature, target: "_blank", rel: "noopener noreferrer" }, new URL(feature).hostname) : feature)))), when.error && /* @__PURE__ */ import_react58.default.createElement("pre", { className: "mt-2" }, when.error))), when.artifacts?.length > 0 && /* @__PURE__ */ import_react58.default.createElement("div", { className: "ms-3" }, /* @__PURE__ */ import_react58.default.createElement("strong", null, "Artifacts:"), /* @__PURE__ */ import_react58.default.createElement("ul", { className: "list-unstyled" }, when.artifacts.map((artifact, ai) => /* @__PURE__ */ import_react58.default.createElement("li", { key: ai }, /* @__PURE__ */ import_react58.default.createElement(
32294
32294
  "a",
32295
32295
  {
32296
32296
  href: `/testeranto/reports/${projectName}/${testName2.split(".").slice(0, -1).join(".")}/${runtime}/${artifact}`,
@@ -32299,7 +32299,7 @@ Please change the parent <Route path="${parentPath}"> to <Route path="${parentPa
32299
32299
  rel: "noopener noreferrer"
32300
32300
  },
32301
32301
  artifact.split("/").pop()
32302
- )))))))), given.thens.map((then, k) => /* @__PURE__ */ import_react58.default.createElement("div", { key: `t-${k}`, className: `p-3 mb-2 ${then.error ? "bg-danger text-white" : "bg-success text-white"}` }, /* @__PURE__ */ import_react58.default.createElement("div", { className: "d-flex justify-content-between align-items-start" }, /* @__PURE__ */ import_react58.default.createElement("div", null, /* @__PURE__ */ import_react58.default.createElement("strong", null, "Then:"), " ", then.name, then.error && /* @__PURE__ */ import_react58.default.createElement("pre", { className: "mt-2" }, then.error)), then.artifacts?.length > 0 && /* @__PURE__ */ import_react58.default.createElement("div", { className: "ms-3" }, /* @__PURE__ */ import_react58.default.createElement("strong", null, "Artifacts:"), /* @__PURE__ */ import_react58.default.createElement("ul", { className: "list-unstyled" }, then.artifacts.map((artifact, ai) => /* @__PURE__ */ import_react58.default.createElement("li", { key: ai }, /* @__PURE__ */ import_react58.default.createElement(
32302
+ )))))))), given.thens.map((then, k) => /* @__PURE__ */ import_react58.default.createElement("div", { key: `t-${k}`, className: `p-3 mb-2 ${then.error ? "bg-danger text-white" : "bg-success text-white"}` }, /* @__PURE__ */ import_react58.default.createElement("div", { className: "d-flex justify-content-between align-items-start" }, /* @__PURE__ */ import_react58.default.createElement("div", null, /* @__PURE__ */ import_react58.default.createElement("div", null, /* @__PURE__ */ import_react58.default.createElement("strong", null, "Then:"), " ", then.name, then.features?.length > 0 && /* @__PURE__ */ import_react58.default.createElement("div", { className: "mt-2" }, /* @__PURE__ */ import_react58.default.createElement("small", null, "Features:"), /* @__PURE__ */ import_react58.default.createElement("ul", { className: "list-unstyled" }, then.features.map((feature, fi) => /* @__PURE__ */ import_react58.default.createElement("li", { key: fi }, feature.startsWith("http") ? /* @__PURE__ */ import_react58.default.createElement("a", { href: feature, target: "_blank", rel: "noopener noreferrer" }, new URL(feature).hostname) : feature)))), then.error && /* @__PURE__ */ import_react58.default.createElement("pre", { className: "mt-2" }, then.error))), then.artifacts?.length > 0 && /* @__PURE__ */ import_react58.default.createElement("div", { className: "ms-3" }, /* @__PURE__ */ import_react58.default.createElement("strong", null, "Artifacts:"), /* @__PURE__ */ import_react58.default.createElement("ul", { className: "list-unstyled" }, then.artifacts.map((artifact, ai) => /* @__PURE__ */ import_react58.default.createElement("li", { key: ai }, /* @__PURE__ */ import_react58.default.createElement(
32303
32303
  "a",
32304
32304
  {
32305
32305
  href: `/testeranto/reports/${projectName}/${testName2.split(".").slice(0, -1).join(".")}/${runtime}/${artifact}`,
@@ -1,6 +1,6 @@
1
1
  import { createRequire } from 'module';const require = createRequire(import.meta.url);
2
2
 
3
- // src/ReportServer.ts
3
+ // src/ReportServerLib.ts
4
4
  import staticServer from "node-static";
5
5
  import http from "http";
6
6
  import path from "path";
@@ -9,8 +9,8 @@ var fileServer = new staticServer.Server("./", {
9
9
  cache: false,
10
10
  headers: {
11
11
  "Cache-Control": "no-cache, no-store, must-revalidate",
12
- "Pragma": "no-cache",
13
- "Expires": "0"
12
+ Pragma: "no-cache",
13
+ Expires: "0"
14
14
  }
15
15
  });
16
16
  var server = http.createServer((req, res) => {
@@ -67,13 +67,15 @@ var server = http.createServer((req, res) => {
67
67
  <body>
68
68
  <h1>Directory: ${req.url}</h1>
69
69
  <ul>
70
- ${files.map((file) => `
70
+ ${files.map(
71
+ (file) => `
71
72
  <li>
72
73
  <a href="${path.join(req.url || "", file)}">
73
74
  ${file}${file.endsWith("/") ? "/" : ""}
74
75
  </a>
75
76
  </li>
76
- `).join("")}
77
+ `
78
+ ).join("")}
77
79
  </ul>
78
80
  </body>
79
81
  </html>
@@ -105,13 +107,23 @@ var server = http.createServer((req, res) => {
105
107
  });
106
108
  req.resume();
107
109
  });
108
- server.listen(8080, () => {
109
- console.log("Server running on http://localhost:8080");
110
- console.log("Serving files from:", process.cwd());
111
- });
112
110
  server.on("error", (err) => {
113
111
  console.error("Server error:", err);
114
112
  });
115
113
  process.on("uncaughtException", (err) => {
116
114
  console.error("Uncaught exception:", err);
117
115
  });
116
+ var start = (port) => {
117
+ if (port) {
118
+ server.listen(port, () => {
119
+ console.log(`Server running on http://localhost:${port}`);
120
+ console.log("Serving files from:", process.cwd());
121
+ });
122
+ } else {
123
+ console.log("you need to specify a port");
124
+ }
125
+ };
126
+ var ReportServerOfPort = (port) => start(port);
127
+
128
+ // src/ReportServer.ts
129
+ ReportServerOfPort(process.argv[2]);
@@ -118,7 +118,7 @@ var node_default = (config, entryPoints, testName2) => {
118
118
  ...esbuildConfigs_default(config),
119
119
  splitting: true,
120
120
  outdir: `testeranto/bundles/node/${testName2}/`,
121
- // inject: [`./node_modules/testeranto/dist/cjs-shim.js`],
121
+ inject: [`./node_modules/testeranto/dist/cjs-shim.js`],
122
122
  metafile: true,
123
123
  supported: {
124
124
  "dynamic-import": true
@@ -6,6 +6,7 @@ import readline from "readline";
6
6
 
7
7
  // src/PM/main.ts
8
8
  import { spawn } from "node:child_process";
9
+ import ansiColors from "ansi-colors";
9
10
  import net from "net";
10
11
  import fs3, { watch } from "fs";
11
12
  import path4 from "path";
@@ -245,7 +246,11 @@ var PM_Base = class {
245
246
  }
246
247
  return false;
247
248
  }
248
- async writeFileSync(filepath, contents, testName) {
249
+ async writeFileSync(...x) {
250
+ const filepath = x[0];
251
+ const contents = x[1];
252
+ const testName = x[2];
253
+ console.log("writing file", filepath);
249
254
  return new Promise(async (res) => {
250
255
  fs.mkdirSync(path2.dirname(filepath), {
251
256
  recursive: true
@@ -642,7 +647,6 @@ Fix the failing tests described in ${testPaths} and ${logPath}. Focus on the bdd
642
647
  };
643
648
 
644
649
  // src/PM/main.ts
645
- import ansiColors from "ansi-colors";
646
650
  var changes = {};
647
651
  var fileHashes = {};
648
652
  var files2 = {};
@@ -880,7 +884,12 @@ var PM_Main = class extends PM_WithEslintAndTsc {
880
884
  const child = spawn(
881
885
  "node",
882
886
  // "node",
883
- ["--inspect-brk", builtfile, testResources, ipcfile],
887
+ [
888
+ // "--inspect-brk",
889
+ builtfile,
890
+ testResources,
891
+ ipcfile
892
+ ],
884
893
  {
885
894
  stdio: ["pipe", "pipe", "pipe", "ipc"]
886
895
  }
@@ -1263,16 +1272,6 @@ var PM_Main = class extends PM_WithEslintAndTsc {
1263
1272
  browserWSEndpoint: this.browser.wsEndpoint()
1264
1273
  });
1265
1274
  const d = `${dest}?cacheBust=${Date.now()}`;
1266
- const evaluation = `
1267
-
1268
- import('${d}').then(async (x) => {
1269
-
1270
- try {
1271
- return await (await x.default).receiveTestResourceConfig(${webArgz})
1272
- } catch (e) {
1273
- console.log("web run failure", e.toString())
1274
- }
1275
- })`;
1276
1275
  const ofile = `${reportDest}/logs.txt`;
1277
1276
  const oStream = fs3.createWriteStream(ofile);
1278
1277
  this.browser.newPage().then((page) => {
@@ -1301,7 +1300,6 @@ var PM_Main = class extends PM_WithEslintAndTsc {
1301
1300
  page.close();
1302
1301
  oStream.close();
1303
1302
  });
1304
- console.log("ostream is closed");
1305
1303
  return;
1306
1304
  };
1307
1305
  page.on("pageerror", (err) => {
@@ -1328,7 +1326,6 @@ var PM_Main = class extends PM_WithEslintAndTsc {
1328
1326
  close();
1329
1327
  });
1330
1328
  page.on("console", (log) => {
1331
- console.log("console message: ", log.text());
1332
1329
  if (oStream.closed) {
1333
1330
  console.log("missed console message: ", log.text());
1334
1331
  return;
@@ -1342,12 +1339,21 @@ var PM_Main = class extends PM_WithEslintAndTsc {
1342
1339
  }
1343
1340
  });
1344
1341
  await page.goto(`file://${`${destFolder}.html`}`, {});
1345
- await page.evaluate(evaluation).then(async ({ fails, failed, features }) => {
1342
+ await page.evaluate(
1343
+ `
1344
+ import('${d}').then(async (x) => {
1345
+ try {
1346
+ return await (await x.default).receiveTestResourceConfig(${webArgz})
1347
+ } catch (e) {
1348
+ console.log("web run failure", e.toString())
1349
+ }
1350
+ })
1351
+ `
1352
+ ).then(async ({ fails, failed, features }) => {
1346
1353
  statusMessagePretty(fails, src, "web");
1347
1354
  this.bddTestIsNowDone(src, fails);
1348
- close();
1349
1355
  }).catch((e) => {
1350
- console.log(ansiC2.red(ansiC2.inverse(e)));
1356
+ console.log(ansiC2.red(ansiC2.inverse(e.stack)));
1351
1357
  console.log(
1352
1358
  ansiC2.red(
1353
1359
  ansiC2.inverse(
@@ -1357,6 +1363,7 @@ var PM_Main = class extends PM_WithEslintAndTsc {
1357
1363
  );
1358
1364
  this.bddTestIsNowDone(src, -1);
1359
1365
  }).finally(() => {
1366
+ close();
1360
1367
  });
1361
1368
  return page;
1362
1369
  });
@@ -1554,9 +1561,9 @@ var PM_Main = class extends PM_WithEslintAndTsc {
1554
1561
  slowMo: 1,
1555
1562
  waitForInitialPage: false,
1556
1563
  executablePath,
1557
- headless: false,
1564
+ headless: true,
1558
1565
  dumpio: false,
1559
- devtools: true,
1566
+ devtools: false,
1560
1567
  args: [
1561
1568
  "--disable-features=site-per-process",
1562
1569
  "--allow-file-access-from-files",
@@ -19,7 +19,7 @@ export declare abstract class PM_Base {
19
19
  end(uid: number): Promise<boolean>;
20
20
  existsSync(destFolder: string): boolean;
21
21
  mkdirSync(fp: string): Promise<string | false | undefined>;
22
- writeFileSync(filepath: string, contents: string, testName: string): Promise<boolean>;
22
+ writeFileSync(...x: any[]): Promise<boolean>;
23
23
  createWriteStream(filepath: string, testName: string): Promise<number>;
24
24
  testArtiFactoryfileWriter(tLog: ITLog, callback: (Promise: any) => void): (fPath: any, value: string | Buffer | PassThrough) => void;
25
25
  write(uid: number, contents: string): Promise<boolean>;
@@ -31,7 +31,7 @@ export declare class PM_Node extends PM {
31
31
  existsSync(destFolder: string): Promise<boolean>;
32
32
  mkdirSync(): Promise<unknown>;
33
33
  write(uid: number, contents: string): Promise<boolean>;
34
- writeFileSync(filepath: string, contents: string): Promise<boolean>;
34
+ writeFileSync(x: any): Promise<boolean>;
35
35
  createWriteStream(filepath: string): Promise<string>;
36
36
  end(uid: any): Promise<boolean>;
37
37
  customclose(): Promise<unknown>;
@@ -31,7 +31,7 @@ export declare class PM_Pure extends PM {
31
31
  existsSync(destFolder: string): Promise<boolean>;
32
32
  mkdirSync(): any;
33
33
  write(uid: number, contents: string): any;
34
- writeFileSync(filepath: string, contents: string): any;
34
+ writeFileSync(x: any): any;
35
35
  createWriteStream(filepath: string): any;
36
36
  end(uid: number): any;
37
37
  customclose(): void;
@@ -35,7 +35,7 @@ export declare class PM_Web extends PM {
35
35
  existsSync(destFolder: string): Promise<boolean>;
36
36
  mkdirSync(x: any): any;
37
37
  write(uid: number, contents: string): Promise<boolean>;
38
- writeFileSync(filepath: string, contents: string): any;
38
+ writeFileSync(x: any): any;
39
39
  createWriteStream(filepath: string): any;
40
40
  end(uid: number): Promise<boolean>;
41
41
  customclose(): void;
@@ -0,0 +1,29 @@
1
+ import { IncomingMessage, Server, ServerResponse } from "http";
2
+ import { Ibdd_in, Ibdd_out } from "../CoreTypes";
3
+ import { PM_Node } from "../PM/node";
4
+ type O = Ibdd_out<{
5
+ Default: [];
6
+ }, {
7
+ "the http server which is used in development": [];
8
+ }, {}, {
9
+ "the frontpage looks good": [];
10
+ "the projects page looks good": [];
11
+ "a project page looks good": [];
12
+ "a test page looks good": [];
13
+ }>;
14
+ type I = Ibdd_in<(port: number) => Server<typeof IncomingMessage, typeof ServerResponse>, number, Server<typeof IncomingMessage, typeof ServerResponse>, number, Server<typeof IncomingMessage, typeof ServerResponse>, Server<typeof IncomingMessage, typeof ServerResponse>, Server<typeof IncomingMessage, typeof ServerResponse>>;
15
+ type M = {
16
+ givens: {
17
+ [K in keyof O["givens"]]: (...args: any[]) => IProjectPageViewProps;
18
+ };
19
+ whens: {
20
+ [K in keyof O["whens"]]: (...args: any[]) => (props: IProjectPageViewProps, utils: any) => IProjectPageViewProps & {
21
+ container?: HTMLElement;
22
+ };
23
+ };
24
+ thens: {
25
+ [K in keyof O["thens"]]: (port: number, pm: PM_Node) => void;
26
+ };
27
+ };
28
+ declare const _default: Promise<import("../lib/core").default<I, O, M>>;
29
+ export default _default;
@@ -0,0 +1 @@
1
+ export declare const ReportServerOfPort: (port: number) => void;
@@ -112,5 +112,4 @@ export type IBuiltConfig = {
112
112
  } & ITestconfig;
113
113
  export type IProject = {
114
114
  projects: Record<string, ITestconfig>;
115
- reportDomain: string;
116
115
  };
@@ -1,2 +1,3 @@
1
- declare const _default: any;
1
+ import { I, O } from "./types";
2
+ declare const _default: Promise<import("../../../lib/core").default<import("testeranto-react/src/react-dom/component/dynamic").I, I, O>>;
2
3
  export default _default;
@@ -10,6 +10,8 @@ export declare abstract class BaseSuite<I extends Ibdd_in_any, O extends Ibdd_ou
10
10
  index: number;
11
11
  failed: boolean;
12
12
  fails: number;
13
+ artifacts: string[];
14
+ addArtifact(path: string): void;
13
15
  constructor(name: string, index: number, givens?: IGivens<I>);
14
16
  features(): string[];
15
17
  toObj(): {
@@ -1,6 +1,6 @@
1
+ import type { Ibdd_in_any } from "../CoreTypes";
1
2
  import { ITestArtifactory, ITLog, ITTestResourceConfiguration } from ".";
2
3
  import { IPM } from "./types.js";
3
- import type { Ibdd_in_any } from "../CoreTypes";
4
4
  export type IGivens<I extends Ibdd_in_any> = Record<string, BaseGiven<I>>;
5
5
  export declare abstract class BaseGiven<I extends Ibdd_in_any> {
6
6
  name: string;
@@ -16,7 +16,7 @@ export declare abstract class BaseGiven<I extends Ibdd_in_any> {
16
16
  key: string;
17
17
  failed: boolean;
18
18
  artifacts: string[];
19
- protected addArtifact(path: string): void;
19
+ addArtifact(path: string): void;
20
20
  constructor(name: string, features: string[], whens: BaseWhen<I>[], thens: BaseThen<I>[], givenCB: I["given"], initialValues: any);
21
21
  beforeAll(store: I["istore"]): I["istore"];
22
22
  toObj(): {
@@ -43,16 +43,13 @@ export declare abstract class BaseWhen<I extends Ibdd_in_any> {
43
43
  whenCB: (x: I["iselection"]) => I["then"];
44
44
  error: Error;
45
45
  artifacts: string[];
46
+ addArtifact(path: string): void;
46
47
  constructor(name: string, whenCB: (xyz: I["iselection"]) => I["then"]);
47
48
  abstract andWhen(store: I["istore"], whenCB: (x: I["iselection"]) => I["then"], testResource: any, pm: IPM): Promise<any>;
48
49
  toObj(): {
49
50
  name: string;
50
- error: string;
51
- artifacts: string[];
52
- } | {
53
- name: string;
51
+ error: string | null;
54
52
  artifacts: string[];
55
- error?: undefined;
56
53
  };
57
54
  test(store: I["istore"], testResourceConfiguration: any, tLog: ITLog, pm: IPM, filepath: string): Promise<any>;
58
55
  }
@@ -62,6 +59,7 @@ export declare abstract class BaseThen<I extends Ibdd_in_any> {
62
59
  error: boolean;
63
60
  artifacts: string[];
64
61
  constructor(name: string, thenCB: (val: I["iselection"]) => Promise<I["then"]>);
62
+ addArtifact(path: string): void;
65
63
  toObj(): {
66
64
  name: string;
67
65
  error: boolean;
@@ -10,10 +10,13 @@ BaseBuilder<any, any, any, any, any, any>, // iselection
10
10
  export type O = Ibdd_out<{
11
11
  Default: [string];
12
12
  }, {
13
- Default: [];
13
+ "the default BaseBuilder": [];
14
+ "a BaseBuilder with TestInput": [];
15
+ "a BaseBuilder with Test Resource Requirements": [];
14
16
  }, {}, // No whens in these tests
15
17
  {
16
- initializedProperly: [];
17
- specsGenerated: [];
18
- jobsCreated: [];
18
+ "it is initialized": [];
19
+ "it generates TestSpecifications": [];
20
+ "it creates jobs": [];
21
+ "it tracks artifacts": [];
19
22
  }>;
@@ -1,8 +1,8 @@
1
1
  import { IPM } from "./types";
2
2
  export type IProxyBase = (pm: IPM, mappings: [string, (...x: any) => any][]) => IPM;
3
- export type IProxy = (pm: IPM, filepath: string) => IPM;
4
- export type IProxyAfterEach = (pm: IPM, suite: string, given: string) => IPM;
5
- export type IProxyBeforeEach = (pm: IPM, suite: string) => IPM;
3
+ export type IProxy = (pm: IPM, filepath: string, step: any) => IPM;
4
+ export type IProxyAfterEach = (pm: IPM, suite: string, given: string, step: any) => IPM;
5
+ export type IProxyBeforeEach = (pm: IPM, suite: string, step: any) => IPM;
6
6
  export type IProxiedFunctions = "screencast" | "createWriteStream" | "writeFileSync" | "customScreenShot";
7
7
  export declare const butThenProxy: IProxy;
8
8
  export declare const andWhenProxy: IProxy;