testeranto 0.90.0 → 0.100.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 (133) hide show
  1. package/bundle.js +4 -7
  2. package/dist/common/src/Node.js +5 -3
  3. package/dist/common/src/PM/main.js +254 -126
  4. package/dist/common/src/PM/node.js +20 -5
  5. package/dist/common/src/PM/web.js +19 -4
  6. package/dist/common/src/SubPackages/puppeteer.js +1 -1
  7. package/dist/common/src/SubPackages/react/jsx/index.js +14 -6
  8. package/dist/common/src/SubPackages/react/jsx/node.js +2 -2
  9. package/dist/common/src/SubPackages/react-dom/component/web.js +13 -39
  10. package/dist/common/src/SubPackages/react-test-renderer/component/interface.js +2 -10
  11. package/dist/common/src/Web.js +25 -21
  12. package/dist/common/src/cli.js +439 -0
  13. package/dist/common/src/cli2.js +144 -0
  14. package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +18 -8
  15. package/dist/common/src/esbuildConfigs/node.js +1 -4
  16. package/dist/common/src/esbuildConfigs/web.js +1 -1
  17. package/dist/common/src/lib/abstractBase.js +31 -263
  18. package/dist/common/src/lib/basebuilder.js +1 -11
  19. package/dist/common/src/lib/classBuilder.js +1 -1
  20. package/dist/common/src/lib/core.js +8 -28
  21. package/dist/common/src/lib/types.js +1 -0
  22. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  23. package/dist/module/src/Node.js +5 -3
  24. package/dist/module/src/PM/main.js +254 -126
  25. package/dist/module/src/PM/node.js +20 -5
  26. package/dist/module/src/PM/web.js +19 -4
  27. package/dist/module/src/SubPackages/puppeteer.js +1 -1
  28. package/dist/module/src/SubPackages/react/jsx/index.js +14 -6
  29. package/dist/module/src/SubPackages/react/jsx/node.js +2 -2
  30. package/dist/module/src/SubPackages/react-dom/component/web.js +13 -39
  31. package/dist/module/src/SubPackages/react-test-renderer/component/interface.js +2 -10
  32. package/dist/module/src/Web.js +25 -21
  33. package/dist/module/src/cli.js +411 -0
  34. package/dist/module/src/cli2.js +116 -0
  35. package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +18 -8
  36. package/dist/module/src/esbuildConfigs/node.js +1 -4
  37. package/dist/module/src/esbuildConfigs/web.js +1 -1
  38. package/dist/module/src/lib/abstractBase.js +31 -263
  39. package/dist/module/src/lib/basebuilder.js +1 -11
  40. package/dist/module/src/lib/classBuilder.js +1 -1
  41. package/dist/module/src/lib/core.js +8 -28
  42. package/dist/module/src/lib/types.js +1 -0
  43. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  44. package/dist/prebuild/cli.mjs +1491 -0
  45. package/dist/prebuild/{run-tests.mjs → cli2.mjs} +223 -212
  46. package/dist/types/src/Node.d.ts +6 -3
  47. package/dist/types/src/PM/index.d.ts +10 -2
  48. package/dist/types/src/PM/main.d.ts +14 -7
  49. package/dist/types/src/PM/node.d.ts +9 -2
  50. package/dist/types/src/PM/web.d.ts +9 -3
  51. package/dist/types/src/SubPackages/puppeteer.d.ts +1 -1
  52. package/dist/types/src/SubPackages/react/component/node.d.ts +1 -1
  53. package/dist/types/src/SubPackages/react/component/web.d.ts +1 -1
  54. package/dist/types/src/SubPackages/react/jsx/node.d.ts +3 -3
  55. package/dist/types/src/SubPackages/react/jsx/web.d.ts +2 -2
  56. package/dist/types/src/SubPackages/react-dom/component/node.d.ts +2 -2
  57. package/dist/types/src/SubPackages/react-dom/component/web.d.ts +1 -1
  58. package/dist/types/src/SubPackages/react-dom/jsx/node.d.ts +1 -1
  59. package/dist/types/src/SubPackages/react-dom/jsx/web.d.ts +2 -2
  60. package/dist/types/src/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +2 -2
  61. package/dist/types/src/SubPackages/react-test-renderer/component/interface.d.ts +1 -1
  62. package/dist/types/src/SubPackages/react-test-renderer/component/node.d.ts +2 -2
  63. package/dist/types/src/SubPackages/react-test-renderer/component/web.d.ts +2 -2
  64. package/dist/types/src/SubPackages/react-test-renderer/fc/node.d.ts +2 -2
  65. package/dist/types/src/SubPackages/react-test-renderer/fc/web.d.ts +2 -2
  66. package/dist/types/src/SubPackages/react-test-renderer/jsx/node.d.ts +3 -2
  67. package/dist/types/src/SubPackages/react-test-renderer/jsx/web.d.ts +2 -2
  68. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/node.d.ts +2 -2
  69. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/web.d.ts +2 -2
  70. package/dist/types/src/Types.d.ts +60 -21
  71. package/dist/types/src/Web.d.ts +3 -3
  72. package/dist/types/src/lib/abstractBase.d.ts +6 -2
  73. package/dist/types/src/lib/core.d.ts +3 -3
  74. package/dist/types/src/lib/index.d.ts +1 -1
  75. package/dist/types/src/lib/types.d.ts +6 -30
  76. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  77. package/package.json +23 -20
  78. package/src/Node.ts +6 -3
  79. package/src/PM/index.ts +12 -8
  80. package/src/PM/main.ts +331 -165
  81. package/src/PM/node.ts +42 -7
  82. package/src/PM/web.ts +33 -5
  83. package/src/SubPackages/puppeteer.ts +1 -1
  84. package/src/SubPackages/react/jsx/index.ts +15 -7
  85. package/src/SubPackages/react/jsx/node.ts +18 -6
  86. package/src/SubPackages/react-dom/component/web.ts +28 -51
  87. package/src/SubPackages/react-test-renderer/component/interface.ts +4 -11
  88. package/src/SubPackages/react-test-renderer/jsx/node.ts +16 -1
  89. package/src/Types.ts +362 -114
  90. package/src/Web.ts +45 -23
  91. package/src/cli.ts +535 -0
  92. package/src/cli2.ts +157 -0
  93. package/src/esbuildConfigs/inputFilesPlugin.ts +27 -9
  94. package/src/esbuildConfigs/node.ts +4 -7
  95. package/src/esbuildConfigs/web.ts +4 -3
  96. package/src/lib/abstractBase.ts +84 -291
  97. package/src/lib/basebuilder.ts +1 -12
  98. package/src/lib/classBuilder.ts +2 -1
  99. package/src/lib/core.ts +17 -29
  100. package/src/lib/types.ts +5 -177
  101. package/dist/common/src/Aider.js +0 -143
  102. package/dist/common/src/Project.js +0 -225
  103. package/dist/common/src/Puppeteer.js +0 -113
  104. package/dist/common/src/build-tests.js +0 -39
  105. package/dist/common/src/esbuildConfigs/features.js +0 -14
  106. package/dist/common/src/esbuildConfigs/report.js +0 -14
  107. package/dist/common/src/esbuildConfigs/tests.js +0 -13
  108. package/dist/common/src/run-tests.js +0 -39
  109. package/dist/module/src/Aider.js +0 -136
  110. package/dist/module/src/Project.js +0 -218
  111. package/dist/module/src/Puppeteer.js +0 -108
  112. package/dist/module/src/build-tests.js +0 -11
  113. package/dist/module/src/esbuildConfigs/features.js +0 -12
  114. package/dist/module/src/esbuildConfigs/report.js +0 -14
  115. package/dist/module/src/esbuildConfigs/tests.js +0 -11
  116. package/dist/module/src/run-tests.js +0 -11
  117. package/dist/prebuild/build-tests.mjs +0 -552
  118. package/dist/types/src/Aider.d.ts +0 -1
  119. package/dist/types/src/Project.d.ts +0 -12
  120. package/dist/types/src/Puppeteer.d.ts +0 -2
  121. package/dist/types/src/esbuildConfigs/features.d.ts +0 -4
  122. package/dist/types/src/esbuildConfigs/report.d.ts +0 -0
  123. package/dist/types/src/esbuildConfigs/tests.d.ts +0 -4
  124. package/src/Aider.ts +0 -168
  125. package/src/Project.ts +0 -291
  126. package/src/Puppeteer.ts +0 -145
  127. package/src/build-tests.ts +0 -12
  128. package/src/esbuildConfigs/features.ts +0 -17
  129. package/src/esbuildConfigs/report.ts +0 -15
  130. package/src/esbuildConfigs/tests.ts +0 -14
  131. package/src/run-tests.ts +0 -12
  132. /package/dist/types/src/{build-tests.d.ts → cli.d.ts} +0 -0
  133. /package/dist/types/src/{run-tests.d.ts → cli2.d.ts} +0 -0
@@ -44,80 +44,29 @@ class BaseSuite {
44
44
  this.testResourceConfiguration = testResourceConfiguration;
45
45
  tLog("test resources: ", JSON.stringify(testResourceConfiguration));
46
46
  const suiteArtifactory = (fPath, value) => artifactory(`suite-${this.index}-${this.name}/${fPath}`, value);
47
- console.log("\nSuite:", this.index, this.name);
47
+ // console.log("\nSuite:", this.index, this.name);
48
48
  tLog("\nSuite:", this.index, this.name);
49
49
  const sNdx = this.index;
50
50
  const sName = this.name;
51
- for (const [gNdx, g] of Object.entries(this.givens)) {
51
+ for (const [gKey, g] of Object.entries(this.givens)) {
52
+ // console.log("gKey", gKey);
52
53
  const beforeAllProxy = new Proxy(pm, {
53
54
  get(target, prop, receiver) {
54
55
  if (prop === "customScreenShot") {
55
- return (opts) => target.customScreenShot(Object.assign(Object.assign({}, opts), {
56
+ return (opts, p) => target.customScreenShot(Object.assign(Object.assign({}, opts), {
56
57
  // path: `${filepath}/${opts.path}`,
57
- path: `suite-${sNdx}/beforeAll/${opts.path}` }));
58
+ path: `suite-${sNdx}/beforeAll/${opts.path}` }), p);
58
59
  }
59
60
  if (prop === "writeFileSync") {
60
61
  return (fp, contents) => target[prop](`suite-${sNdx}/beforeAll/${fp}`, contents);
61
62
  }
62
- // if (prop === "browser") {
63
- // return new Proxy(target[prop], {
64
- // get(bTarget, bProp, bReceiver) {
65
- // if (bProp === "pages") {
66
- // return async () => {
67
- // return bTarget.pages().then((pages) => {
68
- // return pages.map((page) => {
69
- // return new Proxy(page, {
70
- // get(pTarget, pProp, pReciever) {
71
- // if (pProp === "screenshot") {
72
- // return async (x) => {
73
- // return pm.customScreenShot(
74
- // {
75
- // ...x,
76
- // path:
77
- // `${testResourceConfiguration.fs}/suite-${sNdx}/beforeAll` +
78
- // "/" +
79
- // x.path,
80
- // },
81
- // page
82
- // );
83
- // // return await window["custom-screenshot"]({
84
- // // ...x,
85
- // // path:
86
- // // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
87
- // // "/" +
88
- // // x.path,
89
- // // });
90
- // };
91
- // } else if (pProp === "mainFrame") {
92
- // return () => pTarget[pProp]();
93
- // } else if (pProp === "close") {
94
- // return () => pTarget[pProp]();
95
- // }
96
- // // else if (pProp === "mainFrame") {
97
- // // return () => target[pProp](...arguments);
98
- // // }
99
- // else {
100
- // return Reflect.get(...arguments);
101
- // }
102
- // },
103
- // });
104
- // });
105
- // });
106
- // // return (await target.pages()).map((page) => {
107
- // // return new Proxy(page, handler2);
108
- // // });
109
- // };
110
- // }
111
- // },
112
- // });
113
- // }
114
63
  return Reflect.get(...arguments);
115
64
  },
116
65
  });
117
66
  const subject = await this.setup(input, suiteArtifactory, testResourceConfiguration, beforeAllProxy);
118
- const giver = this.givens[gNdx];
67
+ const giver = this.givens[gKey];
119
68
  try {
120
- this.store = await giver.give(subject, gNdx, testResourceConfiguration, this.assertThat, suiteArtifactory, tLog, pm, sNdx);
69
+ this.store = await giver.give(subject, gKey, testResourceConfiguration, this.assertThat, suiteArtifactory, tLog, pm, sNdx);
121
70
  }
122
71
  catch (e) {
123
72
  console.error(e);
@@ -125,64 +74,6 @@ class BaseSuite {
125
74
  // return this;
126
75
  }
127
76
  }
128
- // const afterAllProxy = new Proxy(pm, {
129
- // get(target, prop, receiver) {
130
- // if (prop === "writeFileSync") {
131
- // return (fp, contents) =>
132
- // target[prop](`suite-${sNdx}/afterAll/${fp}`, contents);
133
- // }
134
- // if (prop === "browser") {
135
- // return new Proxy(target[prop], {
136
- // get(bTarget, bProp, bReceiver) {
137
- // if (bProp === "pages") {
138
- // return async () => {
139
- // return bTarget.pages().then((pages) => {
140
- // return pages.map((page) => {
141
- // return new Proxy(page, {
142
- // get(pTarget, pProp, pReciever) {
143
- // if (pProp === "screenshot") {
144
- // return async (x) => {
145
- // return pm.customScreenShot({
146
- // ...x,
147
- // path:
148
- // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
149
- // "/" +
150
- // x.path,
151
- // });
152
- // // return await window["custom-screenshot"]({
153
- // // ...x,
154
- // // path:
155
- // // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
156
- // // "/" +
157
- // // x.path,
158
- // // });
159
- // };
160
- // } else if (pProp === "mainFrame") {
161
- // return () => pTarget[pProp]();
162
- // } else if (pProp === "close") {
163
- // return () => pTarget[pProp]();
164
- // }
165
- // // else if (pProp === "mainFrame") {
166
- // // return () => target[pProp](...arguments);
167
- // // }
168
- // else {
169
- // return Reflect.get(...arguments);
170
- // }
171
- // },
172
- // });
173
- // });
174
- // });
175
- // // return (await target.pages()).map((page) => {
176
- // // return new Proxy(page, handler2);
177
- // // });
178
- // };
179
- // }
180
- // },
181
- // });
182
- // }
183
- // return Reflect.get(...arguments);
184
- // },
185
- // });
186
77
  try {
187
78
  this.afterAll(this.store, artifactory,
188
79
  // afterAllProxy
@@ -221,7 +112,9 @@ class BaseSuite {
221
112
  }
222
113
  exports.BaseSuite = BaseSuite;
223
114
  class BaseGiven {
224
- constructor(name, features, whens, thens, givenCB, initialValues) {
115
+ constructor(name, features, whens, thens, givenCB, initialValues
116
+ // key: string
117
+ ) {
225
118
  this.name = name;
226
119
  this.features = features;
227
120
  this.whens = whens;
@@ -229,11 +122,15 @@ class BaseGiven {
229
122
  this.givenCB = givenCB;
230
123
  this.initialValues = initialValues;
231
124
  }
232
- beforeAll(store, artifactory) {
125
+ beforeAll(store,
126
+ // artifactory: ITestArtifactory
127
+ // subject,
128
+ initializer, artifactory, testResource, initialValues, pm) {
233
129
  return store;
234
130
  }
235
131
  toObj() {
236
132
  return {
133
+ key: this.key,
237
134
  name: this.name,
238
135
  whens: this.whens.map((w) => w.toObj()),
239
136
  thens: this.thens.map((t) => t.toObj()),
@@ -246,6 +143,8 @@ class BaseGiven {
246
143
  return store;
247
144
  }
248
145
  async give(subject, key, testResourceConfiguration, tester, artifactory, tLog, pm, suiteNdx) {
146
+ this.key = key;
147
+ tLog(`\n ${this.key}`);
249
148
  tLog(`\n Given: ${this.name}`);
250
149
  const givenArtifactory = (fPath, value) => artifactory(`given-${key}/${fPath}`, value);
251
150
  try {
@@ -256,15 +155,20 @@ class BaseGiven {
256
155
  return (fp, contents) => target[prop](`suite-${suiteNdx}/given-${key}/when/beforeEach/${fp}`, contents);
257
156
  }
258
157
  if (prop === "customScreenShot") {
259
- return (opts) => target.customScreenShot(Object.assign(Object.assign({}, opts), {
260
- // path: `${filepath}/${opts.path}`,
261
- path: `suite-${suiteNdx}/given-${key}/when/beforeEach/${opts.path}` }));
158
+ return (opts, p) => target.customScreenShot(Object.assign(Object.assign({}, opts), { path: `suite-${suiteNdx}/given-${key}/when/beforeEach/${opts.path}` }), p);
159
+ }
160
+ if (prop === "screencast") {
161
+ return (opts, p) => target.screencast(Object.assign(Object.assign({}, opts), { path: `suite-${suiteNdx}/given-${key}/when/beforeEach/${opts.path}` }), p);
262
162
  }
263
163
  return Reflect.get(...arguments);
264
164
  },
265
165
  });
266
- this.store = await this.givenThat(subject, testResourceConfiguration, givenArtifactory, this.givenCB, beforeEachProxy);
267
- // console.log("mark6", this.store);
166
+ this.uberCatcher((e) => {
167
+ console.error(e);
168
+ this.error = e.error;
169
+ tLog(e.stack);
170
+ });
171
+ this.store = await this.givenThat(subject, testResourceConfiguration, givenArtifactory, this.givenCB, this.initialValues, beforeEachProxy);
268
172
  for (const [whenNdx, whenStep] of this.whens.entries()) {
269
173
  await whenStep.test(this.store, testResourceConfiguration, tLog, pm, `suite-${suiteNdx}/given-${key}/when/${whenNdx}`);
270
174
  }
@@ -285,7 +189,7 @@ class BaseGiven {
285
189
  const afterEachProxy = new Proxy(pm, {
286
190
  get(target, prop, receiver) {
287
191
  if (prop === "customScreenShot") {
288
- return (opts) => target.customScreenShot(Object.assign(Object.assign({}, opts), { path: `suite-${suiteNdx}/given-${key}/afterEach/${opts.path}` }));
192
+ return (opts, p) => target.customScreenShot(Object.assign(Object.assign({}, opts), { path: `suite-${suiteNdx}/given-${key}/afterEach/${opts.path}` }), p);
289
193
  }
290
194
  if (prop === "writeFileSync") {
291
195
  return (fp, contents) => target[prop](`suite-${suiteNdx}/given-${key}/afterEach/${fp}`, contents);
@@ -293,7 +197,7 @@ class BaseGiven {
293
197
  return Reflect.get(...arguments);
294
198
  },
295
199
  });
296
- await this.afterEach(this.store, key, givenArtifactory,
200
+ await this.afterEach(this.store, this.key, givenArtifactory,
297
201
  // pm
298
202
  afterEachProxy);
299
203
  }
@@ -322,91 +226,11 @@ class BaseWhen {
322
226
  const andWhenProxy = new Proxy(pm, {
323
227
  get(target, prop, receiver) {
324
228
  if (prop === "customScreenShot") {
325
- return (opts) => target.customScreenShot(Object.assign(Object.assign({}, opts), { path: `${filepath}/${opts.path}` }));
229
+ return (opts, p) => target.customScreenShot(Object.assign(Object.assign({}, opts), { path: `${filepath}/${opts.path}` }), p);
326
230
  }
327
231
  if (prop === "writeFileSync") {
328
232
  return (fp, contents) => target[prop](`${filepath}/andWhen/${fp}`, contents);
329
233
  }
330
- /////////////////////
331
- // if (prop === "browser") {
332
- // return new Proxy(target[prop], {
333
- // get(bTarget, bProp, bReceiver) {
334
- // if (bProp === "pages") {
335
- // return async () => {
336
- // return bTarget.pages().then((pages) => {
337
- // return pages.map((page) => {
338
- // return new Proxy(page, {
339
- // get(pTarget, pProp, pReciever) {
340
- // // console.log("mark get", pTarget, pProp, pReciever);
341
- // if (pProp === "screenshot") {
342
- // return async (x) => {
343
- // return pm.customScreenShot(
344
- // {
345
- // ...x,
346
- // path:
347
- // `${testResourceConfiguration.fs}/${key}/afterEach` +
348
- // "/" +
349
- // x.path,
350
- // },
351
- // page
352
- // );
353
- // };
354
- // } else if (pProp === "mainFrame") {
355
- // return () => pTarget[pProp]();
356
- // // return target[pProp];
357
- // // return Reflect.get(...arguments);
358
- // } else if (pProp === "exposeFunction") {
359
- // // return Reflect.get(target, prop, receiver);
360
- // return pTarget[pProp].bind(pTarget);
361
- // // return target[pProp];
362
- // } else if (pProp === "removeExposedFunction") {
363
- // // return Reflect.get(target, prop, receiver);
364
- // return pTarget[pProp].bind(pTarget);
365
- // // return target[pProp];
366
- // } else if (pProp === "click") {
367
- // // console.log("mark12", arguments);
368
- // // return Reflect.get(target, prop, receiver);
369
- // // return pTarget[pProp].bind(pTarget);
370
- // // return target[pProp];
371
- // return (selector, options) => {
372
- // pTarget[pProp](selector, options);
373
- // };
374
- // } else if (pProp === "$eval") {
375
- // // return pTarget[pProp].bind(pTarget);
376
- // return (selector, options) => {
377
- // pTarget[pProp](selector, options);
378
- // };
379
- // } else if (pProp === "$") {
380
- // return Reflect.get(...arguments);
381
- // // return Reflect.get(target, prop, receiver);
382
- // // return pTarget[pProp].bind(pTarget);
383
- // // return target[pProp];
384
- // // return pTarget[pProp].bind(pTarget);
385
- // // return async (s) => {
386
- // // console.log("mark17", s);
387
- // // console.log("pTarget", pTarget);
388
- // // console.log("pProp", pProp);
389
- // // console.log("pReciever", pReciever);
390
- // // // return "XXX";
391
- // // // debugger;
392
- // // return await pTarget[pProp](s);
393
- // // };
394
- // } else {
395
- // return Reflect.get(...arguments);
396
- // }
397
- // },
398
- // });
399
- // });
400
- // });
401
- // // return (await target.pages()).map((page) => {
402
- // // return new Proxy(page, handler2);
403
- // // });
404
- // };
405
- // }
406
- // },
407
- // });
408
- // }
409
- ///////////////////////
410
234
  return Reflect.get(...arguments);
411
235
  },
412
236
  });
@@ -446,67 +270,11 @@ class BaseThen {
446
270
  const butThenProxy = new Proxy(pm, {
447
271
  get(target, prop, receiver) {
448
272
  if (prop === "customScreenShot") {
449
- return (opts) => target.customScreenShot(Object.assign(Object.assign({}, opts), { path: `${filepath}/${opts.path}` }));
273
+ return (opts, p) => target.customScreenShot(Object.assign(Object.assign({}, opts), { path: `${filepath}/${opts.path}` }), p);
450
274
  }
451
275
  if (prop === "writeFileSync") {
452
276
  return (fp, contents) => target[prop](`${filepath}/${fp}`, contents);
453
277
  }
454
- // if (prop === "browser") {
455
- // return new Proxy(target[prop], {
456
- // get(bTarget, bProp, bReceiver) {
457
- // if (bProp === "pages") {
458
- // return async () => {
459
- // return bTarget.pages().then((pages) => {
460
- // return pages.map((page) => {
461
- // return new Proxy(page, {
462
- // get(pTarget, pProp, pReciever) {
463
- // if (pProp === "screenshot") {
464
- // return async (x) => {
465
- // return pm.customScreenShot(
466
- // {
467
- // ...x,
468
- // path:
469
- // `${testResourceConfiguration.fs}/${filepath}/butThen` +
470
- // "/" +
471
- // x.path,
472
- // },
473
- // page
474
- // );
475
- // // return await window["custom-screenshot"]({
476
- // // ...x,
477
- // // path:
478
- // // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
479
- // // "/" +
480
- // // x.path,
481
- // // });
482
- // };
483
- // } else if (pProp === "close") {
484
- // return () => pTarget[pProp]();
485
- // } else if (pProp === "mainFrame") {
486
- // return () => pTarget[pProp]();
487
- // } else if (pProp === "exposeFunction") {
488
- // // return Reflect.get(target, prop, receiver);
489
- // return (...a) => pTarget[pProp](...a);
490
- // // return target[pProp];
491
- // } else if (pProp === "removeExposedFunction") {
492
- // // return Reflect.get(target, prop, receiver);
493
- // return pTarget[pProp].bind(pTarget);
494
- // // return target[pProp];
495
- // } else {
496
- // return Reflect.get(...arguments);
497
- // }
498
- // },
499
- // });
500
- // });
501
- // });
502
- // // return (await target.pages()).map((page) => {
503
- // // return new Proxy(page, handler2);
504
- // // });
505
- // };
506
- // }
507
- // },
508
- // });
509
- // }
510
278
  return Reflect.get(...arguments);
511
279
  },
512
280
  });
@@ -14,21 +14,11 @@ class BaseBuilder {
14
14
  this.checkOverides = checkOverides;
15
15
  this.testSpecification = testSpecification;
16
16
  this.specs = testSpecification(this.Suites(), this.Given(), this.When(), this.Then(), this.Check());
17
- // const f = this.specs[0].features;
18
17
  this.testJobs = this.specs.map((suite) => {
19
18
  const suiteRunner = (suite) => async (puppetMaster, tLog) => {
20
- // const puppeteerBrowser = await puppetMaster.startPuppeteer(
21
- // {
22
- // browserWSEndpoint:
23
- // puppetMaster.testResourceConfiguration.browserWSEndpoint,
24
- // },
25
- // puppetMaster.testResourceConfiguration.fs
26
- // );
27
19
  const x = await suite.run(input, puppetMaster.testResourceConfiguration, (fPath, value) => puppetMaster.testArtiFactoryfileWriter(tLog, (p) => {
28
20
  this.artifacts.push(p);
29
21
  })(puppetMaster.testResourceConfiguration.fs + "/" + fPath, value), tLog, puppetMaster);
30
- // await puppetMaster.browser.disconnect();
31
- // puppeteerBrowser.close();
32
22
  return x;
33
23
  };
34
24
  const runner = suiteRunner(suite);
@@ -62,7 +52,7 @@ class BaseBuilder {
62
52
  // );
63
53
  // }
64
54
  puppetMaster.writeFileSync(`tests.json`, JSON.stringify(this.toObj(), null, 2));
65
- console.log(`exiting gracefully with ${numberOfFailures} failures.`);
55
+ // console.log(`exiting gracefully with ${numberOfFailures} failures.`);
66
56
  return {
67
57
  failed: numberOfFailures,
68
58
  artifacts: this.artifacts || [],
@@ -10,7 +10,7 @@ class ClassBuilder extends basebuilder_js_1.BaseBuilder {
10
10
  };
11
11
  return a;
12
12
  }, {});
13
- const classyGivens = Object.entries(testImplementation.givens).reduce((a, [key, givEn]) => {
13
+ const classyGivens = Object.entries(testImplementation.givens).reduce((a, [key, g]) => {
14
14
  a[key] = (features, whens, thens, givEn) => {
15
15
  return new givenKlasser.prototype.constructor(key, features, whens, thens, testImplementation.givens[key], givEn);
16
16
  };
@@ -4,28 +4,10 @@ const index_js_1 = require("./index.js");
4
4
  const abstractBase_js_1 = require("./abstractBase.js");
5
5
  const classBuilder_js_1 = require("./classBuilder.js");
6
6
  class Testeranto extends classBuilder_js_1.ClassBuilder {
7
- constructor(input, testSpecification, testImplementation, testResourceRequirement = index_js_1.defaultTestResourceRequirement, testInterface) {
7
+ constructor(input, testSpecification, testImplementation, testResourceRequirement = index_js_1.defaultTestResourceRequirement, testInterface, uberCatcher) {
8
8
  const fullTestInterface = (0, index_js_1.DefaultTestInterface)(testInterface);
9
9
  super(testImplementation, testSpecification, input, class extends abstractBase_js_1.BaseSuite {
10
10
  afterAll(store, artifactory, pm) {
11
- // const pagesHandler = {
12
- // get(target, prop) {
13
- // console.log(`Getting pages property ${prop}`);
14
- // return target[prop];
15
- // },
16
- // };
17
- // const browserHandler = {
18
- // get(target, prop) {
19
- // console.log(`Getting browser property ${prop}`);
20
- // if (prop === "pages") {
21
- // // return target[prop];
22
- // return new Proxy(target[prop], pagesHandler);
23
- // } else {
24
- // return target[prop];
25
- // }
26
- // },
27
- // };
28
- // const proxy = new Proxy(utils.browser, browserHandler);
29
11
  return fullTestInterface.afterAll(store, (fPath, value) => {
30
12
  artifactory(`afterAll4-${this.name}/${fPath}`, value);
31
13
  }, pm);
@@ -38,12 +20,12 @@ class Testeranto extends classBuilder_js_1.ClassBuilder {
38
20
  (async (input, artifactory, tr, pm) => input))(s, this.testResourceConfiguration, artifactory, pm);
39
21
  }
40
22
  }, class Given extends abstractBase_js_1.BaseGiven {
41
- async givenThat(subject, testResource, artifactory, initializer, pm) {
42
- return fullTestInterface.beforeEach(subject, initializer,
43
- // (fPath: string, value: unknown) =>
44
- // // TODO does not work?
45
- // artifactory(`beforeEach/${fPath}`, value),
46
- testResource, this.initialValues, pm);
23
+ constructor() {
24
+ super(...arguments);
25
+ this.uberCatcher = uberCatcher;
26
+ }
27
+ async givenThat(subject, testResource, artifactory, initializer, initialValues, pm) {
28
+ return fullTestInterface.beforeEach(subject, initializer, artifactory, testResource, initialValues, pm);
47
29
  }
48
30
  afterEach(store, key, artifactory, pm) {
49
31
  return new Promise((res) => res(fullTestInterface.afterEach(store, key, (fPath, value) => artifactory(`after/${fPath}`, value), pm)));
@@ -113,9 +95,7 @@ class Testeranto extends classBuilder_js_1.ClassBuilder {
113
95
  // TODO does not work?
114
96
  artifactory(`afterEach2-${this.name}/${fPath}`, value), pm)));
115
97
  }
116
- }, testResourceRequirement
117
- // puppetMaster
118
- );
98
+ }, testResourceRequirement);
119
99
  }
120
100
  }
121
101
  exports.default = Testeranto;
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
+ // import { IBaseTest } from "../Types";
2
3
  Object.defineProperty(exports, "__esModule", { value: true });