testeranto 0.125.3 → 0.128.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/dist/common/src/Node.js +5 -0
- package/dist/common/src/PM/base.js +6 -0
- package/dist/common/src/PM/index.js +0 -1
- package/dist/common/src/PM/main.js +75 -20
- package/dist/common/src/PM/web.js +1 -1
- package/dist/common/src/ReportServer.js +39 -2
- package/dist/common/src/build.js +41 -6
- package/dist/common/src/lib/abstractBase.js +22 -107
- package/dist/common/src/lib/basebuilder.js +20 -21
- package/dist/common/src/lib/classBuilder.js +12 -1
- package/dist/common/src/lib/core.js +1 -8
- package/dist/common/src/lib/index.js +2 -5
- package/dist/common/src/lib/pmProxy.js +294 -0
- package/dist/common/testeranto.config.js +43 -34
- package/dist/common/tsconfig.common.tsbuildinfo +1 -1
- package/dist/module/src/Node.js +5 -0
- package/dist/module/src/PM/base.js +6 -0
- package/dist/module/src/PM/index.js +0 -1
- package/dist/module/src/PM/main.js +75 -20
- package/dist/module/src/PM/web.js +1 -1
- package/dist/module/src/Project.js +6 -6
- package/dist/module/src/ReportClient.js +3 -3
- package/dist/module/src/ReportServer.js +39 -2
- package/dist/module/src/build.js +41 -6
- package/dist/module/src/lib/abstractBase.js +22 -107
- package/dist/module/src/lib/basebuilder.js +20 -21
- package/dist/module/src/lib/classBuilder.js +12 -1
- package/dist/module/src/lib/core.js +1 -8
- package/dist/module/src/lib/index.js +2 -5
- package/dist/module/src/lib/pmProxy.js +285 -0
- package/dist/module/testeranto.config.js +40 -34
- package/dist/module/tsconfig.module.tsbuildinfo +1 -1
- package/dist/prebuild/Project.css +1 -26
- package/dist/prebuild/Project.js +4 -4
- package/dist/prebuild/ReportClient.css +1 -26
- package/dist/prebuild/ReportClient.js +3 -3
- package/dist/prebuild/ReportServer.mjs +1 -2
- package/dist/prebuild/TestReport.css +1 -26
- package/dist/prebuild/build.mjs +42 -7
- package/dist/prebuild/run.mjs +82 -18
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/src/PM/web.d.ts +1 -1
- package/dist/types/src/Types.d.ts +2 -1
- package/dist/types/src/lib/abstractBase.d.ts +4 -6
- package/dist/types/src/lib/index.d.ts +1 -1
- package/dist/types/src/lib/pmProxy.d.ts +7 -0
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/package.json +14 -7
- package/src/Init.ts +1 -0
- package/src/Node.ts +6 -0
- package/src/PM/base.ts +8 -0
- package/src/PM/index.ts +2 -7
- package/src/PM/main.ts +112 -23
- package/src/PM/web.ts +3 -3
- package/src/Project.tsx +6 -6
- package/src/ReportClient.tsx +3 -3
- package/src/ReportServer.ts +43 -2
- package/src/Types.ts +3 -2
- package/src/build.ts +47 -6
- package/src/lib/abstractBase.ts +45 -184
- package/src/lib/basebuilder.ts +25 -28
- package/src/lib/classBuilder.ts +13 -2
- package/src/lib/core.ts +10 -14
- package/src/lib/index.ts +6 -29
- package/src/lib/pmProxy.ts +366 -0
- package/testeranto/bundles/node/{react → redux}/metafile.json +186 -254
- package/testeranto/bundles/pure/redux/metafile.json +554 -0
- package/testeranto/bundles/web/redux/metafile.json +504 -0
- package/testeranto/bundles/web/{react/src/SubPackages/react-test-renderer/component → redux}/test/web.html +1 -1
- package/testeranto/index.html +1 -1
- package/testeranto/reports/{react → redux}/config.json +26 -10
- package/testeranto/reports/{react → redux}/index.html +5 -5
- package/testeranto/reports/redux/summary.json +20 -0
- package/testeranto.config.ts +46 -34
- package/tsc.log +3 -1
- package/testeranto/bundles/node/react/src/SubPackages/react-test-renderer/component/test/node.mjs +0 -24687
- package/testeranto/bundles/pure/react/metafile.json +0 -8
- package/testeranto/bundles/pure/react/src/SubPackages/react-test-renderer/component/test/pure.mjs +0 -24625
- package/testeranto/bundles/web/react/metafile.json +0 -8
- package/testeranto/bundles/web/react/src/SubPackages/react-test-renderer/component/test/web.mjs +0 -21290
- package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/node/node/console_log.txt +0 -0
- package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/bdd_errors.txt +0 -1
- package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/featurePrompt.txt +0 -0
- package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/lint_errors.json +0 -3381
- package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/littleBoard.html +0 -20
- package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/log.txt +0 -40
- package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/prompt.txt +0 -24
- package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/tests.json +0 -132
- package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/type_errors.txt +0 -17
- package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/bdd_errors.txt +0 -1
- package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/console_log.txt +0 -1
- package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/lint_errors.json +0 -2947
- package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/littleBoard.html +0 -20
- package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/log.txt +0 -40
- package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/prompt.txt +0 -23
- package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/tests.json +0 -132
- package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/type_errors.txt +0 -18
- package/testeranto/reports/react/summary.json +0 -8
package/src/lib/abstractBase.ts
CHANGED
|
@@ -2,6 +2,14 @@ import { IT, OT } from "../Types.js";
|
|
|
2
2
|
|
|
3
3
|
import { ITTestResourceConfiguration, ITestArtifactory, ITLog } from ".";
|
|
4
4
|
import { IPM } from "./types.js";
|
|
5
|
+
import {
|
|
6
|
+
afterAllProxy,
|
|
7
|
+
afterEachProxy,
|
|
8
|
+
andWhenProxy,
|
|
9
|
+
beforeAllProxy,
|
|
10
|
+
beforeEachProxy,
|
|
11
|
+
butThenProxy,
|
|
12
|
+
} from "./pmProxy.js";
|
|
5
13
|
|
|
6
14
|
export type IGivens<I extends IT> = Record<string, BaseGiven<I>>;
|
|
7
15
|
|
|
@@ -85,37 +93,13 @@ export abstract class BaseSuite<I extends IT = IT, O extends OT = OT> {
|
|
|
85
93
|
// console.log("\nSuite:", this.index, this.name);
|
|
86
94
|
tLog("\nSuite:", this.index, this.name);
|
|
87
95
|
const sNdx = this.index;
|
|
88
|
-
const sName = this.name;
|
|
89
|
-
|
|
90
|
-
const beforeAllProxy = new Proxy(pm, {
|
|
91
|
-
get(target, prop, receiver) {
|
|
92
|
-
if (prop === "customScreenShot") {
|
|
93
|
-
return (opts, p) =>
|
|
94
|
-
target.customScreenShot(
|
|
95
|
-
{
|
|
96
|
-
...opts,
|
|
97
|
-
// path: `${filepath}/${opts.path}`,
|
|
98
|
-
path: `suite-${sNdx}/beforeAll/${opts.path}`,
|
|
99
|
-
},
|
|
100
|
-
p
|
|
101
|
-
);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
if (prop === "writeFileSync") {
|
|
105
|
-
return (fp, contents) =>
|
|
106
|
-
target[prop](`suite-${sNdx}/beforeAll/${fp}`, contents);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
/* @ts-ignore:next-line */
|
|
110
|
-
return Reflect.get(...arguments);
|
|
111
|
-
},
|
|
112
|
-
});
|
|
96
|
+
// const sName = this.name;
|
|
113
97
|
|
|
114
98
|
const subject = await this.setup(
|
|
115
99
|
input,
|
|
116
100
|
suiteArtifactory,
|
|
117
101
|
testResourceConfiguration,
|
|
118
|
-
beforeAllProxy
|
|
102
|
+
beforeAllProxy(pm, sNdx.toString())
|
|
119
103
|
);
|
|
120
104
|
|
|
121
105
|
for (const [gKey, g] of Object.entries(this.givens)) {
|
|
@@ -156,8 +140,7 @@ export abstract class BaseSuite<I extends IT = IT, O extends OT = OT> {
|
|
|
156
140
|
this.afterAll(
|
|
157
141
|
this.store,
|
|
158
142
|
artifactory,
|
|
159
|
-
|
|
160
|
-
pm
|
|
143
|
+
afterAllProxy(pm, sNdx.toString())
|
|
161
144
|
);
|
|
162
145
|
} catch (e) {
|
|
163
146
|
console.error(e);
|
|
@@ -267,43 +250,6 @@ export abstract class BaseGiven<I extends IT = IT> {
|
|
|
267
250
|
const givenArtifactory = (fPath: string, value: unknown) =>
|
|
268
251
|
artifactory(`given-${key}/${fPath}`, value);
|
|
269
252
|
|
|
270
|
-
const beforeEachProxy = new Proxy(pm, {
|
|
271
|
-
get(target, prop, receiver) {
|
|
272
|
-
if (prop === "writeFileSync") {
|
|
273
|
-
return (fp, contents) =>
|
|
274
|
-
target[prop](
|
|
275
|
-
`suite-${suiteNdx}/given-${key}/when/beforeEach/${fp}`,
|
|
276
|
-
contents
|
|
277
|
-
);
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
if (prop === "customScreenShot") {
|
|
281
|
-
return (opts, p) =>
|
|
282
|
-
target.customScreenShot(
|
|
283
|
-
{
|
|
284
|
-
...opts,
|
|
285
|
-
path: `suite-${suiteNdx}/given-${key}/when/beforeEach/${opts.path}`,
|
|
286
|
-
},
|
|
287
|
-
p
|
|
288
|
-
);
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
if (prop === "screencast") {
|
|
292
|
-
return (opts, p) =>
|
|
293
|
-
target.screencast(
|
|
294
|
-
{
|
|
295
|
-
...opts,
|
|
296
|
-
path: `suite-${suiteNdx}/given-${key}/when/beforeEach/${opts.path}`,
|
|
297
|
-
},
|
|
298
|
-
p
|
|
299
|
-
);
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
/* @ts-ignore:next-line */
|
|
303
|
-
return Reflect.get(...arguments);
|
|
304
|
-
},
|
|
305
|
-
});
|
|
306
|
-
|
|
307
253
|
this.uberCatcher((e) => {
|
|
308
254
|
console.error(e);
|
|
309
255
|
this.error = e.error;
|
|
@@ -317,9 +263,10 @@ export abstract class BaseGiven<I extends IT = IT> {
|
|
|
317
263
|
givenArtifactory,
|
|
318
264
|
this.givenCB,
|
|
319
265
|
this.initialValues,
|
|
320
|
-
beforeEachProxy
|
|
266
|
+
beforeEachProxy(pm, suiteNdx.toString())
|
|
321
267
|
);
|
|
322
268
|
} catch (e) {
|
|
269
|
+
console.error("failure 4 ", e);
|
|
323
270
|
this.error = e;
|
|
324
271
|
throw e;
|
|
325
272
|
}
|
|
@@ -345,52 +292,30 @@ export abstract class BaseGiven<I extends IT = IT> {
|
|
|
345
292
|
pm,
|
|
346
293
|
`suite-${suiteNdx}/given-${key}/then-${thenNdx}`
|
|
347
294
|
);
|
|
348
|
-
|
|
295
|
+
|
|
296
|
+
return tester(t);
|
|
297
|
+
// ((t) => {
|
|
298
|
+
// return tester(t);
|
|
299
|
+
// })();
|
|
349
300
|
}
|
|
350
301
|
} catch (e) {
|
|
351
|
-
// this.error = e;
|
|
352
302
|
this.failed = true;
|
|
353
303
|
tLog(e.stack);
|
|
354
304
|
throw e;
|
|
355
305
|
} finally {
|
|
356
306
|
try {
|
|
357
|
-
const afterEachProxy = new Proxy(pm, {
|
|
358
|
-
get(target, prop, receiver) {
|
|
359
|
-
if (prop === "customScreenShot") {
|
|
360
|
-
return (opts, p) =>
|
|
361
|
-
target.customScreenShot(
|
|
362
|
-
{
|
|
363
|
-
...opts,
|
|
364
|
-
path: `suite-${suiteNdx}/given-${key}/afterEach/${opts.path}`,
|
|
365
|
-
},
|
|
366
|
-
p
|
|
367
|
-
);
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
if (prop === "writeFileSync") {
|
|
371
|
-
return (fp, contents) =>
|
|
372
|
-
target[prop](
|
|
373
|
-
`suite-${suiteNdx}/given-${key}/afterEach/${fp}`,
|
|
374
|
-
contents
|
|
375
|
-
);
|
|
376
|
-
}
|
|
377
|
-
|
|
378
|
-
/* @ts-ignore:next-line */
|
|
379
|
-
return Reflect.get(...arguments);
|
|
380
|
-
},
|
|
381
|
-
});
|
|
382
|
-
|
|
383
307
|
await this.afterEach(
|
|
384
308
|
this.store,
|
|
385
309
|
this.key,
|
|
386
310
|
givenArtifactory,
|
|
387
|
-
|
|
388
|
-
afterEachProxy
|
|
311
|
+
|
|
312
|
+
afterEachProxy(pm, suiteNdx.toString(), key)
|
|
389
313
|
);
|
|
390
314
|
} catch (e) {
|
|
315
|
+
console.error("afterEach failed!", e);
|
|
391
316
|
this.failed = e;
|
|
392
317
|
throw e;
|
|
393
|
-
|
|
318
|
+
|
|
394
319
|
// this.error = e.message;
|
|
395
320
|
}
|
|
396
321
|
}
|
|
@@ -431,61 +356,29 @@ export abstract class BaseWhen<I extends IT> {
|
|
|
431
356
|
) {
|
|
432
357
|
tLog(" When:", this.name);
|
|
433
358
|
|
|
434
|
-
const andWhenProxy = new Proxy(pm, {
|
|
435
|
-
get(target, prop, receiver) {
|
|
436
|
-
if (prop === "customScreenShot") {
|
|
437
|
-
return (opts, p) =>
|
|
438
|
-
target.customScreenShot(
|
|
439
|
-
{
|
|
440
|
-
...opts,
|
|
441
|
-
path: `${filepath}/${opts.path}`,
|
|
442
|
-
},
|
|
443
|
-
p
|
|
444
|
-
);
|
|
445
|
-
}
|
|
446
|
-
if (prop === "writeFileSync") {
|
|
447
|
-
return (fp, contents) =>
|
|
448
|
-
target[prop](`${filepath}/andWhen/${fp}`, contents);
|
|
449
|
-
}
|
|
450
|
-
|
|
451
|
-
/* @ts-ignore:next-line */
|
|
452
|
-
return Reflect.get(...arguments);
|
|
453
|
-
},
|
|
454
|
-
});
|
|
455
|
-
|
|
456
359
|
return await this.andWhen(
|
|
457
360
|
store,
|
|
458
361
|
this.whenCB,
|
|
459
362
|
testResourceConfiguration,
|
|
460
|
-
andWhenProxy
|
|
363
|
+
andWhenProxy(pm, filepath)
|
|
461
364
|
).catch((e) => {
|
|
462
365
|
this.error = true;
|
|
463
366
|
// throw e;
|
|
464
367
|
});
|
|
465
|
-
// try {
|
|
466
|
-
// return await this.andWhen(
|
|
467
|
-
// store,
|
|
468
|
-
// this.whenCB,
|
|
469
|
-
// testResourceConfiguration,
|
|
470
|
-
// andWhenProxy
|
|
471
|
-
// );
|
|
472
|
-
// } catch (e) {
|
|
473
|
-
// this.error = true;
|
|
474
|
-
// throw e;
|
|
475
|
-
// }
|
|
476
368
|
}
|
|
477
369
|
}
|
|
478
370
|
|
|
479
371
|
export abstract class BaseThen<I extends IT> {
|
|
480
372
|
public name: string;
|
|
481
|
-
thenCB: (storeState: I["iselection"]) => I["then"]
|
|
482
|
-
go: (storeState: I["iselection"]) => I["then"];
|
|
373
|
+
thenCB: (storeState: I["iselection"]) => Promise<I["then"]>;
|
|
483
374
|
error: boolean;
|
|
484
375
|
|
|
485
|
-
constructor(
|
|
376
|
+
constructor(
|
|
377
|
+
name: string,
|
|
378
|
+
thenCB: (val: I["iselection"]) => Promise<I["then"]>
|
|
379
|
+
) {
|
|
486
380
|
this.name = name;
|
|
487
381
|
this.thenCB = thenCB;
|
|
488
|
-
|
|
489
382
|
this.error = false;
|
|
490
383
|
}
|
|
491
384
|
|
|
@@ -498,7 +391,7 @@ export abstract class BaseThen<I extends IT> {
|
|
|
498
391
|
|
|
499
392
|
abstract butThen(
|
|
500
393
|
store: I["istore"],
|
|
501
|
-
thenCB: (s: I["iselection"]) => I["isubject"]
|
|
394
|
+
thenCB: (s: I["iselection"]) => Promise<I["isubject"]>,
|
|
502
395
|
testResourceConfiguration: ITTestResourceConfiguration,
|
|
503
396
|
pm: IPM,
|
|
504
397
|
...args: any[]
|
|
@@ -511,56 +404,24 @@ export abstract class BaseThen<I extends IT> {
|
|
|
511
404
|
pm: IPM,
|
|
512
405
|
filepath: string
|
|
513
406
|
): Promise<I["then"] | undefined> {
|
|
514
|
-
this.
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
await this.thenCB(s);
|
|
519
|
-
} catch (e) {
|
|
520
|
-
console.log("test failed 1", e);
|
|
521
|
-
this.error = e;
|
|
522
|
-
throw e;
|
|
523
|
-
}
|
|
524
|
-
};
|
|
525
|
-
|
|
526
|
-
try {
|
|
527
|
-
const butThenProxy = new Proxy(pm, {
|
|
528
|
-
get(target, prop, receiver) {
|
|
529
|
-
if (prop === "customScreenShot") {
|
|
530
|
-
return (opts, p) =>
|
|
531
|
-
target.customScreenShot(
|
|
532
|
-
{
|
|
533
|
-
...opts,
|
|
534
|
-
path: `${filepath}/${opts.path}`,
|
|
535
|
-
},
|
|
536
|
-
p
|
|
537
|
-
);
|
|
538
|
-
}
|
|
539
|
-
|
|
540
|
-
if (prop === "writeFileSync") {
|
|
541
|
-
return (fp, contents) =>
|
|
542
|
-
target[prop](`${filepath}/${fp}`, contents);
|
|
543
|
-
}
|
|
544
|
-
|
|
545
|
-
/* @ts-ignore:next-line */
|
|
546
|
-
return Reflect.get(...arguments);
|
|
547
|
-
},
|
|
548
|
-
});
|
|
407
|
+
return this.butThen(
|
|
408
|
+
store,
|
|
409
|
+
async (s: I["iselection"]) => {
|
|
410
|
+
tLog(" Then!!!:", this.name);
|
|
549
411
|
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
console.log("test failed 2", e);
|
|
412
|
+
if (typeof this.thenCB === "function") {
|
|
413
|
+
return await this.thenCB(s);
|
|
414
|
+
} else {
|
|
415
|
+
return this.thenCB;
|
|
416
|
+
}
|
|
417
|
+
},
|
|
418
|
+
testResourceConfiguration,
|
|
419
|
+
butThenProxy(pm, filepath)
|
|
420
|
+
).catch((e) => {
|
|
421
|
+
console.log("test failed 3", e);
|
|
561
422
|
this.error = e;
|
|
562
423
|
throw e;
|
|
563
|
-
}
|
|
424
|
+
});
|
|
564
425
|
}
|
|
565
426
|
|
|
566
427
|
check() {}
|
|
@@ -601,7 +462,7 @@ export abstract class BaseCheck<I extends IT = IT> {
|
|
|
601
462
|
return {
|
|
602
463
|
key: this.key,
|
|
603
464
|
name: this.name,
|
|
604
|
-
functionAsString: this.checkCB.toString(),
|
|
465
|
+
// functionAsString: this.checkCB.toString(),
|
|
605
466
|
features: this.features,
|
|
606
467
|
};
|
|
607
468
|
}
|
package/src/lib/basebuilder.ts
CHANGED
|
@@ -126,34 +126,31 @@ export abstract class BaseBuilder<
|
|
|
126
126
|
|
|
127
127
|
const fails = suiteDone.fails;
|
|
128
128
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
<
|
|
139
|
-
|
|
140
|
-
<
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
</body>
|
|
155
|
-
`
|
|
156
|
-
);
|
|
129
|
+
await puppetMaster.writeFileSync(`bdd_errors.txt`, fails.toString());
|
|
130
|
+
|
|
131
|
+
// await puppetMaster.writeFileSync(
|
|
132
|
+
// `index.html`,
|
|
133
|
+
// `
|
|
134
|
+
// <!DOCTYPE html>
|
|
135
|
+
// <html lang="en">
|
|
136
|
+
|
|
137
|
+
// <head>
|
|
138
|
+
// <meta name="description" content="Webpage description goes here" />
|
|
139
|
+
// <meta charset="utf-8" />
|
|
140
|
+
// <title>kokomoBay - testeranto</title>
|
|
141
|
+
// <meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
142
|
+
// <meta name="author" content="" />
|
|
143
|
+
|
|
144
|
+
// <link rel="stylesheet" href="/kokomoBay/testeranto/TestReport.css" />
|
|
145
|
+
// <script src="/kokomoBay/testeranto/TestReport.js"></script>
|
|
146
|
+
|
|
147
|
+
// </head>
|
|
148
|
+
|
|
149
|
+
// <body>
|
|
150
|
+
// <div id="root"/>
|
|
151
|
+
// </body>
|
|
152
|
+
// `
|
|
153
|
+
// );
|
|
157
154
|
|
|
158
155
|
await puppetMaster.writeFileSync(
|
|
159
156
|
`tests.json`,
|
package/src/lib/classBuilder.ts
CHANGED
|
@@ -84,10 +84,21 @@ export abstract class ClassBuilder<
|
|
|
84
84
|
);
|
|
85
85
|
|
|
86
86
|
const classyThens = Object.entries(testImplementation.thens).reduce(
|
|
87
|
-
(a, [key, thEn]: [string, (
|
|
88
|
-
a[key] = (expected
|
|
87
|
+
(a, [key, thEn]: [string, (s: I["iselection"]) => I["isubject"]]) => {
|
|
88
|
+
a[key] = (expected, x) => {
|
|
89
89
|
return new thenKlasser.prototype.constructor(
|
|
90
90
|
`${thEn.name}: ${expected && expected.toString()}`,
|
|
91
|
+
// () => {
|
|
92
|
+
// thEn(expected);
|
|
93
|
+
// // return new Promise((res), rej) => {
|
|
94
|
+
|
|
95
|
+
// // }
|
|
96
|
+
// // try {
|
|
97
|
+
// // thEn(expected);
|
|
98
|
+
// // } catch (c) {
|
|
99
|
+
// // console.log("mark99");
|
|
100
|
+
// // }
|
|
101
|
+
// },
|
|
91
102
|
thEn(expected)
|
|
92
103
|
);
|
|
93
104
|
};
|
package/src/lib/core.ts
CHANGED
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
import {
|
|
10
10
|
DefaultTestInterface,
|
|
11
11
|
IFinalResults,
|
|
12
|
+
ITTestResourceConfiguration,
|
|
12
13
|
ITTestResourceRequest,
|
|
13
14
|
ITestArtifactory,
|
|
14
15
|
defaultTestResourceRequirement,
|
|
@@ -48,15 +49,15 @@ export default abstract class Testeranto<
|
|
|
48
49
|
return fullTestInterface.afterAll(store, pm);
|
|
49
50
|
}
|
|
50
51
|
|
|
51
|
-
assertThat(t): boolean {
|
|
52
|
+
assertThat(t: Awaited<I["then"]>): boolean {
|
|
52
53
|
return fullTestInterface.assertThis(t);
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
async setup(
|
|
56
57
|
s: I["iinput"],
|
|
57
58
|
artifactory: ITestArtifactory,
|
|
58
|
-
tr,
|
|
59
|
-
pm
|
|
59
|
+
tr: ITTestResourceConfiguration,
|
|
60
|
+
pm: IPM
|
|
60
61
|
): Promise<I["isubject"]> {
|
|
61
62
|
return (
|
|
62
63
|
fullTestInterface.beforeAll ||
|
|
@@ -130,17 +131,12 @@ export default abstract class Testeranto<
|
|
|
130
131
|
testResource: any,
|
|
131
132
|
pm: IPM
|
|
132
133
|
): Promise<I["iselection"]> {
|
|
133
|
-
return await fullTestInterface
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
(e) => {
|
|
140
|
-
console.log(" ERROR ", e);
|
|
141
|
-
throw e;
|
|
142
|
-
}
|
|
143
|
-
);
|
|
134
|
+
return await fullTestInterface.butThen(
|
|
135
|
+
store,
|
|
136
|
+
thenCB,
|
|
137
|
+
testResource,
|
|
138
|
+
pm
|
|
139
|
+
);
|
|
144
140
|
}
|
|
145
141
|
} as any,
|
|
146
142
|
|
package/src/lib/index.ts
CHANGED
|
@@ -4,7 +4,6 @@ import { PM_Node } from "../PM/node.js";
|
|
|
4
4
|
import { PM_Web } from "../PM/web.js";
|
|
5
5
|
import {
|
|
6
6
|
Ibdd_in,
|
|
7
|
-
Ibdd_out,
|
|
8
7
|
ITestInterface,
|
|
9
8
|
ITestconfig,
|
|
10
9
|
IBuiltConfig,
|
|
@@ -17,9 +16,7 @@ import {
|
|
|
17
16
|
import { IGivens, BaseCheck, BaseSuite } from "./abstractBase.js";
|
|
18
17
|
import { IPM } from "./types.js";
|
|
19
18
|
|
|
20
|
-
export const BaseTestInterface: ITestInterface<
|
|
21
|
-
Ibdd_in<unknown, unknown, unknown, unknown, unknown, unknown, unknown>
|
|
22
|
-
> = {
|
|
19
|
+
export const BaseTestInterface: ITestInterface<IT> = {
|
|
23
20
|
beforeAll: async (s) => s,
|
|
24
21
|
beforeEach: async function (
|
|
25
22
|
subject: any,
|
|
@@ -31,35 +28,15 @@ export const BaseTestInterface: ITestInterface<
|
|
|
31
28
|
return subject as any;
|
|
32
29
|
},
|
|
33
30
|
afterEach: async (s) => s,
|
|
34
|
-
afterAll: (
|
|
35
|
-
store: Ibdd_in<
|
|
36
|
-
unknown,
|
|
37
|
-
unknown,
|
|
38
|
-
unknown,
|
|
39
|
-
unknown,
|
|
40
|
-
unknown,
|
|
41
|
-
unknown,
|
|
42
|
-
unknown
|
|
43
|
-
>["istore"]
|
|
44
|
-
) => undefined,
|
|
31
|
+
afterAll: (store: IT["istore"]) => undefined,
|
|
45
32
|
butThen: async (
|
|
46
|
-
store:
|
|
47
|
-
|
|
48
|
-
unknown,
|
|
49
|
-
unknown,
|
|
50
|
-
unknown,
|
|
51
|
-
unknown,
|
|
52
|
-
unknown,
|
|
53
|
-
unknown
|
|
54
|
-
>["istore"],
|
|
55
|
-
thenCb: any
|
|
33
|
+
store: IT["istore"],
|
|
34
|
+
thenCb: (s: IT["iselection"]) => Promise<IT["isubject"]>
|
|
56
35
|
) => {
|
|
57
|
-
|
|
58
|
-
thenCb(store);
|
|
59
|
-
} catch (e) {}
|
|
36
|
+
return thenCb(store);
|
|
60
37
|
},
|
|
61
38
|
andWhen: async (a) => a,
|
|
62
|
-
assertThis: () => null,
|
|
39
|
+
assertThis: (x: any) => null,
|
|
63
40
|
};
|
|
64
41
|
|
|
65
42
|
export const DefaultTestInterface = (
|