testeranto 0.160.0 → 0.163.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 (50) hide show
  1. package/dist/common/src/PM/PM_WithEslintAndTsc.js +8 -1
  2. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +13 -1
  3. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.mock.js +4 -1
  4. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.specification.js +6 -1
  5. package/dist/common/src/lib/classBuilder.test/classBuilder.test.implementation.js +9 -8
  6. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  7. package/dist/module/src/PM/PM_WithEslintAndTsc.js +8 -1
  8. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +13 -1
  9. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.mock.js +4 -1
  10. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.specification.js +6 -1
  11. package/dist/module/src/lib/classBuilder.test/classBuilder.test.implementation.js +9 -8
  12. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  13. package/dist/prebuild/run.mjs +8 -1
  14. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  15. package/docs/index.md +5 -14
  16. package/docs.html +5 -14
  17. package/index.html +1 -1
  18. package/package.json +1 -1
  19. package/src/PM/PM_WithEslintAndTsc.ts +8 -1
  20. package/src/lib/baseBuilder.test/baseBuilder.test.implementation.ts +15 -9
  21. package/src/lib/baseBuilder.test/baseBuilder.test.mock.ts +4 -1
  22. package/src/lib/baseBuilder.test/baseBuilder.test.specification.ts +6 -1
  23. package/src/lib/classBuilder.test/classBuilder.test.implementation.ts +8 -5
  24. package/testeranto/bundles/node/allTests/metafile.json +15 -10
  25. package/testeranto/bundles/node/allTests/src/lib/baseBuilder.test/baseBuilder.test.node.mjs +22 -5
  26. package/testeranto/bundles/node/allTests/src/lib/classBuilder.test/classBuilder.test.mjs +7 -7
  27. package/testeranto/bundles/pure/allTests/metafile.json +7 -7
  28. package/testeranto/bundles/pure/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure.mjs +22 -5
  29. package/testeranto/bundles/web/allTests/metafile.json +7 -7
  30. package/testeranto/bundles/web/allTests/src/lib/baseBuilder.test/baseBuilder.test.web.mjs +22 -5
  31. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/lint_errors.txt +4 -4
  32. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/message.txt +2 -1
  33. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/prompt.txt +5 -0
  34. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/type_errors.txt +22 -19
  35. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/lint_errors.txt +4 -4
  36. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/message.txt +2 -1
  37. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/prompt.txt +5 -0
  38. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/type_errors.txt +22 -19
  39. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/lint_errors.txt +4 -4
  40. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/logs.txt +4 -4
  41. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/message.txt +2 -1
  42. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/prompt.txt +5 -0
  43. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/type_errors.txt +22 -19
  44. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/bdd_errors.txt +1 -0
  45. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/logs.txt +85 -23
  46. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/message.txt +2 -1
  47. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/prompt.txt +5 -0
  48. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/tests.json +24 -0
  49. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/type_errors.txt +13 -9
  50. package/testeranto/reports/allTests/summary.json +5 -5
package/docs/index.md CHANGED
@@ -35,7 +35,7 @@ async <I extends Ibdd_in_any, O extends Ibdd_out, M>(
35
35
  input: I["iinput"],
36
36
  testSpecification: ITestSpecification<I, O>,
37
37
  testImplementation: ITestImplementation<I, O, M>,
38
- testInterface: Partial<ITestInterface<I>>,
38
+ testAdapter: Partial<ITestInterface<I>>,
39
39
  testResourceRequirement: ITTestResourceRequest = defaultTestResourceRequirement
40
40
  ): Promise<Testeranto<I, O, M>>
41
41
  ```
@@ -175,7 +175,6 @@ The Implementation provides the concrete operations that bring specifications to
175
175
  - `givens`: Initial test states/setup
176
176
  - `whens`: Actions that change state
177
177
  - `thens`: Assertions and validations
178
- - `checks`: Additional verification points
179
178
 
180
179
  ```ts
181
180
  import {
@@ -227,11 +226,7 @@ export const implementation: ITestImplementation<
227
226
  assert.equal(rectangle.circumference(), circumference);
228
227
  return rectangle;
229
228
  },
230
- },
231
-
232
- checks: {
233
- Default: () => new Rectangle(2, 2),
234
- },
229
+ }
235
230
  };
236
231
  ```
237
232
 
@@ -246,7 +241,7 @@ import {
246
241
  } from "testeranto/src/CoreTypes";
247
242
 
248
243
  // Note the type parameter. This is important!
249
- export const testInterface: ITestInterface<
244
+ export const testAdapter: ITestInterface<
250
245
  I extends Ibdd_in,
251
246
  > = {
252
247
  beforeEach: async (subject, i) => {
@@ -445,7 +440,7 @@ type M = {
445
440
  };
446
441
  };
447
442
 
448
- const testInterface: ITestInterface<
443
+ const testAdapter: ITestInterface<
449
444
  I extends Ibdd_in,
450
445
  > = {
451
446
  beforeEach: async (subject, i) => {
@@ -506,11 +501,7 @@ const testImplementation: ITestImplementation<
506
501
  assert.equal(rectangle.circumference(), circumference);
507
502
  return rectangle;
508
503
  },
509
- },
510
-
511
- checks: {
512
- Default: () => new Rectangle(2, 2),
513
- },
504
+ }
514
505
  };
515
506
 
516
507
  const testSpecification: ITestSpecification<
package/docs.html CHANGED
@@ -65,7 +65,7 @@
65
65
  input: I["iinput"],
66
66
  testSpecification: ITestSpecification<I, O>,
67
67
  testImplementation: ITestImplementation<I, O, M>,
68
- testInterface: Partial<ITestInterface<I>>,
68
+ testAdapter: Partial<ITestInterface<I>>,
69
69
  testResourceRequirement: ITTestResourceRequest = defaultTestResourceRequirement
70
70
  ): Promise<Testeranto<I, O, M>></pre><h3>Testeranto&#39;s 3 runtimes</h3>
71
71
  <p>For each of testeranto&#39;s runtime, there is a specific Testeranto main function. Each is it&#39;s own import but all 3 are called in the same way.</p>
@@ -177,7 +177,6 @@ export const specification: ITestSpecification<
177
177
  <li><code>givens</code>: Initial test states/setup</li>
178
178
  <li><code>whens</code>: Actions that change state</li>
179
179
  <li><code>thens</code>: Assertions and validations</li>
180
- <li><code>checks</code>: Additional verification points</li>
181
180
  </ul>
182
181
  <pre>import {
183
182
  Ibdd_in,
@@ -228,11 +227,7 @@ export const implementation: ITestImplementation<
228
227
  assert.equal(rectangle.circumference(), circumference);
229
228
  return rectangle;
230
229
  },
231
- },
232
-
233
- checks: {
234
- Default: () => new Rectangle(2, 2),
235
- },
230
+ }
236
231
  };</pre><h4>The Interface aka ITestInterface</h4>
237
232
  <p>The test interface is code which is NOT business logic. The interface adapts your test subject so that the BDD hooks can be applied. The interface implements the traditional BDD steps &quot;before all&quot;, &quot;after all&quot;, &quot;before each&quot;, &quot;after each&quot;, etc</p>
238
233
  <pre>import {
@@ -241,7 +236,7 @@ export const implementation: ITestImplementation<
241
236
  } from "testeranto/src/CoreTypes";
242
237
 
243
238
  // Note the type parameter. This is important!
244
- export const testInterface: ITestInterface<
239
+ export const testAdapter: ITestInterface<
245
240
  I extends Ibdd_in,
246
241
  > = {
247
242
  beforeEach: async (subject, i) => {
@@ -416,7 +411,7 @@ type M = {
416
411
  };
417
412
  };
418
413
 
419
- const testInterface: ITestInterface<
414
+ const testAdapter: ITestInterface<
420
415
  I extends Ibdd_in,
421
416
  > = {
422
417
  beforeEach: async (subject, i) => {
@@ -477,11 +472,7 @@ const testImplementation: ITestImplementation<
477
472
  assert.equal(rectangle.circumference(), circumference);
478
473
  return rectangle;
479
474
  },
480
- },
481
-
482
- checks: {
483
- Default: () => new Rectangle(2, 2),
484
- },
475
+ }
485
476
  };
486
477
 
487
478
  const testSpecification: ITestSpecification<
package/index.html CHANGED
@@ -46,7 +46,7 @@
46
46
  <h4>🚧 Testeranto is still under development but a beta version will be released soon. If you are interested in joining the beta program, send an email to <a href="mailto:testeranto.dev@gmail.com">testeranto.dev@gmail.com</a>. 🚧</h4>
47
47
  <h2>quick links</h2>
48
48
  <ul>
49
- <li>an example of the reports generated: <a href="https://adamwong246.github.io/testeranto/testeranto/index.html">adamwong246.github.io/testeranto/testeranto</a></li>
49
+ <li>an example of the reports generated: <a href="/testeranto/projects.html">adamwong246.github.io/testeranto/testeranto</a></li>
50
50
  <li>demo of me using testeranto to fix a bug: <a href="https://www.youtube.com/embed/WvU5xMqGi6Q">youtube</a></li>
51
51
  <li>a starter testeranto project: <a href="https://github.com/adamwong246/testeranto-starter">testeranto-starter</a></li>
52
52
  </ul>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "testeranto",
3
3
  "description": "the AI powered BDD test framework for typescript projects",
4
- "version": "0.160.0",
4
+ "version": "0.163.0",
5
5
  "engines": {
6
6
  "node": "18.18.0"
7
7
  },
@@ -210,6 +210,11 @@ ${addableFiles
210
210
  })
211
211
  .join("\n")}
212
212
 
213
+ /read node_modules/testeranto/docs/index.md
214
+ /read node_modules/testeranto/docs/style.md
215
+ /read node_modules/testeranto/docs/testing.ai.txt
216
+ /read node_modules/testeranto/src/CoreTypes.ts
217
+
213
218
  /read ${testPaths}
214
219
  /read ${logPath}
215
220
  /read ${typePath}
@@ -219,7 +224,9 @@ ${addableFiles
219
224
 
220
225
  fs.writeFileSync(
221
226
  messagePath,
222
- `Fix the failing tests described in ${testPaths} and ${logPath}. DO NOT refactor beyond what is necessary. Always prefer minimal changes, focusing mostly on keeping the BDD tests passing`
227
+ `
228
+ Fix the failing tests described in ${testPaths} and ${logPath}. Focus on the bdd tests before all other concerns. You may add any debugging you think is necessary.
229
+ `
223
230
  );
224
231
 
225
232
  this.summary[
@@ -15,16 +15,22 @@ export const implementation: ITestImplementation<I, O, {}> = {
15
15
 
16
16
  givens: {
17
17
  Default: () => {
18
- return new MockBaseBuilder(
19
- {},
20
- {},
21
- {},
22
- {},
23
- {},
24
- {},
25
- { ports: [] },
26
- () => []
18
+ const builder = new MockBaseBuilder(
19
+ {}, // input
20
+ {}, // suitesOverrides
21
+ {}, // givenOverrides
22
+ {}, // whenOverrides
23
+ {}, // thenOverrides
24
+ { ports: [0] }, // testResourceRequirement
25
+ () => [] // testSpecification
27
26
  );
27
+
28
+ // Initialize required arrays
29
+ builder.artifacts = [];
30
+ builder.testJobs = [];
31
+ builder.specs = [];
32
+
33
+ return builder;
28
34
  },
29
35
  WithCustomInput: (input: any) => {
30
36
  return new MockBaseBuilder(
@@ -40,9 +40,12 @@ export class MockBaseBuilder<
40
40
  givenOverrides: Record<keyof GivenExtensions, IGivenKlasser<I>> = {} as any,
41
41
  whenOverrides: Record<keyof WhenExtensions, IWhenKlasser<I>> = {} as any,
42
42
  thenOverrides: Record<keyof ThenExtensions, IThenKlasser<I>> = {} as any,
43
- testResourceRequirement: ITTestResourceRequest = { ports: [] },
43
+ testResourceRequirement: ITTestResourceRequest = { ports: [0] },
44
44
  testSpecification: ITestSpecification<I, O> = () => []
45
45
  ) {
46
+ // Initialize required arrays
47
+ this.artifacts = [];
48
+ this.testJobs = [];
46
49
  super(
47
50
  input,
48
51
  suitesOverrides,
@@ -15,7 +15,12 @@ export const specification: ITestSpecification<I, O> = (
15
15
  testInitialization: Given.Default(
16
16
  ["BaseBuilder should initialize correctly"],
17
17
  [],
18
- [Then.initializedProperly()]
18
+ [
19
+ Then.initializedProperly(),
20
+ Then.artifactsTracked(),
21
+ Then.jobsCreated(),
22
+ Then.specsGenerated()
23
+ ]
19
24
  ),
20
25
  testSpecsGeneration: Given.Default(
21
26
  ["BaseBuilder should generate specs from test specification"],
@@ -4,6 +4,7 @@ import { PassThrough } from "stream";
4
4
 
5
5
  import { ITestImplementation, ITestSpecification } from "../../CoreTypes";
6
6
  import mock from "./mock";
7
+ import { TestClassBuilder } from "../classBuilder";
7
8
 
8
9
  import { I, O, M } from "./classBuilder.test.types";
9
10
 
@@ -19,18 +20,19 @@ export const implementation: ITestImplementation<I, O, M> = {
19
20
 
20
21
  givens: {
21
22
  Default: () => {
22
- return new mock(
23
+ console.log('Creating default test builder instance');
24
+ const builder = new mock(
23
25
  implementation, // Use the current implementation
24
26
  specification, // Use the current specification
25
27
  {}, // Default input
26
28
  MockSuite,
27
- // class {}, // suiteKlasser
28
29
  class {}, // givenKlasser
29
30
  class {}, // whenKlasser
30
31
  class {}, // thenKlasser
31
- class {}, // checkKlasser
32
32
  { ports: [] } // Default resource requirements
33
33
  );
34
+ console.log('Builder created:', builder);
35
+ return builder;
34
36
  },
35
37
  WithCustomInput: (input: any) => {
36
38
  return new mock(
@@ -110,8 +112,9 @@ export const implementation: ITestImplementation<I, O, M> = {
110
112
 
111
113
  thens: {
112
114
  initializedProperly: () => (builder: any) => {
113
- if (!(builder instanceof TestClassBuilder)) {
114
- throw new Error("Builder was not properly initialized");
115
+ console.log('Checking builder initialization:', builder);
116
+ if (!(builder instanceof mock)) {
117
+ throw new Error(`Builder was not properly initialized. Expected mock instance but got ${builder?.constructor?.name}`);
115
118
  }
116
119
  return builder;
117
120
  },
@@ -357,7 +357,7 @@
357
357
  "format": "esm"
358
358
  },
359
359
  "src/lib/classBuilder.test/classBuilder.test.implementation.ts": {
360
- "bytes": 5476,
360
+ "bytes": 5711,
361
361
  "imports": [
362
362
  {
363
363
  "path": "stream",
@@ -374,6 +374,11 @@
374
374
  "kind": "import-statement",
375
375
  "original": "./mock"
376
376
  },
377
+ {
378
+ "path": "../classBuilder",
379
+ "kind": "import-statement",
380
+ "external": true
381
+ },
377
382
  {
378
383
  "path": "./classBuilder.test.types",
379
384
  "kind": "import-statement",
@@ -502,7 +507,7 @@
502
507
  "format": "esm"
503
508
  },
504
509
  "src/lib/baseBuilder.test/baseBuilder.test.specification.ts": {
505
- "bytes": 802,
510
+ "bytes": 930,
506
511
  "imports": [
507
512
  {
508
513
  "path": "../../CoreTypes",
@@ -518,7 +523,7 @@
518
523
  "format": "esm"
519
524
  },
520
525
  "src/lib/baseBuilder.test/baseBuilder.test.mock.ts": {
521
- "bytes": 1917,
526
+ "bytes": 2001,
522
527
  "imports": [
523
528
  {
524
529
  "path": "../../CoreTypes",
@@ -544,7 +549,7 @@
544
549
  "format": "esm"
545
550
  },
546
551
  "src/lib/baseBuilder.test/baseBuilder.test.implementation.ts": {
547
- "bytes": 3194,
552
+ "bytes": 3478,
548
553
  "imports": [
549
554
  {
550
555
  "path": "../../CoreTypes",
@@ -671,7 +676,7 @@
671
676
  "bytesInOutput": 1162
672
677
  },
673
678
  "src/lib/classBuilder.test/classBuilder.test.implementation.ts": {
674
- "bytesInOutput": 5074
679
+ "bytesInOutput": 5256
675
680
  },
676
681
  "src/lib/classBuilder.test/classBuilder.test.adapter.ts": {
677
682
  "bytesInOutput": 405
@@ -680,7 +685,7 @@
680
685
  "bytesInOutput": 124
681
686
  }
682
687
  },
683
- "bytes": 18251
688
+ "bytes": 18433
684
689
  },
685
690
  "testeranto/bundles/node/allTests/src/lib/baseBuilder.test/baseBuilder.test.node.mjs": {
686
691
  "imports": [
@@ -701,13 +706,13 @@
701
706
  "bytesInOutput": 862
702
707
  },
703
708
  "src/lib/baseBuilder.test/baseBuilder.test.specification.ts": {
704
- "bytesInOutput": 650
709
+ "bytesInOutput": 778
705
710
  },
706
711
  "src/lib/baseBuilder.test/baseBuilder.test.mock.ts": {
707
- "bytesInOutput": 927
712
+ "bytesInOutput": 977
708
713
  },
709
714
  "src/lib/baseBuilder.test/baseBuilder.test.implementation.ts": {
710
- "bytesInOutput": 2595
715
+ "bytesInOutput": 2885
711
716
  },
712
717
  "src/lib/baseBuilder.test/baseBuilder.test.adapter.ts": {
713
718
  "bytesInOutput": 373
@@ -716,7 +721,7 @@
716
721
  "bytesInOutput": 131
717
722
  }
718
723
  },
719
- "bytes": 9257
724
+ "bytes": 9725
720
725
  },
721
726
  "testeranto/bundles/node/allTests/chunk-4NYHHJ7H.mjs": {
722
727
  "imports": [],
@@ -176,7 +176,12 @@ var specification = (Suite, Given, When, Then) => {
176
176
  testInitialization: Given.Default(
177
177
  ["BaseBuilder should initialize correctly"],
178
178
  [],
179
- [Then.initializedProperly()]
179
+ [
180
+ Then.initializedProperly(),
181
+ Then.artifactsTracked(),
182
+ Then.jobsCreated(),
183
+ Then.specsGenerated()
184
+ ]
180
185
  ),
181
186
  testSpecsGeneration: Given.Default(
182
187
  ["BaseBuilder should generate specs from test specification"],
@@ -196,7 +201,9 @@ var specification = (Suite, Given, When, Then) => {
196
201
 
197
202
  // src/lib/baseBuilder.test/baseBuilder.test.mock.ts
198
203
  var MockBaseBuilder = class extends BaseBuilder {
199
- constructor(input, suitesOverrides = {}, givenOverrides = {}, whenOverrides = {}, thenOverrides = {}, testResourceRequirement = { ports: [] }, testSpecification = () => []) {
204
+ constructor(input, suitesOverrides = {}, givenOverrides = {}, whenOverrides = {}, thenOverrides = {}, testResourceRequirement = { ports: [0] }, testSpecification = () => []) {
205
+ this.artifacts = [];
206
+ this.testJobs = [];
200
207
  super(
201
208
  input,
202
209
  suitesOverrides,
@@ -239,16 +246,26 @@ var implementation = {
239
246
  },
240
247
  givens: {
241
248
  Default: () => {
242
- return new MockBaseBuilder(
243
- {},
249
+ const builder = new MockBaseBuilder(
244
250
  {},
251
+ // input
245
252
  {},
253
+ // suitesOverrides
246
254
  {},
255
+ // givenOverrides
247
256
  {},
257
+ // whenOverrides
248
258
  {},
249
- { ports: [] },
259
+ // thenOverrides
260
+ { ports: [0] },
261
+ // testResourceRequirement
250
262
  () => []
263
+ // testSpecification
251
264
  );
265
+ builder.artifacts = [];
266
+ builder.testJobs = [];
267
+ builder.specs = [];
268
+ return builder;
252
269
  },
253
270
  WithCustomInput: (input) => {
254
271
  return new MockBaseBuilder(
@@ -448,7 +448,8 @@ var implementation = {
448
448
  },
449
449
  givens: {
450
450
  Default: () => {
451
- return new TestClassBuilderMock(
451
+ console.log("Creating default test builder instance");
452
+ const builder = new TestClassBuilderMock(
452
453
  implementation,
453
454
  // Use the current implementation
454
455
  specification,
@@ -456,7 +457,6 @@ var implementation = {
456
457
  {},
457
458
  // Default input
458
459
  MockSuite,
459
- // class {}, // suiteKlasser
460
460
  class {
461
461
  },
462
462
  // givenKlasser
@@ -466,12 +466,11 @@ var implementation = {
466
466
  class {
467
467
  },
468
468
  // thenKlasser
469
- class {
470
- },
471
- // checkKlasser
472
469
  { ports: [] }
473
470
  // Default resource requirements
474
471
  );
472
+ console.log("Builder created:", builder);
473
+ return builder;
475
474
  },
476
475
  WithCustomInput: (input) => {
477
476
  return new TestClassBuilderMock(
@@ -569,8 +568,9 @@ var implementation = {
569
568
  },
570
569
  thens: {
571
570
  initializedProperly: () => (builder) => {
572
- if (!(builder instanceof TestClassBuilder)) {
573
- throw new Error("Builder was not properly initialized");
571
+ console.log("Checking builder initialization:", builder);
572
+ if (!(builder instanceof TestClassBuilderMock)) {
573
+ throw new Error(`Builder was not properly initialized. Expected mock instance but got ${builder?.constructor?.name}`);
574
574
  }
575
575
  return builder;
576
576
  },
@@ -360,7 +360,7 @@
360
360
  "format": "esm"
361
361
  },
362
362
  "src/lib/baseBuilder.test/baseBuilder.test.specification.ts": {
363
- "bytes": 802,
363
+ "bytes": 930,
364
364
  "imports": [
365
365
  {
366
366
  "path": "../../CoreTypes",
@@ -376,7 +376,7 @@
376
376
  "format": "esm"
377
377
  },
378
378
  "src/lib/baseBuilder.test/baseBuilder.test.mock.ts": {
379
- "bytes": 1917,
379
+ "bytes": 2001,
380
380
  "imports": [
381
381
  {
382
382
  "path": "../../CoreTypes",
@@ -402,7 +402,7 @@
402
402
  "format": "esm"
403
403
  },
404
404
  "src/lib/baseBuilder.test/baseBuilder.test.implementation.ts": {
405
- "bytes": 3194,
405
+ "bytes": 3478,
406
406
  "imports": [
407
407
  {
408
408
  "path": "../../CoreTypes",
@@ -524,13 +524,13 @@
524
524
  "bytesInOutput": 862
525
525
  },
526
526
  "src/lib/baseBuilder.test/baseBuilder.test.specification.ts": {
527
- "bytesInOutput": 650
527
+ "bytesInOutput": 778
528
528
  },
529
529
  "src/lib/baseBuilder.test/baseBuilder.test.mock.ts": {
530
- "bytesInOutput": 927
530
+ "bytesInOutput": 977
531
531
  },
532
532
  "src/lib/baseBuilder.test/baseBuilder.test.implementation.ts": {
533
- "bytesInOutput": 2595
533
+ "bytesInOutput": 2885
534
534
  },
535
535
  "src/lib/baseBuilder.test/baseBuilder.test.adapter.ts": {
536
536
  "bytesInOutput": 373
@@ -539,7 +539,7 @@
539
539
  "bytesInOutput": 131
540
540
  }
541
541
  },
542
- "bytes": 25213
542
+ "bytes": 25681
543
543
  }
544
544
  }
545
545
  }
@@ -815,7 +815,12 @@ var specification = (Suite, Given, When, Then) => {
815
815
  testInitialization: Given.Default(
816
816
  ["BaseBuilder should initialize correctly"],
817
817
  [],
818
- [Then.initializedProperly()]
818
+ [
819
+ Then.initializedProperly(),
820
+ Then.artifactsTracked(),
821
+ Then.jobsCreated(),
822
+ Then.specsGenerated()
823
+ ]
819
824
  ),
820
825
  testSpecsGeneration: Given.Default(
821
826
  ["BaseBuilder should generate specs from test specification"],
@@ -835,7 +840,9 @@ var specification = (Suite, Given, When, Then) => {
835
840
 
836
841
  // src/lib/baseBuilder.test/baseBuilder.test.mock.ts
837
842
  var MockBaseBuilder = class extends BaseBuilder {
838
- constructor(input, suitesOverrides = {}, givenOverrides = {}, whenOverrides = {}, thenOverrides = {}, testResourceRequirement = { ports: [] }, testSpecification = () => []) {
843
+ constructor(input, suitesOverrides = {}, givenOverrides = {}, whenOverrides = {}, thenOverrides = {}, testResourceRequirement = { ports: [0] }, testSpecification = () => []) {
844
+ this.artifacts = [];
845
+ this.testJobs = [];
839
846
  super(
840
847
  input,
841
848
  suitesOverrides,
@@ -878,16 +885,26 @@ var implementation = {
878
885
  },
879
886
  givens: {
880
887
  Default: () => {
881
- return new MockBaseBuilder(
882
- {},
888
+ const builder = new MockBaseBuilder(
883
889
  {},
890
+ // input
884
891
  {},
892
+ // suitesOverrides
885
893
  {},
894
+ // givenOverrides
886
895
  {},
896
+ // whenOverrides
887
897
  {},
888
- { ports: [] },
898
+ // thenOverrides
899
+ { ports: [0] },
900
+ // testResourceRequirement
889
901
  () => []
902
+ // testSpecification
890
903
  );
904
+ builder.artifacts = [];
905
+ builder.testJobs = [];
906
+ builder.specs = [];
907
+ return builder;
891
908
  },
892
909
  WithCustomInput: (input) => {
893
910
  return new MockBaseBuilder(
@@ -519,7 +519,7 @@
519
519
  "format": "esm"
520
520
  },
521
521
  "src/lib/baseBuilder.test/baseBuilder.test.specification.ts": {
522
- "bytes": 802,
522
+ "bytes": 930,
523
523
  "imports": [
524
524
  {
525
525
  "path": "../../CoreTypes",
@@ -550,7 +550,7 @@
550
550
  "format": "esm"
551
551
  },
552
552
  "src/lib/baseBuilder.test/baseBuilder.test.mock.ts": {
553
- "bytes": 1917,
553
+ "bytes": 2001,
554
554
  "imports": [
555
555
  {
556
556
  "path": "../../CoreTypes",
@@ -591,7 +591,7 @@
591
591
  "format": "esm"
592
592
  },
593
593
  "src/lib/baseBuilder.test/baseBuilder.test.implementation.ts": {
594
- "bytes": 3194,
594
+ "bytes": 3478,
595
595
  "imports": [
596
596
  {
597
597
  "path": "../../CoreTypes",
@@ -758,13 +758,13 @@
758
758
  "bytesInOutput": 1710
759
759
  },
760
760
  "src/lib/baseBuilder.test/baseBuilder.test.specification.ts": {
761
- "bytesInOutput": 650
761
+ "bytesInOutput": 778
762
762
  },
763
763
  "src/lib/baseBuilder.test/baseBuilder.test.mock.ts": {
764
- "bytesInOutput": 927
764
+ "bytesInOutput": 977
765
765
  },
766
766
  "src/lib/baseBuilder.test/baseBuilder.test.implementation.ts": {
767
- "bytesInOutput": 2595
767
+ "bytesInOutput": 2885
768
768
  },
769
769
  "src/lib/baseBuilder.test/baseBuilder.test.adapter.ts": {
770
770
  "bytesInOutput": 373
@@ -773,7 +773,7 @@
773
773
  "bytesInOutput": 129
774
774
  }
775
775
  },
776
- "bytes": 25925
776
+ "bytes": 26393
777
777
  }
778
778
  }
779
779
  }
@@ -837,7 +837,12 @@ var specification = (Suite, Given, When, Then) => {
837
837
  testInitialization: Given.Default(
838
838
  ["BaseBuilder should initialize correctly"],
839
839
  [],
840
- [Then.initializedProperly()]
840
+ [
841
+ Then.initializedProperly(),
842
+ Then.artifactsTracked(),
843
+ Then.jobsCreated(),
844
+ Then.specsGenerated()
845
+ ]
841
846
  ),
842
847
  testSpecsGeneration: Given.Default(
843
848
  ["BaseBuilder should generate specs from test specification"],
@@ -857,7 +862,9 @@ var specification = (Suite, Given, When, Then) => {
857
862
 
858
863
  // src/lib/baseBuilder.test/baseBuilder.test.mock.ts
859
864
  var MockBaseBuilder = class extends BaseBuilder {
860
- constructor(input, suitesOverrides = {}, givenOverrides = {}, whenOverrides = {}, thenOverrides = {}, testResourceRequirement = { ports: [] }, testSpecification = () => []) {
865
+ constructor(input, suitesOverrides = {}, givenOverrides = {}, whenOverrides = {}, thenOverrides = {}, testResourceRequirement = { ports: [0] }, testSpecification = () => []) {
866
+ this.artifacts = [];
867
+ this.testJobs = [];
861
868
  super(
862
869
  input,
863
870
  suitesOverrides,
@@ -900,16 +907,26 @@ var implementation = {
900
907
  },
901
908
  givens: {
902
909
  Default: () => {
903
- return new MockBaseBuilder(
904
- {},
910
+ const builder = new MockBaseBuilder(
905
911
  {},
912
+ // input
906
913
  {},
914
+ // suitesOverrides
907
915
  {},
916
+ // givenOverrides
908
917
  {},
918
+ // whenOverrides
909
919
  {},
910
- { ports: [] },
920
+ // thenOverrides
921
+ { ports: [0] },
922
+ // testResourceRequirement
911
923
  () => []
924
+ // testSpecification
912
925
  );
926
+ builder.artifacts = [];
927
+ builder.testJobs = [];
928
+ builder.specs = [];
929
+ return builder;
913
930
  },
914
931
  WithCustomInput: (input) => {
915
932
  return new MockBaseBuilder(