testeranto 0.82.0 → 0.85.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 (71) hide show
  1. package/README.md +0 -2
  2. package/dist/common/package.json +3 -0
  3. package/dist/common/src/Node.js +2 -0
  4. package/dist/common/src/PM/main.js +182 -79
  5. package/dist/common/src/PM/node.js +32 -6
  6. package/dist/common/src/PM/web.js +28 -54
  7. package/dist/common/src/Project.js +0 -3
  8. package/dist/common/src/Puppeteer.js +9 -51
  9. package/dist/common/src/SubPackages/react-dom/jsx/web.js +11 -11
  10. package/dist/common/src/Web.js +2 -0
  11. package/dist/common/src/esbuildConfigs/featuresPlugin.js +39 -0
  12. package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +62 -41
  13. package/dist/common/src/esbuildConfigs/node.js +10 -3
  14. package/dist/common/src/esbuildConfigs/web.js +6 -2
  15. package/dist/common/src/lib/abstractBase.js +343 -335
  16. package/dist/common/src/lib/basebuilder.js +7 -3
  17. package/dist/common/src/lib/core.js +1 -1
  18. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  19. package/dist/module/package.json +3 -0
  20. package/dist/module/src/Node.js +1 -1
  21. package/dist/module/src/PM/main.js +182 -79
  22. package/dist/module/src/PM/node.js +32 -6
  23. package/dist/module/src/PM/web.js +28 -51
  24. package/dist/module/src/Project.js +0 -3
  25. package/dist/module/src/Puppeteer.js +9 -51
  26. package/dist/module/src/SubPackages/react-dom/jsx/web.js +10 -10
  27. package/dist/module/src/Web.js +1 -1
  28. package/dist/module/src/esbuildConfigs/featuresPlugin.js +34 -0
  29. package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +62 -41
  30. package/dist/module/src/esbuildConfigs/node.js +10 -3
  31. package/dist/module/src/esbuildConfigs/web.js +6 -2
  32. package/dist/module/src/lib/abstractBase.js +343 -335
  33. package/dist/module/src/lib/basebuilder.js +7 -3
  34. package/dist/module/src/lib/core.js +1 -1
  35. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  36. package/dist/prebuild/Puppeteer.mjs +82033 -0
  37. package/dist/types/src/Node.d.ts +5 -1
  38. package/dist/types/src/PM/index.d.ts +10 -4
  39. package/dist/types/src/PM/main.d.ts +21 -9
  40. package/dist/types/src/PM/node.d.ts +11 -3
  41. package/dist/types/src/PM/web.d.ts +11 -2
  42. package/dist/types/src/SubPackages/react-dom/jsx/index.d.ts +1 -0
  43. package/dist/types/src/SubPackages/react-test-renderer/jsx/index.d.ts +1 -0
  44. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/index.d.ts +1 -0
  45. package/dist/types/src/Types.d.ts +2 -2
  46. package/dist/types/src/Web.d.ts +5 -1
  47. package/dist/types/src/esbuildConfigs/featuresPlugin.d.ts +5 -0
  48. package/dist/types/src/esbuildConfigs/inputFilesPlugin.d.ts +4 -2
  49. package/dist/types/src/lib/abstractBase.d.ts +5 -5
  50. package/dist/types/src/lib/types.d.ts +7 -5
  51. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  52. package/package.json +18 -41
  53. package/pupBuild.js +18 -0
  54. package/src/Node.ts +1 -3
  55. package/src/PM/index.ts +12 -3
  56. package/src/PM/main.ts +300 -164
  57. package/src/PM/node.ts +40 -6
  58. package/src/PM/web.ts +108 -58
  59. package/src/Project.ts +0 -8
  60. package/src/Puppeteer.ts +11 -57
  61. package/src/SubPackages/react-dom/jsx/web.ts +15 -10
  62. package/src/Types.ts +5 -2
  63. package/src/Web.ts +1 -1
  64. package/src/esbuildConfigs/featuresPlugin.ts +43 -0
  65. package/src/esbuildConfigs/inputFilesPlugin.ts +98 -66
  66. package/src/esbuildConfigs/node.ts +18 -3
  67. package/src/esbuildConfigs/web.ts +14 -2
  68. package/src/lib/abstractBase.ts +381 -364
  69. package/src/lib/basebuilder.ts +7 -7
  70. package/src/lib/core.ts +1 -1
  71. package/src/lib/types.ts +13 -5
@@ -63,12 +63,12 @@ export abstract class BaseSuite<
63
63
  .flat()
64
64
  .filter((value, index, array) => {
65
65
  return array.indexOf(value) === index;
66
- })
67
- .reduce((mm, lm) => {
68
- mm[lm] = lm;
69
- return mm;
70
- }, {});
71
- return features;
66
+ });
67
+ // .reduce((mm, lm) => {
68
+ // mm[lm] = lm;
69
+ // return mm;
70
+ // }, {});
71
+ return features || [];
72
72
  }
73
73
 
74
74
  public toObj() {
@@ -120,64 +120,73 @@ export abstract class BaseSuite<
120
120
  for (const [gNdx, g] of Object.entries(this.givens)) {
121
121
  const beforeAllProxy = new Proxy(pm, {
122
122
  get(target, prop, receiver) {
123
+ if (prop === "customScreenShot") {
124
+ return (opts) =>
125
+ target.customScreenShot({
126
+ ...opts,
127
+ // path: `${filepath}/${opts.path}`,
128
+ path: `suite-${sNdx}/beforeAll/${opts.path}`,
129
+ });
130
+ }
131
+
123
132
  if (prop === "writeFileSync") {
124
133
  return (fp, contents) =>
125
134
  target[prop](`suite-${sNdx}/beforeAll/${fp}`, contents);
126
135
  }
127
136
 
128
- if (prop === "browser") {
129
- return new Proxy(target[prop], {
130
- get(bTarget, bProp, bReceiver) {
131
- if (bProp === "pages") {
132
- return async () => {
133
- return bTarget.pages().then((pages) => {
134
- return pages.map((page) => {
135
- return new Proxy(page, {
136
- get(pTarget, pProp, pReciever) {
137
- if (pProp === "screenshot") {
138
- return async (x) => {
139
- return pm.customScreenShot(
140
- {
141
- ...x,
142
- path:
143
- `${testResourceConfiguration.fs}/suite-${sNdx}/beforeAll` +
144
- "/" +
145
- x.path,
146
- },
147
- page
148
- );
149
- // return await window["custom-screenshot"]({
150
- // ...x,
151
- // path:
152
- // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
153
- // "/" +
154
- // x.path,
155
- // });
156
- };
157
- } else if (pProp === "mainFrame") {
158
- return () => pTarget[pProp]();
159
- } else if (pProp === "close") {
160
- return () => pTarget[pProp]();
161
- }
162
-
163
- // else if (pProp === "mainFrame") {
164
- // return () => target[pProp](...arguments);
165
- // }
166
- else {
167
- return Reflect.get(...arguments);
168
- }
169
- },
170
- });
171
- });
172
- });
173
- // return (await target.pages()).map((page) => {
174
- // return new Proxy(page, handler2);
175
- // });
176
- };
177
- }
178
- },
179
- });
180
- }
137
+ // if (prop === "browser") {
138
+ // return new Proxy(target[prop], {
139
+ // get(bTarget, bProp, bReceiver) {
140
+ // if (bProp === "pages") {
141
+ // return async () => {
142
+ // return bTarget.pages().then((pages) => {
143
+ // return pages.map((page) => {
144
+ // return new Proxy(page, {
145
+ // get(pTarget, pProp, pReciever) {
146
+ // if (pProp === "screenshot") {
147
+ // return async (x) => {
148
+ // return pm.customScreenShot(
149
+ // {
150
+ // ...x,
151
+ // path:
152
+ // `${testResourceConfiguration.fs}/suite-${sNdx}/beforeAll` +
153
+ // "/" +
154
+ // x.path,
155
+ // },
156
+ // page
157
+ // );
158
+ // // return await window["custom-screenshot"]({
159
+ // // ...x,
160
+ // // path:
161
+ // // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
162
+ // // "/" +
163
+ // // x.path,
164
+ // // });
165
+ // };
166
+ // } else if (pProp === "mainFrame") {
167
+ // return () => pTarget[pProp]();
168
+ // } else if (pProp === "close") {
169
+ // return () => pTarget[pProp]();
170
+ // }
171
+
172
+ // // else if (pProp === "mainFrame") {
173
+ // // return () => target[pProp](...arguments);
174
+ // // }
175
+ // else {
176
+ // return Reflect.get(...arguments);
177
+ // }
178
+ // },
179
+ // });
180
+ // });
181
+ // });
182
+ // // return (await target.pages()).map((page) => {
183
+ // // return new Proxy(page, handler2);
184
+ // // });
185
+ // };
186
+ // }
187
+ // },
188
+ // });
189
+ // }
181
190
 
182
191
  return Reflect.get(...arguments);
183
192
  },
@@ -209,71 +218,75 @@ export abstract class BaseSuite<
209
218
  }
210
219
  }
211
220
 
212
- const afterAllProxy = new Proxy(pm, {
213
- get(target, prop, receiver) {
214
- if (prop === "writeFileSync") {
215
- return (fp, contents) =>
216
- target[prop](`suite-${sNdx}/afterAll/${fp}`, contents);
217
- }
218
-
219
- if (prop === "browser") {
220
- return new Proxy(target[prop], {
221
- get(bTarget, bProp, bReceiver) {
222
- if (bProp === "pages") {
223
- return async () => {
224
- return bTarget.pages().then((pages) => {
225
- return pages.map((page) => {
226
- return new Proxy(page, {
227
- get(pTarget, pProp, pReciever) {
228
- if (pProp === "screenshot") {
229
- return async (x) => {
230
- return pm.customScreenShot({
231
- ...x,
232
- path:
233
- `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
234
- "/" +
235
- x.path,
236
- });
237
- // return await window["custom-screenshot"]({
238
- // ...x,
239
- // path:
240
- // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
241
- // "/" +
242
- // x.path,
243
- // });
244
- };
245
- } else if (pProp === "mainFrame") {
246
- return () => pTarget[pProp]();
247
- } else if (pProp === "close") {
248
- return () => pTarget[pProp]();
249
- }
250
-
251
- // else if (pProp === "mainFrame") {
252
- // return () => target[pProp](...arguments);
253
- // }
254
- else {
255
- return Reflect.get(...arguments);
256
- }
257
- },
258
- });
259
- });
260
- });
261
- // return (await target.pages()).map((page) => {
262
- // return new Proxy(page, handler2);
263
- // });
264
- };
265
- }
266
- },
267
- });
268
- }
269
-
270
- return Reflect.get(...arguments);
271
- },
272
- });
221
+ // const afterAllProxy = new Proxy(pm, {
222
+ // get(target, prop, receiver) {
223
+ // if (prop === "writeFileSync") {
224
+ // return (fp, contents) =>
225
+ // target[prop](`suite-${sNdx}/afterAll/${fp}`, contents);
226
+ // }
227
+
228
+ // if (prop === "browser") {
229
+ // return new Proxy(target[prop], {
230
+ // get(bTarget, bProp, bReceiver) {
231
+ // if (bProp === "pages") {
232
+ // return async () => {
233
+ // return bTarget.pages().then((pages) => {
234
+ // return pages.map((page) => {
235
+ // return new Proxy(page, {
236
+ // get(pTarget, pProp, pReciever) {
237
+ // if (pProp === "screenshot") {
238
+ // return async (x) => {
239
+ // return pm.customScreenShot({
240
+ // ...x,
241
+ // path:
242
+ // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
243
+ // "/" +
244
+ // x.path,
245
+ // });
246
+ // // return await window["custom-screenshot"]({
247
+ // // ...x,
248
+ // // path:
249
+ // // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
250
+ // // "/" +
251
+ // // x.path,
252
+ // // });
253
+ // };
254
+ // } else if (pProp === "mainFrame") {
255
+ // return () => pTarget[pProp]();
256
+ // } else if (pProp === "close") {
257
+ // return () => pTarget[pProp]();
258
+ // }
259
+
260
+ // // else if (pProp === "mainFrame") {
261
+ // // return () => target[pProp](...arguments);
262
+ // // }
263
+ // else {
264
+ // return Reflect.get(...arguments);
265
+ // }
266
+ // },
267
+ // });
268
+ // });
269
+ // });
270
+ // // return (await target.pages()).map((page) => {
271
+ // // return new Proxy(page, handler2);
272
+ // // });
273
+ // };
274
+ // }
275
+ // },
276
+ // });
277
+ // }
278
+
279
+ // return Reflect.get(...arguments);
280
+ // },
281
+ // });
273
282
 
274
- // pm.browser
275
283
  try {
276
- this.afterAll(this.store, artifactory, afterAllProxy);
284
+ this.afterAll(
285
+ this.store,
286
+ artifactory,
287
+ // afterAllProxy
288
+ pm
289
+ );
277
290
  } catch (e) {
278
291
  console.error(e);
279
292
  // this.fails.push(this);
@@ -388,7 +401,7 @@ export abstract class BaseGiven<
388
401
  async give(
389
402
  subject: ITestShape["isubject"],
390
403
  key: string,
391
- testResourceConfiguration,
404
+ testResourceConfiguration: ITTestResourceConfiguration,
392
405
  tester: (t: Awaited<ITestShape["then"]> | undefined) => boolean,
393
406
  artifactory: ITestArtifactory,
394
407
  tLog: ITLog,
@@ -412,6 +425,15 @@ export abstract class BaseGiven<
412
425
  );
413
426
  }
414
427
 
428
+ if (prop === "customScreenShot") {
429
+ return (opts) =>
430
+ target.customScreenShot({
431
+ ...opts,
432
+ // path: `${filepath}/${opts.path}`,
433
+ path: `suite-${suiteNdx}/given-${key}/when/beforeEach/${opts.path}`,
434
+ });
435
+ }
436
+
415
437
  return Reflect.get(...arguments);
416
438
  },
417
439
  });
@@ -454,106 +476,102 @@ export abstract class BaseGiven<
454
476
  // throw e;
455
477
  } finally {
456
478
  try {
457
- // const afterEachProxy = new Proxy(pm, {
458
- // get(target, prop, receiver) {
459
- // if (prop === "writeFileSync") {
460
- // console.log("afterEachProxy", arguments, target[prop]);
461
- // return (fp, contents) =>
462
- // // target[prop](`${key}/andWhen/${fp}`, contents);
463
- // target[prop](`${key}/afterEach/${fp}`, contents);
464
- // }
465
-
466
- // return Reflect.get(...arguments);
467
- // },
468
- // });
469
-
470
- // await this.afterEach(this.store, key, givenArtifactory, afterEachProxy);
471
-
472
- // await this.afterEach(this.store, key, givenArtifactory, pm);
473
-
474
479
  const afterEachProxy = new Proxy(pm, {
475
480
  get(target, prop, receiver) {
481
+ if (prop === "customScreenShot") {
482
+ return (opts) =>
483
+ target.customScreenShot({
484
+ ...opts,
485
+ path: `suite-${suiteNdx}/given-${key}/afterEach/${opts.path}`,
486
+ });
487
+ }
488
+
476
489
  if (prop === "writeFileSync") {
477
490
  return (fp, contents) =>
478
491
  target[prop](
479
- `suite-${suiteNdx}/given-${key}/afterAll/${fp}`,
492
+ `suite-${suiteNdx}/given-${key}/afterEach/${fp}`,
480
493
  contents
481
494
  );
482
495
  }
483
496
 
484
- if (prop === "browser") {
485
- return new Proxy(target[prop], {
486
- get(bTarget, bProp, bReceiver) {
487
- if (bProp === "pages") {
488
- return async () => {
489
- return bTarget.pages().then((pages) => {
490
- return pages.map((page) => {
491
- return new Proxy(page, {
492
- get(pTarget, pProp, pReciever) {
493
- if (pProp === "screenshot") {
494
- return async (x) => {
495
- // console.log(
496
- // "custom-screenshot-MARK-afterEachProxy",
497
- // window["custom-screenshot"].toString()
498
- // );
499
-
500
- return pm.customScreenShot(
501
- {
502
- ...x,
503
- path:
504
- `${testResourceConfiguration.fs}/suite-${suiteNdx}/given-${key}/afterEach` +
505
- "/" +
506
- x.path,
507
- },
508
- page
509
- );
510
-
511
- // return await pTarget[pProp]({
512
- // ...x,
513
- // path:
514
- // `${testResourceConfiguration.fs}/suite-${suiteNdx}/given-${key}/afterEach` +
515
- // "/" +
516
- // x.path,
517
- // });
518
- };
519
- } else if (pProp === "mainFrame") {
520
- return () => pTarget[pProp]();
521
- // return target[pProp];
522
- // return Reflect.get(...arguments);
523
- } else if (pProp === "exposeFunction") {
524
- // return Reflect.get(target, prop, receiver);
525
- return (...a) => pTarget[pProp](...a);
526
- // return target[pProp];
527
- } else if (pProp === "removeExposedFunction") {
528
- // return Reflect.get(target, prop, receiver);
529
- return pTarget[pProp].bind(pTarget);
530
- // return target[pProp];
531
- }
532
- // else if (pProp === "#frameManager") {
533
- // return () => target[pProp](...arguments);
534
- // }
535
- else {
536
- return Reflect.get(...arguments);
537
- }
538
- },
539
- });
540
- });
541
- });
542
- // return (await target.pages()).map((page) => {
543
- // return new Proxy(page, handler2);
544
- // });
545
- };
546
- }
547
- },
548
- });
549
- }
497
+ // if (prop === "browser") {
498
+ // return new Proxy(target[prop], {
499
+ // get(bTarget, bProp, bReceiver) {
500
+ // if (bProp === "pages") {
501
+ // return async () => {
502
+ // return bTarget.pages().then((pages) => {
503
+ // return pages.map((page) => {
504
+ // return new Proxy(page, {
505
+ // get(pTarget, pProp, pReciever) {
506
+ // if (pProp === "screenshot") {
507
+ // return async (x) => {
508
+ // // console.log(
509
+ // // "custom-screenshot-MARK-afterEachProxy",
510
+ // // window["custom-screenshot"].toString()
511
+ // // );
512
+
513
+ // return pm.customScreenShot(
514
+ // {
515
+ // ...x,
516
+ // path:
517
+ // `${testResourceConfiguration.fs}/suite-${suiteNdx}/given-${key}/afterEach` +
518
+ // "/" +
519
+ // x.path,
520
+ // },
521
+ // page
522
+ // );
523
+
524
+ // // return await pTarget[pProp]({
525
+ // // ...x,
526
+ // // path:
527
+ // // `${testResourceConfiguration.fs}/suite-${suiteNdx}/given-${key}/afterEach` +
528
+ // // "/" +
529
+ // // x.path,
530
+ // // });
531
+ // };
532
+ // } else if (pProp === "mainFrame") {
533
+ // return () => pTarget[pProp]();
534
+ // // return target[pProp];
535
+ // // return Reflect.get(...arguments);
536
+ // } else if (pProp === "exposeFunction") {
537
+ // // return Reflect.get(target, prop, receiver);
538
+ // return (...a) => pTarget[pProp](...a);
539
+ // // return target[pProp];
540
+ // } else if (pProp === "removeExposedFunction") {
541
+ // // return Reflect.get(target, prop, receiver);
542
+ // return pTarget[pProp].bind(pTarget);
543
+ // // return target[pProp];
544
+ // }
545
+ // // else if (pProp === "#frameManager") {
546
+ // // return () => target[pProp](...arguments);
547
+ // // }
548
+ // else {
549
+ // return Reflect.get(...arguments);
550
+ // }
551
+ // },
552
+ // });
553
+ // });
554
+ // });
555
+ // // return (await target.pages()).map((page) => {
556
+ // // return new Proxy(page, handler2);
557
+ // // });
558
+ // };
559
+ // }
560
+ // },
561
+ // });
562
+ // }
550
563
 
551
564
  return Reflect.get(...arguments);
552
565
  },
553
566
  });
554
567
 
555
- // console.log("mark5", this.store, key);
556
- await this.afterEach(this.store, key, givenArtifactory, afterEachProxy);
568
+ await this.afterEach(
569
+ this.store,
570
+ key,
571
+ givenArtifactory,
572
+ // pm
573
+ afterEachProxy
574
+ );
557
575
  } catch (e) {
558
576
  console.error("afterEach failed! no error will be recorded!", e);
559
577
  }
@@ -580,7 +598,7 @@ export abstract class BaseWhen<ITestShape extends IBaseTest> {
580
598
  whenCB: (x: ITestShape["iselection"]) => ITestShape["then"],
581
599
  testResource,
582
600
  pm: PM
583
- );
601
+ ): Promise<any>;
584
602
 
585
603
  toObj() {
586
604
  return {
@@ -594,106 +612,106 @@ export abstract class BaseWhen<ITestShape extends IBaseTest> {
594
612
  testResourceConfiguration,
595
613
  tLog: ITLog,
596
614
  pm: PM,
597
- key: string
615
+ filepath: string
598
616
  ) {
599
617
  tLog(" When:", this.name);
600
618
 
601
619
  const name = this.name;
602
620
  const andWhenProxy = new Proxy(pm, {
603
- // set(obj, prop, value) {
604
- // return Reflect.set(...arguments);
605
- // // if (prop === "eyeCount" && value % 2 !== 0) {
606
- // // console.log("Monsters must have an even number of eyes");
607
- // // } else {
608
- // // return Reflect.set(...arguments);
609
- // // }
610
- // },
611
-
612
621
  get(target, prop, receiver) {
622
+ if (prop === "customScreenShot") {
623
+ return (opts) =>
624
+ target.customScreenShot({
625
+ ...opts,
626
+ path: `${filepath}/${opts.path}`,
627
+ });
628
+ }
613
629
  if (prop === "writeFileSync") {
614
630
  return (fp, contents) =>
615
- // target[prop](`${key}/andWhen/${fp}`, contents);
616
- target[prop](`${key}/andWhen/${fp}`, contents);
631
+ target[prop](`${filepath}/andWhen/${fp}`, contents);
617
632
  }
618
633
 
619
634
  /////////////////////
620
635
 
621
- if (prop === "browser") {
622
- return new Proxy(target[prop], {
623
- get(bTarget, bProp, bReceiver) {
624
- if (bProp === "pages") {
625
- return async () => {
626
- return bTarget.pages().then((pages) => {
627
- return pages.map((page) => {
628
- return new Proxy(page, {
629
- get(pTarget, pProp, pReciever) {
630
- // console.log("mark get", pTarget, pProp, pReciever);
631
- if (pProp === "screenshot") {
632
- return async (x) => {
633
- return pm.customScreenShot(
634
- {
635
- ...x,
636
- path:
637
- `${testResourceConfiguration.fs}/${key}/afterEach` +
638
- "/" +
639
- x.path,
640
- },
641
- page
642
- );
643
- };
644
- } else if (pProp === "mainFrame") {
645
- return () => pTarget[pProp]();
646
- // return target[pProp];
647
- // return Reflect.get(...arguments);
648
- } else if (pProp === "exposeFunction") {
649
- // return Reflect.get(target, prop, receiver);
650
- return pTarget[pProp].bind(pTarget);
651
- // return target[pProp];
652
- } else if (pProp === "removeExposedFunction") {
653
- // return Reflect.get(target, prop, receiver);
654
- return pTarget[pProp].bind(pTarget);
655
- // return target[pProp];
656
- } else if (pProp === "click") {
657
- // console.log("mark12", arguments);
658
- // return Reflect.get(target, prop, receiver);
659
- // return pTarget[pProp].bind(pTarget);
660
- // return target[pProp];
661
- return (selector, options) => {
662
- // console.log("mark13", selector, options);
663
- // debugger;
664
- pTarget[pProp](selector, options);
665
- };
666
- } else if (pProp === "$") {
667
- return Reflect.get(...arguments);
668
- // return Reflect.get(target, prop, receiver);
669
- // return pTarget[pProp].bind(pTarget);
670
- // return target[pProp];
671
- // return pTarget[pProp].bind(pTarget);
672
-
673
- // return async (s) => {
674
- // console.log("mark17", s);
675
- // console.log("pTarget", pTarget);
676
- // console.log("pProp", pProp);
677
- // console.log("pReciever", pReciever);
678
- // // return "XXX";
679
- // // debugger;
680
- // return await pTarget[pProp](s);
681
- // };
682
- } else {
683
- return Reflect.get(...arguments);
684
- }
685
- },
686
- });
687
- });
688
- });
689
- // return (await target.pages()).map((page) => {
690
- // return new Proxy(page, handler2);
691
- // });
692
- };
693
- }
694
- },
695
- });
696
- }
636
+ // if (prop === "browser") {
637
+ // return new Proxy(target[prop], {
638
+ // get(bTarget, bProp, bReceiver) {
639
+ // if (bProp === "pages") {
640
+ // return async () => {
641
+ // return bTarget.pages().then((pages) => {
642
+ // return pages.map((page) => {
643
+ // return new Proxy(page, {
644
+ // get(pTarget, pProp, pReciever) {
645
+ // // console.log("mark get", pTarget, pProp, pReciever);
646
+ // if (pProp === "screenshot") {
647
+ // return async (x) => {
648
+ // return pm.customScreenShot(
649
+ // {
650
+ // ...x,
651
+ // path:
652
+ // `${testResourceConfiguration.fs}/${key}/afterEach` +
653
+ // "/" +
654
+ // x.path,
655
+ // },
656
+ // page
657
+ // );
658
+ // };
659
+ // } else if (pProp === "mainFrame") {
660
+ // return () => pTarget[pProp]();
661
+ // // return target[pProp];
662
+ // // return Reflect.get(...arguments);
663
+ // } else if (pProp === "exposeFunction") {
664
+ // // return Reflect.get(target, prop, receiver);
665
+ // return pTarget[pProp].bind(pTarget);
666
+ // // return target[pProp];
667
+ // } else if (pProp === "removeExposedFunction") {
668
+ // // return Reflect.get(target, prop, receiver);
669
+ // return pTarget[pProp].bind(pTarget);
670
+ // // return target[pProp];
671
+ // } else if (pProp === "click") {
672
+ // // console.log("mark12", arguments);
673
+ // // return Reflect.get(target, prop, receiver);
674
+ // // return pTarget[pProp].bind(pTarget);
675
+ // // return target[pProp];
676
+ // return (selector, options) => {
677
+ // pTarget[pProp](selector, options);
678
+ // };
679
+ // } else if (pProp === "$eval") {
680
+ // // return pTarget[pProp].bind(pTarget);
681
+ // return (selector, options) => {
682
+ // pTarget[pProp](selector, options);
683
+ // };
684
+ // } else if (pProp === "$") {
685
+ // return Reflect.get(...arguments);
686
+ // // return Reflect.get(target, prop, receiver);
687
+ // // return pTarget[pProp].bind(pTarget);
688
+ // // return target[pProp];
689
+ // // return pTarget[pProp].bind(pTarget);
690
+
691
+ // // return async (s) => {
692
+ // // console.log("mark17", s);
693
+ // // console.log("pTarget", pTarget);
694
+ // // console.log("pProp", pProp);
695
+ // // console.log("pReciever", pReciever);
696
+ // // // return "XXX";
697
+ // // // debugger;
698
+ // // return await pTarget[pProp](s);
699
+ // // };
700
+ // } else {
701
+ // return Reflect.get(...arguments);
702
+ // }
703
+ // },
704
+ // });
705
+ // });
706
+ // });
707
+ // // return (await target.pages()).map((page) => {
708
+ // // return new Proxy(page, handler2);
709
+ // // });
710
+ // };
711
+ // }
712
+ // },
713
+ // });
714
+ // }
697
715
 
698
716
  ///////////////////////
699
717
 
@@ -701,7 +719,7 @@ export abstract class BaseWhen<ITestShape extends IBaseTest> {
701
719
  },
702
720
  });
703
721
 
704
- return this.andWhen(
722
+ return await this.andWhen(
705
723
  store,
706
724
  this.whenCB,
707
725
  testResourceConfiguration,
@@ -778,87 +796,86 @@ export abstract class BaseThen<
778
796
  try {
779
797
  const butThenProxy = new Proxy(pm, {
780
798
  get(target, prop, receiver) {
799
+ if (prop === "customScreenShot") {
800
+ return (opts) =>
801
+ target.customScreenShot({
802
+ ...opts,
803
+ path: `${filepath}/${opts.path}`,
804
+ });
805
+ }
806
+
781
807
  if (prop === "writeFileSync") {
782
808
  return (fp, contents) =>
783
809
  target[prop](`${filepath}/${fp}`, contents);
784
810
  }
785
811
 
786
- if (prop === "browser") {
787
- return new Proxy(target[prop], {
788
- get(bTarget, bProp, bReceiver) {
789
- if (bProp === "pages") {
790
- return async () => {
791
- return bTarget.pages().then((pages) => {
792
- return pages.map((page) => {
793
- return new Proxy(page, {
794
- get(pTarget, pProp, pReciever) {
795
- if (pProp === "screenshot") {
796
- return async (x) => {
797
- return pm.customScreenShot(
798
- {
799
- ...x,
800
- path:
801
- `${testResourceConfiguration.fs}/${filepath}/butThen` +
802
- "/" +
803
- x.path,
804
- },
805
- page
806
- );
807
- // return await window["custom-screenshot"]({
808
- // ...x,
809
- // path:
810
- // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
811
- // "/" +
812
- // x.path,
813
- // });
814
- };
815
- } else if (pProp === "close") {
816
- return () => pTarget[pProp]();
817
- } else if (pProp === "mainFrame") {
818
- return () => pTarget[pProp]();
819
- } else if (pProp === "exposeFunction") {
820
- // return Reflect.get(target, prop, receiver);
821
- return (...a) => pTarget[pProp](...a);
822
- // return target[pProp];
823
- } else if (pProp === "removeExposedFunction") {
824
- // return Reflect.get(target, prop, receiver);
825
- return pTarget[pProp].bind(pTarget);
826
- // return target[pProp];
827
- } else {
828
- return Reflect.get(...arguments);
829
- }
830
- },
831
- });
832
- });
833
- });
834
- // return (await target.pages()).map((page) => {
835
- // return new Proxy(page, handler2);
836
- // });
837
- };
838
- }
839
- },
840
- });
841
- }
812
+ // if (prop === "browser") {
813
+ // return new Proxy(target[prop], {
814
+ // get(bTarget, bProp, bReceiver) {
815
+ // if (bProp === "pages") {
816
+ // return async () => {
817
+ // return bTarget.pages().then((pages) => {
818
+ // return pages.map((page) => {
819
+ // return new Proxy(page, {
820
+ // get(pTarget, pProp, pReciever) {
821
+ // if (pProp === "screenshot") {
822
+ // return async (x) => {
823
+ // return pm.customScreenShot(
824
+ // {
825
+ // ...x,
826
+ // path:
827
+ // `${testResourceConfiguration.fs}/${filepath}/butThen` +
828
+ // "/" +
829
+ // x.path,
830
+ // },
831
+ // page
832
+ // );
833
+ // // return await window["custom-screenshot"]({
834
+ // // ...x,
835
+ // // path:
836
+ // // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
837
+ // // "/" +
838
+ // // x.path,
839
+ // // });
840
+ // };
841
+ // } else if (pProp === "close") {
842
+ // return () => pTarget[pProp]();
843
+ // } else if (pProp === "mainFrame") {
844
+ // return () => pTarget[pProp]();
845
+ // } else if (pProp === "exposeFunction") {
846
+ // // return Reflect.get(target, prop, receiver);
847
+ // return (...a) => pTarget[pProp](...a);
848
+ // // return target[pProp];
849
+ // } else if (pProp === "removeExposedFunction") {
850
+ // // return Reflect.get(target, prop, receiver);
851
+ // return pTarget[pProp].bind(pTarget);
852
+ // // return target[pProp];
853
+ // } else {
854
+ // return Reflect.get(...arguments);
855
+ // }
856
+ // },
857
+ // });
858
+ // });
859
+ // });
860
+ // // return (await target.pages()).map((page) => {
861
+ // // return new Proxy(page, handler2);
862
+ // // });
863
+ // };
864
+ // }
865
+ // },
866
+ // });
867
+ // }
842
868
 
843
869
  return Reflect.get(...arguments);
844
870
  },
845
871
  });
846
872
 
847
- // const x = await this.butThen(
848
- // store,
849
- // this.thenCB,
850
- // testResourceConfiguration,
851
- // butThenProxy
852
- // );
853
- // return x;
854
-
855
873
  return this.butThen(
856
874
  store,
857
875
  this.thenCB,
858
876
  testResourceConfiguration,
859
877
  butThenProxy
860
878
  ).catch((e) => {
861
- console.log("mar123");
862
879
  this.error = true;
863
880
  throw e;
864
881
  });