testeranto 0.171.0 → 0.173.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 +4 -0
- package/dist/common/src/PM/main.js +11 -4
- package/dist/common/src/PM/node.js +1 -1
- package/dist/common/src/PM/web.js +3 -3
- 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 +135 -0
- package/dist/common/src/components/pure/ProjectPageView.test/implementation.js +1 -1
- package/dist/common/src/lib/abstractBase.js +2 -0
- 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 +8 -2
- package/dist/common/src/lib/pmProxy.js +54 -150
- package/dist/common/testeranto.config.js +35 -20
- package/dist/common/tsconfig.common.tsbuildinfo +1 -1
- package/dist/module/src/PM/base.js +4 -0
- package/dist/module/src/PM/main.js +11 -4
- package/dist/module/src/PM/node.js +1 -1
- package/dist/module/src/PM/web.js +3 -3
- 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 +128 -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/lib/abstractBase.js +2 -0
- 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 +8 -2
- package/dist/module/src/lib/pmProxy.js +54 -150
- package/dist/module/testeranto.config.js +35 -20
- package/dist/module/tsconfig.module.tsbuildinfo +1 -1
- package/dist/prebuild/App.css +13 -9
- package/dist/prebuild/App.js +102 -99
- package/dist/prebuild/ReportServer.mjs +15 -9
- package/dist/prebuild/run.mjs +14 -4
- package/dist/types/src/PM/node.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 +2 -0
- package/dist/types/src/Types.d.ts +0 -1
- package/dist/types/src/components/pure/ProjectPageView.test/index.d.ts +1 -1
- package/dist/types/src/lib/abstractBase.d.ts +1 -1
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.types.d.ts +7 -4
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/package.json +6 -5
- package/src/PM/base.ts +5 -0
- package/src/PM/main.ts +12 -4
- package/src/PM/node.ts +1 -1
- package/src/PM/web.ts +3 -3
- package/src/ReportServer.test.ts/index.ts +194 -0
- package/src/ReportServer.ts +2 -132
- package/src/ReportServerLib.ts +144 -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/lib/abstractBase.ts +4 -1
- 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 +7 -4
- package/src/lib/pmProxy.ts +78 -155
- package/testeranto/App.css +13 -9
- package/testeranto/App.js +102 -99
- package/testeranto/bundles/node/allTests/metafile.json +38 -781
- package/testeranto/bundles/node/allTests/src/lib/baseBuilder.test/baseBuilder.test.node.mjs +983 -24
- package/testeranto/bundles/node/core/metafile.json +486 -0
- package/testeranto/bundles/{pure/allTests/chunk-VMUSFSZM.mjs → node/core/src/lib/baseBuilder.test/baseBuilder.test.node.mjs} +797 -412
- package/testeranto/bundles/node/staticSite/metafile.json +593 -0
- package/testeranto/bundles/node/staticSite/src/ReportServer.test.ts/index.mjs +1594 -0
- package/testeranto/bundles/pure/allTests/metafile.json +157 -585
- package/testeranto/bundles/pure/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure.mjs +740 -27
- package/testeranto/bundles/pure/core/metafile.json +626 -0
- package/testeranto/bundles/{web/allTests/chunk-U7AW26HL.mjs → pure/core/src/lib/baseBuilder.test/baseBuilder.test.pure.mjs} +507 -410
- package/testeranto/bundles/pure/staticSite/metafile.json +8 -0
- package/testeranto/bundles/web/allTests/metafile.json +107 -15292
- package/testeranto/bundles/web/allTests/src/lib/baseBuilder.test/baseBuilder.test.web.mjs +893 -45
- package/testeranto/bundles/web/core/metafile.json +780 -0
- package/testeranto/bundles/web/core/src/lib/baseBuilder.test/baseBuilder.test.web.html +19 -0
- package/testeranto/bundles/web/{allTests/chunk-RLDR6LJN.mjs → core/src/lib/baseBuilder.test/baseBuilder.test.web.mjs} +580 -518
- package/testeranto/bundles/web/staticSite/metafile.json +8 -0
- package/testeranto/projects.json +2 -1
- package/testeranto/reports/allTests/config.json +0 -64
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/lint_errors.txt +2 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/logs.txt +11 -13
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/prompt.txt +10 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/suite-0/given-testInitialization/then-0/butThen/hello.txt +1 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/tests.json +10 -18
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/type_errors.txt +25 -13
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/lint_errors.txt +2 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/prompt.txt +8 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/type_errors.txt +24 -12
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/lint_errors.txt +2 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/logs.txt +49 -55
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/prompt.txt +12 -2
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/suite-0/given-testInitialization/then-0/butThen/hello.txt +1 -0
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/tests.json +10 -18
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/type_errors.txt +24 -12
- package/testeranto/reports/allTests/summary.json +6 -62
- package/testeranto/reports/core/config.json +24 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/lint_errors.txt +2 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/logs.txt +32 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/message.txt +2 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/prompt.txt +26 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/suite-0/given-testInitialization/then-0/butThen/hello.txt +1 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/tests.json +69 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/type_errors.txt +74 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/lint_errors.txt +2 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/message.txt +2 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/prompt.txt +26 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/type_errors.txt +74 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/lint_errors.txt +2 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/logs.txt +61 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/message.txt +2 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/prompt.txt +26 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/suite-0/given-testInitialization/then-0/butThen/hello.txt +1 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/tests.json +69 -0
- package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/type_errors.txt +74 -0
- package/testeranto/reports/core/summary.json +23 -0
- package/testeranto/reports/staticSite/config.json +24 -0
- package/testeranto/reports/staticSite/src/ReportServer.test.ts/index/node/lint_errors.txt +5 -0
- package/testeranto/reports/staticSite/src/ReportServer.test.ts/index/node/logs.txt +44 -0
- package/testeranto/reports/staticSite/src/ReportServer.test.ts/index/node/message.txt +2 -0
- package/testeranto/reports/staticSite/src/ReportServer.test.ts/index/node/prompt.txt +23 -0
- package/testeranto/reports/{allTests/src/lib/core.test/core.test → staticSite/src/ReportServer.test.ts/index}/node/type_errors.txt +21 -32
- package/testeranto/reports/staticSite/summary.json +9 -0
- package/testeranto/reportsnode_build_errors +17 -0
- package/testeranto.config.ts +37 -20
- 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/src/lib/BaseSuite.test/node.test.mjs +0 -323
- 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 -4650
- package/testeranto/bundles/pure/allTests/chunk-KHDVEHF7.mjs +0 -185
- 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/web/allTests/chunk-HPYA4YZC.mjs +0 -2283
- package/testeranto/bundles/web/allTests/src/components/pure/ProjectPageView.test/index.html +0 -19
- package/testeranto/bundles/web/allTests/src/components/pure/ProjectPageView.test/index.mjs +0 -37524
- 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/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/lint_errors.txt +0 -13
- 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/components/pure/ProjectPageView.test/index/web/type_errors.txt +0 -68
- 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/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/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/reportsweb_build_errors +0 -25
- /package/testeranto/reports/{allTests/src/components/pure/ProjectPageView.test/index/web → core/src/lib/baseBuilder.test/baseBuilder.test.node/node}/bdd_errors.txt +0 -0
- /package/testeranto/reports/{allTests/src/lib/BaseSuite.test/node.test/node → core/src/lib/baseBuilder.test/baseBuilder.test.web/web}/bdd_errors.txt +0 -0
package/src/TestPage.tsx
CHANGED
|
@@ -254,7 +254,27 @@ export const TestPage = () => {
|
|
|
254
254
|
<div key={i} className="mb-4 card">
|
|
255
255
|
<div className="card-header bg-primary text-white">
|
|
256
256
|
<div className="d-flex justify-content-between align-items-center">
|
|
257
|
-
<
|
|
257
|
+
<div>
|
|
258
|
+
<h4>Given: {given.name}</h4>
|
|
259
|
+
{given.features?.length > 0 && (
|
|
260
|
+
<div className="mt-1">
|
|
261
|
+
<small>Features:</small>
|
|
262
|
+
<ul className="list-unstyled">
|
|
263
|
+
{given.features.map((feature, fi) => (
|
|
264
|
+
<li key={fi}>
|
|
265
|
+
{feature.startsWith('http') ? (
|
|
266
|
+
<a href={feature} target="_blank" rel="noopener noreferrer" className="text-white">
|
|
267
|
+
{new URL(feature).hostname}
|
|
268
|
+
</a>
|
|
269
|
+
) : (
|
|
270
|
+
<span className="text-white">{feature}</span>
|
|
271
|
+
)}
|
|
272
|
+
</li>
|
|
273
|
+
))}
|
|
274
|
+
</ul>
|
|
275
|
+
</div>
|
|
276
|
+
)}
|
|
277
|
+
</div>
|
|
258
278
|
{given.artifacts?.length > 0 && (
|
|
259
279
|
<div className="dropdown">
|
|
260
280
|
<button
|
|
@@ -287,8 +307,28 @@ export const TestPage = () => {
|
|
|
287
307
|
<div key={`w-${j}`} className={`p-3 mb-2 ${when.error ? 'bg-danger text-white' : 'bg-success text-white'}`}>
|
|
288
308
|
<div className="d-flex justify-content-between align-items-start">
|
|
289
309
|
<div>
|
|
290
|
-
<
|
|
291
|
-
|
|
310
|
+
<div>
|
|
311
|
+
<strong>When:</strong> {when.name}
|
|
312
|
+
{when.features?.length > 0 && (
|
|
313
|
+
<div className="mt-2">
|
|
314
|
+
<small>Features:</small>
|
|
315
|
+
<ul className="list-unstyled">
|
|
316
|
+
{when.features.map((feature, fi) => (
|
|
317
|
+
<li key={fi}>
|
|
318
|
+
{feature.startsWith('http') ? (
|
|
319
|
+
<a href={feature} target="_blank" rel="noopener noreferrer">
|
|
320
|
+
{new URL(feature).hostname}
|
|
321
|
+
</a>
|
|
322
|
+
) : (
|
|
323
|
+
feature
|
|
324
|
+
)}
|
|
325
|
+
</li>
|
|
326
|
+
))}
|
|
327
|
+
</ul>
|
|
328
|
+
</div>
|
|
329
|
+
)}
|
|
330
|
+
{when.error && <pre className="mt-2">{when.error}</pre>}
|
|
331
|
+
</div>
|
|
292
332
|
</div>
|
|
293
333
|
{when.artifacts?.length > 0 && (
|
|
294
334
|
<div className="ms-3">
|
|
@@ -316,8 +356,28 @@ export const TestPage = () => {
|
|
|
316
356
|
<div key={`t-${k}`} className={`p-3 mb-2 ${then.error ? 'bg-danger text-white' : 'bg-success text-white'}`}>
|
|
317
357
|
<div className="d-flex justify-content-between align-items-start">
|
|
318
358
|
<div>
|
|
319
|
-
<
|
|
320
|
-
|
|
359
|
+
<div>
|
|
360
|
+
<strong>Then:</strong> {then.name}
|
|
361
|
+
{then.features?.length > 0 && (
|
|
362
|
+
<div className="mt-2">
|
|
363
|
+
<small>Features:</small>
|
|
364
|
+
<ul className="list-unstyled">
|
|
365
|
+
{then.features.map((feature, fi) => (
|
|
366
|
+
<li key={fi}>
|
|
367
|
+
{feature.startsWith('http') ? (
|
|
368
|
+
<a href={feature} target="_blank" rel="noopener noreferrer">
|
|
369
|
+
{new URL(feature).hostname}
|
|
370
|
+
</a>
|
|
371
|
+
) : (
|
|
372
|
+
feature
|
|
373
|
+
)}
|
|
374
|
+
</li>
|
|
375
|
+
))}
|
|
376
|
+
</ul>
|
|
377
|
+
</div>
|
|
378
|
+
)}
|
|
379
|
+
{then.error && <pre className="mt-2">{then.error}</pre>}
|
|
380
|
+
</div>
|
|
321
381
|
</div>
|
|
322
382
|
{then.artifacts?.length > 0 && (
|
|
323
383
|
<div className="ms-3">
|
package/src/Types.ts
CHANGED
|
@@ -44,7 +44,7 @@ export const implementation: ITestImplementation<I, O, M> = {
|
|
|
44
44
|
() =>
|
|
45
45
|
async ({ container, html }, pm) => {
|
|
46
46
|
console.group('[Test] Verifying render output');
|
|
47
|
-
debugger
|
|
47
|
+
// debugger
|
|
48
48
|
const p = await pm.page();
|
|
49
49
|
await pm.customScreenShot({ path: "happyPath.png" }, p);
|
|
50
50
|
|
|
@@ -125,7 +125,27 @@ export const TestPageView = ({
|
|
|
125
125
|
<div key={i} className="mb-4 card">
|
|
126
126
|
<div className="card-header bg-primary text-white">
|
|
127
127
|
<div className="d-flex justify-content-between align-items-center">
|
|
128
|
-
<
|
|
128
|
+
<div>
|
|
129
|
+
<h4>Given: {given.name}</h4>
|
|
130
|
+
{given.features?.length > 0 && (
|
|
131
|
+
<div className="mt-1">
|
|
132
|
+
<small>Features:</small>
|
|
133
|
+
<ul className="list-unstyled">
|
|
134
|
+
{given.features.map((feature, fi) => (
|
|
135
|
+
<li key={fi}>
|
|
136
|
+
{feature.startsWith('http') ? (
|
|
137
|
+
<a href={feature} target="_blank" rel="noopener noreferrer" className="text-white">
|
|
138
|
+
{new URL(feature).hostname}
|
|
139
|
+
</a>
|
|
140
|
+
) : (
|
|
141
|
+
<span className="text-white">{feature}</span>
|
|
142
|
+
)}
|
|
143
|
+
</li>
|
|
144
|
+
))}
|
|
145
|
+
</ul>
|
|
146
|
+
</div>
|
|
147
|
+
)}
|
|
148
|
+
</div>
|
|
129
149
|
{given.artifacts?.length > 0 && (
|
|
130
150
|
<div className="dropdown">
|
|
131
151
|
<button
|
|
@@ -158,8 +178,28 @@ export const TestPageView = ({
|
|
|
158
178
|
<div key={`w-${j}`} className={`p-3 mb-2 ${when.error ? 'bg-danger text-white' : 'bg-success text-white'}`}>
|
|
159
179
|
<div className="d-flex justify-content-between align-items-start">
|
|
160
180
|
<div>
|
|
161
|
-
<
|
|
162
|
-
|
|
181
|
+
<div>
|
|
182
|
+
<strong>When:</strong> {when.name}
|
|
183
|
+
{when.features?.length > 0 && (
|
|
184
|
+
<div className="mt-2">
|
|
185
|
+
<small>Features:</small>
|
|
186
|
+
<ul className="list-unstyled">
|
|
187
|
+
{when.features.map((feature, fi) => (
|
|
188
|
+
<li key={fi}>
|
|
189
|
+
{feature.startsWith('http') ? (
|
|
190
|
+
<a href={feature} target="_blank" rel="noopener noreferrer">
|
|
191
|
+
{new URL(feature).hostname}
|
|
192
|
+
</a>
|
|
193
|
+
) : (
|
|
194
|
+
feature
|
|
195
|
+
)}
|
|
196
|
+
</li>
|
|
197
|
+
))}
|
|
198
|
+
</ul>
|
|
199
|
+
</div>
|
|
200
|
+
)}
|
|
201
|
+
{when.error && <pre className="mt-2">{when.error}</pre>}
|
|
202
|
+
</div>
|
|
163
203
|
</div>
|
|
164
204
|
{when.artifacts?.length > 0 && (
|
|
165
205
|
<div className="ms-3">
|
|
@@ -187,8 +227,28 @@ export const TestPageView = ({
|
|
|
187
227
|
<div key={`t-${k}`} className={`p-3 mb-2 ${then.error ? 'bg-danger text-white' : 'bg-success text-white'}`}>
|
|
188
228
|
<div className="d-flex justify-content-between align-items-start">
|
|
189
229
|
<div>
|
|
190
|
-
<
|
|
191
|
-
|
|
230
|
+
<div>
|
|
231
|
+
<strong>Then:</strong> {then.name}
|
|
232
|
+
{then.features?.length > 0 && (
|
|
233
|
+
<div className="mt-2">
|
|
234
|
+
<small>Features:</small>
|
|
235
|
+
<ul className="list-unstyled">
|
|
236
|
+
{then.features.map((feature, fi) => (
|
|
237
|
+
<li key={fi}>
|
|
238
|
+
{feature.startsWith('http') ? (
|
|
239
|
+
<a href={feature} target="_blank" rel="noopener noreferrer">
|
|
240
|
+
{new URL(feature).hostname}
|
|
241
|
+
</a>
|
|
242
|
+
) : (
|
|
243
|
+
feature
|
|
244
|
+
)}
|
|
245
|
+
</li>
|
|
246
|
+
))}
|
|
247
|
+
</ul>
|
|
248
|
+
</div>
|
|
249
|
+
)}
|
|
250
|
+
{then.error && <pre className="mt-2">{then.error}</pre>}
|
|
251
|
+
</div>
|
|
192
252
|
</div>
|
|
193
253
|
{then.artifacts?.length > 0 && (
|
|
194
254
|
<div className="ms-3">
|
package/src/lib/abstractBase.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
3
|
|
|
4
|
+
import type { Ibdd_in_any } from "../CoreTypes";
|
|
5
|
+
|
|
4
6
|
import { ITestArtifactory, ITLog, ITTestResourceConfiguration } from ".";
|
|
5
7
|
import { IPM } from "./types.js";
|
|
6
8
|
import {
|
|
@@ -9,7 +11,6 @@ import {
|
|
|
9
11
|
beforeEachProxy,
|
|
10
12
|
butThenProxy,
|
|
11
13
|
} from "./pmProxy.js";
|
|
12
|
-
import type { Ibdd_in_any } from "../CoreTypes";
|
|
13
14
|
|
|
14
15
|
export type IGivens<I extends Ibdd_in_any> = Record<string, BaseGiven<I>>;
|
|
15
16
|
|
|
@@ -29,6 +30,8 @@ export abstract class BaseGiven<I extends Ibdd_in_any> {
|
|
|
29
30
|
artifacts: string[] = [];
|
|
30
31
|
protected addArtifact(path: string) {
|
|
31
32
|
console.log(`[Artifact] Adding to ${this.constructor.name}:`, path);
|
|
33
|
+
// console.log("mark111");
|
|
34
|
+
// process.exit();
|
|
32
35
|
this.artifacts.push(path);
|
|
33
36
|
}
|
|
34
37
|
|
|
@@ -4,7 +4,7 @@ import { ITestImplementation } from "../../CoreTypes";
|
|
|
4
4
|
import { MockBaseBuilder } from "./baseBuilder.test.mock";
|
|
5
5
|
|
|
6
6
|
import { I, O } from "./baseBuilder.test.types";
|
|
7
|
-
import { ITTestResourceRequest } from "..";
|
|
7
|
+
import { ITestJob, ITTestResourceRequest } from "..";
|
|
8
8
|
import { BaseBuilder } from "../basebuilder";
|
|
9
9
|
|
|
10
10
|
// Define our test subject type
|
|
@@ -16,7 +16,7 @@ export const implementation: ITestImplementation<I, O, {}> = {
|
|
|
16
16
|
},
|
|
17
17
|
|
|
18
18
|
givens: {
|
|
19
|
-
|
|
19
|
+
"the default BaseBuilder": () => {
|
|
20
20
|
return new MockBaseBuilder(
|
|
21
21
|
{}, // input
|
|
22
22
|
{}, // suitesOverrides
|
|
@@ -27,11 +27,21 @@ export const implementation: ITestImplementation<I, O, {}> = {
|
|
|
27
27
|
() => [] // testSpecification
|
|
28
28
|
);
|
|
29
29
|
},
|
|
30
|
-
|
|
31
|
-
return new MockBaseBuilder(
|
|
30
|
+
"a BaseBuilder with TestInput": (input: any) => {
|
|
31
|
+
return new MockBaseBuilder(
|
|
32
|
+
input,
|
|
33
|
+
{},
|
|
34
|
+
{},
|
|
35
|
+
{},
|
|
36
|
+
{},
|
|
37
|
+
{ ports: [] },
|
|
38
|
+
() => []
|
|
39
|
+
);
|
|
32
40
|
},
|
|
33
|
-
|
|
34
|
-
|
|
41
|
+
"a BaseBuilder with Test Resource Requirements": (
|
|
42
|
+
requirements: ITTestResourceRequest
|
|
43
|
+
) => {
|
|
44
|
+
return new MockBaseBuilder({}, {}, {}, {}, {}, requirements, () => []);
|
|
35
45
|
},
|
|
36
46
|
},
|
|
37
47
|
|
|
@@ -47,7 +57,9 @@ export const implementation: ITestImplementation<I, O, {}> = {
|
|
|
47
57
|
},
|
|
48
58
|
|
|
49
59
|
thens: {
|
|
50
|
-
|
|
60
|
+
"it is initialized": () => (builder, utils) => {
|
|
61
|
+
utils.writeFileSync("hello.txt", "world");
|
|
62
|
+
|
|
51
63
|
if (!(builder instanceof BaseBuilder)) {
|
|
52
64
|
console.error("Builder instance:", builder);
|
|
53
65
|
throw new Error(
|
|
@@ -72,19 +84,19 @@ export const implementation: ITestImplementation<I, O, {}> = {
|
|
|
72
84
|
|
|
73
85
|
return builder;
|
|
74
86
|
},
|
|
75
|
-
|
|
87
|
+
"it generates TestSpecifications": () => (builder: TestSubject) => {
|
|
76
88
|
if (!Array.isArray(builder.specs)) {
|
|
77
89
|
throw new Error("Specs were not generated");
|
|
78
90
|
}
|
|
79
91
|
return builder;
|
|
80
92
|
},
|
|
81
|
-
|
|
93
|
+
"it creates jobs": () => (builder: TestSubject) => {
|
|
82
94
|
if (!Array.isArray(builder.testJobs)) {
|
|
83
95
|
throw new Error("Test jobs were not created");
|
|
84
96
|
}
|
|
85
97
|
return builder;
|
|
86
98
|
},
|
|
87
|
-
|
|
99
|
+
"it tracks artifacts": () => (builder: TestSubject) => {
|
|
88
100
|
if (!Array.isArray(builder.artifacts)) {
|
|
89
101
|
throw new Error("Artifacts array not initialized");
|
|
90
102
|
}
|
|
@@ -10,25 +10,25 @@ export const specification: ITestSpecification<I, O> = (
|
|
|
10
10
|
) => {
|
|
11
11
|
return [
|
|
12
12
|
Suite.Default("Testing BaseBuilder functionality", {
|
|
13
|
-
testInitialization: Given
|
|
13
|
+
testInitialization: Given["the default BaseBuilder"](
|
|
14
14
|
["BaseBuilder should initialize correctly"],
|
|
15
15
|
[],
|
|
16
16
|
[
|
|
17
|
-
Then
|
|
18
|
-
Then
|
|
19
|
-
Then
|
|
20
|
-
Then
|
|
17
|
+
Then["it is initialized"](),
|
|
18
|
+
Then["it tracks artifacts"](),
|
|
19
|
+
// Then["it creates jobs"](),
|
|
20
|
+
// Then["it generates TestSpecifications"](),
|
|
21
21
|
]
|
|
22
22
|
),
|
|
23
|
-
testSpecsGeneration: Given
|
|
23
|
+
testSpecsGeneration: Given["the default BaseBuilder"](
|
|
24
24
|
["BaseBuilder should generate specs from test specification"],
|
|
25
25
|
[],
|
|
26
|
-
[Then
|
|
26
|
+
[Then["it generates TestSpecifications"]()]
|
|
27
27
|
),
|
|
28
|
-
testJobsCreation: Given
|
|
28
|
+
testJobsCreation: Given["the default BaseBuilder"](
|
|
29
29
|
["BaseBuilder should create test jobs"],
|
|
30
30
|
[],
|
|
31
|
-
[Then
|
|
31
|
+
[Then["it creates jobs"]()]
|
|
32
32
|
),
|
|
33
33
|
}),
|
|
34
34
|
];
|
|
@@ -20,14 +20,17 @@ export type O = Ibdd_out<
|
|
|
20
20
|
},
|
|
21
21
|
// Givens
|
|
22
22
|
{
|
|
23
|
-
|
|
23
|
+
"the default BaseBuilder": [];
|
|
24
|
+
"a BaseBuilder with TestInput": [];
|
|
25
|
+
"a BaseBuilder with Test Resource Requirements": [];
|
|
24
26
|
},
|
|
25
27
|
// Whens
|
|
26
28
|
{}, // No whens in these tests
|
|
27
29
|
// Thens
|
|
28
30
|
{
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
"it is initialized": [];
|
|
32
|
+
"it generates TestSpecifications": [];
|
|
33
|
+
"it creates jobs": [];
|
|
34
|
+
"it tracks artifacts": [];
|
|
32
35
|
}
|
|
33
36
|
>;
|
package/src/lib/basebuilder.ts
CHANGED
|
@@ -122,12 +122,15 @@ export abstract class BaseBuilder<
|
|
|
122
122
|
|
|
123
123
|
const fails = suiteDone.fails;
|
|
124
124
|
|
|
125
|
-
await puppetMaster.writeFileSync(
|
|
125
|
+
await puppetMaster.writeFileSync([
|
|
126
|
+
`bdd_errors.txt`,
|
|
127
|
+
fails.toString(),
|
|
128
|
+
]);
|
|
126
129
|
|
|
127
|
-
await puppetMaster.writeFileSync(
|
|
130
|
+
await puppetMaster.writeFileSync([
|
|
128
131
|
`tests.json`,
|
|
129
|
-
JSON.stringify(this.toObj(), null, 2)
|
|
130
|
-
);
|
|
132
|
+
JSON.stringify(this.toObj(), null, 2),
|
|
133
|
+
]);
|
|
131
134
|
|
|
132
135
|
return {
|
|
133
136
|
failed: fails > 0,
|