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.
- package/README.md +2 -4
- package/dist/common/src/PM/base.js +5 -1
- package/dist/common/src/PM/main.js +57 -54
- package/dist/common/src/PM/node.js +4 -1
- package/dist/common/src/PM/pure.js +4 -1
- package/dist/common/src/PM/web.js +6 -3
- package/dist/common/src/Pure.js +0 -4
- package/dist/common/src/Pure.test.js +1 -1
- package/dist/common/src/ReportServer.js +2 -126
- package/dist/common/src/ReportServer.test.ts/index.js +78 -0
- package/dist/common/src/ReportServerLib.js +141 -0
- package/dist/common/src/components/pure/ProjectPageView.test/implementation.js +1 -1
- package/dist/common/src/esbuildConfigs/node.js +1 -3
- package/dist/common/src/lib/BaseSuite.js +13 -11
- package/dist/common/src/lib/abstractBase.js +39 -40
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +10 -9
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.specification.js +7 -7
- package/dist/common/src/lib/basebuilder.js +13 -2
- package/dist/common/src/lib/core.js +1 -0
- package/dist/common/src/lib/pmProxy.js +215 -201
- package/dist/common/src/lib/pmProxy.test/adapter.js +2 -2
- package/dist/common/src/lib/pmProxy.test/implementation.js +1 -1
- package/dist/common/testeranto.config.js +47 -32
- package/dist/common/tsconfig.common.tsbuildinfo +1 -1
- package/dist/module/src/PM/base.js +5 -1
- package/dist/module/src/PM/main.js +22 -19
- package/dist/module/src/PM/node.js +4 -1
- package/dist/module/src/PM/pure.js +4 -1
- package/dist/module/src/PM/web.js +6 -3
- package/dist/module/src/Pure.js +0 -4
- package/dist/module/src/Pure.test.js +1 -1
- package/dist/module/src/ReportServer.js +2 -123
- package/dist/module/src/ReportServer.test.ts/index.js +73 -0
- package/dist/module/src/ReportServerLib.js +134 -0
- package/dist/module/src/TestPage.js +29 -17
- package/dist/module/src/components/pure/ProjectPageView.test/implementation.js +1 -1
- package/dist/module/src/components/pure/TestPageView.js +29 -17
- package/dist/module/src/esbuildConfigs/node.js +1 -3
- package/dist/module/src/lib/BaseSuite.js +13 -11
- package/dist/module/src/lib/abstractBase.js +39 -40
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +10 -9
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.specification.js +7 -7
- package/dist/module/src/lib/basebuilder.js +13 -2
- package/dist/module/src/lib/core.js +1 -0
- package/dist/module/src/lib/pmProxy.js +215 -201
- package/dist/module/src/lib/pmProxy.test/adapter.js +2 -2
- package/dist/module/src/lib/pmProxy.test/implementation.js +1 -1
- package/dist/module/testeranto.config.js +47 -32
- package/dist/module/tsconfig.module.tsbuildinfo +1 -1
- package/dist/prebuild/App.js +3 -3
- package/dist/prebuild/ReportServer.mjs +21 -9
- package/dist/prebuild/build.mjs +1 -1
- package/dist/prebuild/run.mjs +27 -20
- package/dist/types/src/PM/base.d.ts +1 -1
- package/dist/types/src/PM/node.d.ts +1 -1
- package/dist/types/src/PM/pure.d.ts +1 -1
- package/dist/types/src/PM/web.d.ts +1 -1
- package/dist/types/src/ReportServer.test.ts/index.d.ts +29 -0
- package/dist/types/src/ReportServerLib.d.ts +1 -0
- package/dist/types/src/Types.d.ts +0 -1
- package/dist/types/src/components/pure/ProjectPageView.test/index.d.ts +2 -1
- package/dist/types/src/lib/BaseSuite.d.ts +2 -0
- package/dist/types/src/lib/abstractBase.d.ts +5 -7
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.types.d.ts +7 -4
- package/dist/types/src/lib/pmProxy.d.ts +3 -3
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/PM/base.ts +7 -5
- package/src/PM/main.ts +26 -21
- package/src/PM/node.ts +6 -1
- package/src/PM/pure.ts +6 -1
- package/src/PM/web.ts +7 -3
- package/src/Pure.test.ts +6 -6
- package/src/Pure.ts +0 -8
- package/src/ReportServer.test.ts/index.ts +194 -0
- package/src/ReportServer.ts +2 -132
- package/src/ReportServerLib.ts +147 -0
- package/src/TestPage.tsx +65 -5
- package/src/Types.ts +0 -1
- package/src/components/pure/ProjectPageView.test/implementation.tsx +1 -1
- package/src/components/pure/TestPageView.tsx +65 -5
- package/src/esbuildConfigs/node.ts +1 -1
- package/src/lib/BaseSuite.ts +16 -21
- package/src/lib/abstractBase.ts +59 -48
- package/src/lib/baseBuilder.test/baseBuilder.test.implementation.ts +22 -10
- package/src/lib/baseBuilder.test/baseBuilder.test.specification.ts +9 -9
- package/src/lib/baseBuilder.test/baseBuilder.test.types.ts +7 -4
- package/src/lib/basebuilder.ts +13 -4
- package/src/lib/core.ts +1 -0
- package/src/lib/pmProxy.test/adapter.ts +2 -2
- package/src/lib/pmProxy.test/implementation.ts +3 -3
- package/src/lib/pmProxy.test/types.ts +0 -2
- package/src/lib/pmProxy.ts +135 -80
- package/testeranto/App.js +3 -3
- package/testeranto/bundles/node/core/metafile.json +8 -0
- package/testeranto/bundles/pure/core/metafile.json +8 -0
- package/testeranto/bundles/web/core/metafile.json +15086 -0
- package/testeranto/bundles/web/{allTests → core}/src/components/pure/ProjectPageView.test/index.html +1 -1
- package/testeranto/bundles/web/{allTests → core}/src/components/pure/ProjectPageView.test/index.mjs +4109 -1642
- package/testeranto/projects.json +1 -1
- package/testeranto/reports/core/config.json +24 -0
- package/testeranto/reports/{allTests → core}/src/components/pure/ProjectPageView.test/index/web/lint_errors.txt +6 -1
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/logs.txt +59 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/message.txt +2 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/prompt.txt +27 -0
- package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/suite-0/given-basicRender/then-0/butThen/happyPath.png +0 -0
- package/testeranto/reports/{allTests → core}/src/components/pure/ProjectPageView.test/index/web/type_errors.txt +15 -33
- package/testeranto/reports/core/summary.json +9 -0
- package/testeranto.config.ts +49 -32
- package/tsc.log +78 -92
- package/testeranto/bundles/node/allTests/chunk-3EUGBAOM.mjs +0 -113
- package/testeranto/bundles/node/allTests/chunk-E75CSRER.mjs +0 -800
- package/testeranto/bundles/node/allTests/chunk-M6DO7VMB.mjs +0 -252
- package/testeranto/bundles/node/allTests/metafile.json +0 -1229
- package/testeranto/bundles/node/allTests/src/lib/BaseSuite.test/node.test.mjs +0 -323
- package/testeranto/bundles/node/allTests/src/lib/baseBuilder.test/baseBuilder.test.node.mjs +0 -223
- package/testeranto/bundles/node/allTests/src/lib/classBuilder.test/classBuilder.test.mjs +0 -411
- package/testeranto/bundles/node/allTests/src/lib/core.test/core.test.mjs +0 -528
- package/testeranto/bundles/node/allTests/src/lib/pmProxy.test/index.mjs +0 -4752
- package/testeranto/bundles/pure/allTests/chunk-KHDVEHF7.mjs +0 -185
- package/testeranto/bundles/pure/allTests/chunk-VMUSFSZM.mjs +0 -797
- package/testeranto/bundles/pure/allTests/metafile.json +0 -1054
- package/testeranto/bundles/pure/allTests/src/Pure.test.mjs +0 -429
- package/testeranto/bundles/pure/allTests/src/lib/BaseSuite.test/pure.test.mjs +0 -425
- package/testeranto/bundles/pure/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure.mjs +0 -381
- package/testeranto/bundles/web/allTests/chunk-HPYA4YZC.mjs +0 -2283
- package/testeranto/bundles/web/allTests/chunk-U7AW26HL.mjs +0 -997
- package/testeranto/bundles/web/allTests/metafile.json +0 -25
- package/testeranto/bundles/web/allTests/src/lib/BaseSuite.test/web.test.html +0 -19
- package/testeranto/bundles/web/allTests/src/lib/BaseSuite.test/web.test.mjs +0 -440
- package/testeranto/bundles/web/allTests/src/lib/baseBuilder.test/baseBuilder.test.web.html +0 -19
- package/testeranto/bundles/web/allTests/src/lib/baseBuilder.test/baseBuilder.test.web.mjs +0 -244
- package/testeranto/reports/allTests/config.json +0 -104
- package/testeranto/reports/allTests/src/Pure.test/pure/lint_errors.txt +0 -0
- package/testeranto/reports/allTests/src/Pure.test/pure/message.txt +0 -2
- package/testeranto/reports/allTests/src/Pure.test/pure/prompt.txt +0 -13
- package/testeranto/reports/allTests/src/Pure.test/pure/type_errors.txt +0 -101
- package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/bdd_errors.txt +0 -1
- package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/logs.txt +0 -50
- package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/message.txt +0 -2
- package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/prompt.txt +0 -17
- package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/tests.json +0 -32
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/bdd_errors.txt +0 -1
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/lint_errors.txt +0 -0
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/logs.txt +0 -52
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/message.txt +0 -2
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/prompt.txt +0 -13
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/tests.json +0 -31
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/type_errors.txt +0 -111
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/bdd_errors.txt +0 -1
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/lint_errors.txt +0 -0
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/message.txt +0 -2
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/prompt.txt +0 -14
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/tests.json +0 -31
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/type_errors.txt +0 -111
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/bdd_errors.txt +0 -1
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/lint_errors.txt +0 -0
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/logs.txt +0 -108
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/message.txt +0 -2
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/prompt.txt +0 -14
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/tests.json +0 -31
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/type_errors.txt +0 -111
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/bdd_errors.txt +0 -1
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/lint_errors.txt +0 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/logs.txt +0 -35
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/message.txt +0 -2
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/prompt.txt +0 -16
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/tests.json +0 -77
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/type_errors.txt +0 -62
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/lint_errors.txt +0 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/message.txt +0 -2
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/prompt.txt +0 -18
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/type_errors.txt +0 -62
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/bdd_errors.txt +0 -1
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/lint_errors.txt +0 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/logs.txt +0 -69
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/message.txt +0 -2
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/prompt.txt +0 -16
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/tests.json +0 -77
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/type_errors.txt +0 -62
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/bdd_errors.txt +0 -1
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/lint_errors.txt +0 -0
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/logs.txt +0 -700
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/message.txt +0 -2
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/prompt.txt +0 -16
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/tests.json +0 -164
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/type_errors.txt +0 -138
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/lint_errors.txt +0 -21
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/logs.txt +0 -7
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/message.txt +0 -2
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/prompt.txt +0 -18
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/type_errors.txt +0 -63
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/bdd_errors.txt +0 -1
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/lint_errors.txt +0 -20
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/logs.txt +0 -31
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/message.txt +0 -2
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/prompt.txt +0 -16
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/tests.json +0 -134
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/type_errors.txt +0 -76
- package/testeranto/reports/allTests/summary.json +0 -79
- package/testeranto/reportsnode_build_errors +0 -20
- package/testeranto/reportspure_build_errors +0 -343
- package/testeranto/reportsweb_build_errors +0 -25
package/dist/prebuild/App.js
CHANGED
|
@@ -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/
|
|
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
|
-
|
|
13
|
-
|
|
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(
|
|
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
|
-
`
|
|
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]);
|
package/dist/prebuild/build.mjs
CHANGED
|
@@ -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
|
-
|
|
121
|
+
inject: [`./node_modules/testeranto/dist/cjs-shim.js`],
|
|
122
122
|
metafile: true,
|
|
123
123
|
supported: {
|
|
124
124
|
"dynamic-import": true
|
package/dist/prebuild/run.mjs
CHANGED
|
@@ -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(
|
|
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
|
-
[
|
|
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(
|
|
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:
|
|
1564
|
+
headless: true,
|
|
1558
1565
|
dumpio: false,
|
|
1559
|
-
devtools:
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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;
|
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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;
|