testeranto 0.82.0 → 0.84.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 (70) hide show
  1. package/dist/common/package.json +3 -0
  2. package/dist/common/src/Node.js +2 -0
  3. package/dist/common/src/PM/main.js +182 -79
  4. package/dist/common/src/PM/node.js +32 -6
  5. package/dist/common/src/PM/web.js +28 -54
  6. package/dist/common/src/Project.js +0 -3
  7. package/dist/common/src/Puppeteer.js +9 -51
  8. package/dist/common/src/SubPackages/react-dom/jsx/web.js +11 -11
  9. package/dist/common/src/Web.js +2 -0
  10. package/dist/common/src/esbuildConfigs/featuresPlugin.js +39 -0
  11. package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +62 -41
  12. package/dist/common/src/esbuildConfigs/node.js +10 -3
  13. package/dist/common/src/esbuildConfigs/web.js +6 -2
  14. package/dist/common/src/lib/abstractBase.js +343 -335
  15. package/dist/common/src/lib/basebuilder.js +7 -3
  16. package/dist/common/src/lib/core.js +1 -1
  17. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  18. package/dist/module/package.json +3 -0
  19. package/dist/module/src/Node.js +1 -1
  20. package/dist/module/src/PM/main.js +182 -79
  21. package/dist/module/src/PM/node.js +32 -6
  22. package/dist/module/src/PM/web.js +28 -51
  23. package/dist/module/src/Project.js +0 -3
  24. package/dist/module/src/Puppeteer.js +9 -51
  25. package/dist/module/src/SubPackages/react-dom/jsx/web.js +10 -10
  26. package/dist/module/src/Web.js +1 -1
  27. package/dist/module/src/esbuildConfigs/featuresPlugin.js +34 -0
  28. package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +62 -41
  29. package/dist/module/src/esbuildConfigs/node.js +10 -3
  30. package/dist/module/src/esbuildConfigs/web.js +6 -2
  31. package/dist/module/src/lib/abstractBase.js +343 -335
  32. package/dist/module/src/lib/basebuilder.js +7 -3
  33. package/dist/module/src/lib/core.js +1 -1
  34. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  35. package/dist/prebuild/Puppeteer.mjs +82033 -0
  36. package/dist/types/src/Node.d.ts +5 -1
  37. package/dist/types/src/PM/index.d.ts +10 -4
  38. package/dist/types/src/PM/main.d.ts +21 -9
  39. package/dist/types/src/PM/node.d.ts +11 -3
  40. package/dist/types/src/PM/web.d.ts +11 -2
  41. package/dist/types/src/SubPackages/react-dom/jsx/index.d.ts +1 -0
  42. package/dist/types/src/SubPackages/react-test-renderer/jsx/index.d.ts +1 -0
  43. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/index.d.ts +1 -0
  44. package/dist/types/src/Types.d.ts +2 -2
  45. package/dist/types/src/Web.d.ts +5 -1
  46. package/dist/types/src/esbuildConfigs/featuresPlugin.d.ts +5 -0
  47. package/dist/types/src/esbuildConfigs/inputFilesPlugin.d.ts +4 -2
  48. package/dist/types/src/lib/abstractBase.d.ts +5 -5
  49. package/dist/types/src/lib/types.d.ts +7 -5
  50. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  51. package/package.json +18 -41
  52. package/pupBuild.js +18 -0
  53. package/src/Node.ts +1 -3
  54. package/src/PM/index.ts +12 -3
  55. package/src/PM/main.ts +300 -164
  56. package/src/PM/node.ts +40 -6
  57. package/src/PM/web.ts +108 -58
  58. package/src/Project.ts +0 -8
  59. package/src/Puppeteer.ts +11 -57
  60. package/src/SubPackages/react-dom/jsx/web.ts +15 -10
  61. package/src/Types.ts +5 -2
  62. package/src/Web.ts +1 -1
  63. package/src/esbuildConfigs/featuresPlugin.ts +43 -0
  64. package/src/esbuildConfigs/inputFilesPlugin.ts +98 -66
  65. package/src/esbuildConfigs/node.ts +18 -3
  66. package/src/esbuildConfigs/web.ts +14 -2
  67. package/src/lib/abstractBase.ts +381 -364
  68. package/src/lib/basebuilder.ts +7 -7
  69. package/src/lib/core.ts +1 -1
  70. package/src/lib/types.ts +13 -5
@@ -12,12 +12,12 @@ export class BaseSuite {
12
12
  .flat()
13
13
  .filter((value, index, array) => {
14
14
  return array.indexOf(value) === index;
15
- })
16
- .reduce((mm, lm) => {
17
- mm[lm] = lm;
18
- return mm;
19
- }, {});
20
- return features;
15
+ });
16
+ // .reduce((mm, lm) => {
17
+ // mm[lm] = lm;
18
+ // return mm;
19
+ // }, {});
20
+ return features || [];
21
21
  }
22
22
  toObj() {
23
23
  const givens = Object.keys(this.givens).map((k) => this.givens[k].toObj());
@@ -48,56 +48,66 @@ export class BaseSuite {
48
48
  for (const [gNdx, g] of Object.entries(this.givens)) {
49
49
  const beforeAllProxy = new Proxy(pm, {
50
50
  get(target, prop, receiver) {
51
+ if (prop === "customScreenShot") {
52
+ return (opts) => target.customScreenShot(Object.assign(Object.assign({}, opts), {
53
+ // path: `${filepath}/${opts.path}`,
54
+ path: `suite-${sNdx}/beforeAll/${opts.path}` }));
55
+ }
51
56
  if (prop === "writeFileSync") {
52
57
  return (fp, contents) => target[prop](`suite-${sNdx}/beforeAll/${fp}`, contents);
53
58
  }
54
- if (prop === "browser") {
55
- return new Proxy(target[prop], {
56
- get(bTarget, bProp, bReceiver) {
57
- if (bProp === "pages") {
58
- return async () => {
59
- return bTarget.pages().then((pages) => {
60
- return pages.map((page) => {
61
- return new Proxy(page, {
62
- get(pTarget, pProp, pReciever) {
63
- if (pProp === "screenshot") {
64
- return async (x) => {
65
- return pm.customScreenShot(Object.assign(Object.assign({}, x), { path: `${testResourceConfiguration.fs}/suite-${sNdx}/beforeAll` +
66
- "/" +
67
- x.path }), page);
68
- // return await window["custom-screenshot"]({
69
- // ...x,
70
- // path:
71
- // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
72
- // "/" +
73
- // x.path,
74
- // });
75
- };
76
- }
77
- else if (pProp === "mainFrame") {
78
- return () => pTarget[pProp]();
79
- }
80
- else if (pProp === "close") {
81
- return () => pTarget[pProp]();
82
- }
83
- // else if (pProp === "mainFrame") {
84
- // return () => target[pProp](...arguments);
85
- // }
86
- else {
87
- return Reflect.get(...arguments);
88
- }
89
- },
90
- });
91
- });
92
- });
93
- // return (await target.pages()).map((page) => {
94
- // return new Proxy(page, handler2);
95
- // });
96
- };
97
- }
98
- },
99
- });
100
- }
59
+ // if (prop === "browser") {
60
+ // return new Proxy(target[prop], {
61
+ // get(bTarget, bProp, bReceiver) {
62
+ // if (bProp === "pages") {
63
+ // return async () => {
64
+ // return bTarget.pages().then((pages) => {
65
+ // return pages.map((page) => {
66
+ // return new Proxy(page, {
67
+ // get(pTarget, pProp, pReciever) {
68
+ // if (pProp === "screenshot") {
69
+ // return async (x) => {
70
+ // return pm.customScreenShot(
71
+ // {
72
+ // ...x,
73
+ // path:
74
+ // `${testResourceConfiguration.fs}/suite-${sNdx}/beforeAll` +
75
+ // "/" +
76
+ // x.path,
77
+ // },
78
+ // page
79
+ // );
80
+ // // return await window["custom-screenshot"]({
81
+ // // ...x,
82
+ // // path:
83
+ // // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
84
+ // // "/" +
85
+ // // x.path,
86
+ // // });
87
+ // };
88
+ // } else if (pProp === "mainFrame") {
89
+ // return () => pTarget[pProp]();
90
+ // } else if (pProp === "close") {
91
+ // return () => pTarget[pProp]();
92
+ // }
93
+ // // else if (pProp === "mainFrame") {
94
+ // // return () => target[pProp](...arguments);
95
+ // // }
96
+ // else {
97
+ // return Reflect.get(...arguments);
98
+ // }
99
+ // },
100
+ // });
101
+ // });
102
+ // });
103
+ // // return (await target.pages()).map((page) => {
104
+ // // return new Proxy(page, handler2);
105
+ // // });
106
+ // };
107
+ // }
108
+ // },
109
+ // });
110
+ // }
101
111
  return Reflect.get(...arguments);
102
112
  },
103
113
  });
@@ -112,64 +122,68 @@ export class BaseSuite {
112
122
  // return this;
113
123
  }
114
124
  }
115
- const afterAllProxy = new Proxy(pm, {
116
- get(target, prop, receiver) {
117
- if (prop === "writeFileSync") {
118
- return (fp, contents) => target[prop](`suite-${sNdx}/afterAll/${fp}`, contents);
119
- }
120
- if (prop === "browser") {
121
- return new Proxy(target[prop], {
122
- get(bTarget, bProp, bReceiver) {
123
- if (bProp === "pages") {
124
- return async () => {
125
- return bTarget.pages().then((pages) => {
126
- return pages.map((page) => {
127
- return new Proxy(page, {
128
- get(pTarget, pProp, pReciever) {
129
- if (pProp === "screenshot") {
130
- return async (x) => {
131
- return pm.customScreenShot(Object.assign(Object.assign({}, x), { path: `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
132
- "/" +
133
- x.path }));
134
- // return await window["custom-screenshot"]({
135
- // ...x,
136
- // path:
137
- // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
138
- // "/" +
139
- // x.path,
140
- // });
141
- };
142
- }
143
- else if (pProp === "mainFrame") {
144
- return () => pTarget[pProp]();
145
- }
146
- else if (pProp === "close") {
147
- return () => pTarget[pProp]();
148
- }
149
- // else if (pProp === "mainFrame") {
150
- // return () => target[pProp](...arguments);
151
- // }
152
- else {
153
- return Reflect.get(...arguments);
154
- }
155
- },
156
- });
157
- });
158
- });
159
- // return (await target.pages()).map((page) => {
160
- // return new Proxy(page, handler2);
161
- // });
162
- };
163
- }
164
- },
165
- });
166
- }
167
- return Reflect.get(...arguments);
168
- },
169
- });
170
- // pm.browser
125
+ // const afterAllProxy = new Proxy(pm, {
126
+ // get(target, prop, receiver) {
127
+ // if (prop === "writeFileSync") {
128
+ // return (fp, contents) =>
129
+ // target[prop](`suite-${sNdx}/afterAll/${fp}`, contents);
130
+ // }
131
+ // if (prop === "browser") {
132
+ // return new Proxy(target[prop], {
133
+ // get(bTarget, bProp, bReceiver) {
134
+ // if (bProp === "pages") {
135
+ // return async () => {
136
+ // return bTarget.pages().then((pages) => {
137
+ // return pages.map((page) => {
138
+ // return new Proxy(page, {
139
+ // get(pTarget, pProp, pReciever) {
140
+ // if (pProp === "screenshot") {
141
+ // return async (x) => {
142
+ // return pm.customScreenShot({
143
+ // ...x,
144
+ // path:
145
+ // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
146
+ // "/" +
147
+ // x.path,
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
+ // // else if (pProp === "mainFrame") {
163
+ // // return () => target[pProp](...arguments);
164
+ // // }
165
+ // else {
166
+ // return Reflect.get(...arguments);
167
+ // }
168
+ // },
169
+ // });
170
+ // });
171
+ // });
172
+ // // return (await target.pages()).map((page) => {
173
+ // // return new Proxy(page, handler2);
174
+ // // });
175
+ // };
176
+ // }
177
+ // },
178
+ // });
179
+ // }
180
+ // return Reflect.get(...arguments);
181
+ // },
182
+ // });
171
183
  try {
172
- this.afterAll(this.store, artifactory, afterAllProxy);
184
+ this.afterAll(this.store, artifactory,
185
+ // afterAllProxy
186
+ pm);
173
187
  }
174
188
  catch (e) {
175
189
  console.error(e);
@@ -237,6 +251,11 @@ export class BaseGiven {
237
251
  if (prop === "writeFileSync") {
238
252
  return (fp, contents) => target[prop](`suite-${suiteNdx}/given-${key}/when/beforeEach/${fp}`, contents);
239
253
  }
254
+ if (prop === "customScreenShot") {
255
+ return (opts) => target.customScreenShot(Object.assign(Object.assign({}, opts), {
256
+ // path: `${filepath}/${opts.path}`,
257
+ path: `suite-${suiteNdx}/given-${key}/when/beforeEach/${opts.path}` }));
258
+ }
240
259
  return Reflect.get(...arguments);
241
260
  },
242
261
  });
@@ -259,89 +278,84 @@ export class BaseGiven {
259
278
  }
260
279
  finally {
261
280
  try {
262
- // const afterEachProxy = new Proxy(pm, {
263
- // get(target, prop, receiver) {
264
- // if (prop === "writeFileSync") {
265
- // console.log("afterEachProxy", arguments, target[prop]);
266
- // return (fp, contents) =>
267
- // // target[prop](`${key}/andWhen/${fp}`, contents);
268
- // target[prop](`${key}/afterEach/${fp}`, contents);
269
- // }
270
- // return Reflect.get(...arguments);
271
- // },
272
- // });
273
- // await this.afterEach(this.store, key, givenArtifactory, afterEachProxy);
274
- // await this.afterEach(this.store, key, givenArtifactory, pm);
275
281
  const afterEachProxy = new Proxy(pm, {
276
282
  get(target, prop, receiver) {
277
- if (prop === "writeFileSync") {
278
- return (fp, contents) => target[prop](`suite-${suiteNdx}/given-${key}/afterAll/${fp}`, contents);
283
+ if (prop === "customScreenShot") {
284
+ return (opts) => target.customScreenShot(Object.assign(Object.assign({}, opts), { path: `suite-${suiteNdx}/given-${key}/afterEach/${opts.path}` }));
279
285
  }
280
- if (prop === "browser") {
281
- return new Proxy(target[prop], {
282
- get(bTarget, bProp, bReceiver) {
283
- if (bProp === "pages") {
284
- return async () => {
285
- return bTarget.pages().then((pages) => {
286
- return pages.map((page) => {
287
- return new Proxy(page, {
288
- get(pTarget, pProp, pReciever) {
289
- if (pProp === "screenshot") {
290
- return async (x) => {
291
- // console.log(
292
- // "custom-screenshot-MARK-afterEachProxy",
293
- // window["custom-screenshot"].toString()
294
- // );
295
- return pm.customScreenShot(Object.assign(Object.assign({}, x), { path: `${testResourceConfiguration.fs}/suite-${suiteNdx}/given-${key}/afterEach` +
296
- "/" +
297
- x.path }), page);
298
- // return await pTarget[pProp]({
299
- // ...x,
300
- // path:
301
- // `${testResourceConfiguration.fs}/suite-${suiteNdx}/given-${key}/afterEach` +
302
- // "/" +
303
- // x.path,
304
- // });
305
- };
306
- }
307
- else if (pProp === "mainFrame") {
308
- return () => pTarget[pProp]();
309
- // return target[pProp];
310
- // return Reflect.get(...arguments);
311
- }
312
- else if (pProp === "exposeFunction") {
313
- // return Reflect.get(target, prop, receiver);
314
- return (...a) => pTarget[pProp](...a);
315
- // return target[pProp];
316
- }
317
- else if (pProp === "removeExposedFunction") {
318
- // return Reflect.get(target, prop, receiver);
319
- return pTarget[pProp].bind(pTarget);
320
- // return target[pProp];
321
- }
322
- // else if (pProp === "#frameManager") {
323
- // return () => target[pProp](...arguments);
324
- // }
325
- else {
326
- return Reflect.get(...arguments);
327
- }
328
- },
329
- });
330
- });
331
- });
332
- // return (await target.pages()).map((page) => {
333
- // return new Proxy(page, handler2);
334
- // });
335
- };
336
- }
337
- },
338
- });
286
+ if (prop === "writeFileSync") {
287
+ return (fp, contents) => target[prop](`suite-${suiteNdx}/given-${key}/afterEach/${fp}`, contents);
339
288
  }
289
+ // if (prop === "browser") {
290
+ // return new Proxy(target[prop], {
291
+ // get(bTarget, bProp, bReceiver) {
292
+ // if (bProp === "pages") {
293
+ // return async () => {
294
+ // return bTarget.pages().then((pages) => {
295
+ // return pages.map((page) => {
296
+ // return new Proxy(page, {
297
+ // get(pTarget, pProp, pReciever) {
298
+ // if (pProp === "screenshot") {
299
+ // return async (x) => {
300
+ // // console.log(
301
+ // // "custom-screenshot-MARK-afterEachProxy",
302
+ // // window["custom-screenshot"].toString()
303
+ // // );
304
+ // return pm.customScreenShot(
305
+ // {
306
+ // ...x,
307
+ // path:
308
+ // `${testResourceConfiguration.fs}/suite-${suiteNdx}/given-${key}/afterEach` +
309
+ // "/" +
310
+ // x.path,
311
+ // },
312
+ // page
313
+ // );
314
+ // // return await pTarget[pProp]({
315
+ // // ...x,
316
+ // // path:
317
+ // // `${testResourceConfiguration.fs}/suite-${suiteNdx}/given-${key}/afterEach` +
318
+ // // "/" +
319
+ // // x.path,
320
+ // // });
321
+ // };
322
+ // } else if (pProp === "mainFrame") {
323
+ // return () => pTarget[pProp]();
324
+ // // return target[pProp];
325
+ // // return Reflect.get(...arguments);
326
+ // } else if (pProp === "exposeFunction") {
327
+ // // return Reflect.get(target, prop, receiver);
328
+ // return (...a) => pTarget[pProp](...a);
329
+ // // return target[pProp];
330
+ // } else if (pProp === "removeExposedFunction") {
331
+ // // return Reflect.get(target, prop, receiver);
332
+ // return pTarget[pProp].bind(pTarget);
333
+ // // return target[pProp];
334
+ // }
335
+ // // else if (pProp === "#frameManager") {
336
+ // // return () => target[pProp](...arguments);
337
+ // // }
338
+ // else {
339
+ // return Reflect.get(...arguments);
340
+ // }
341
+ // },
342
+ // });
343
+ // });
344
+ // });
345
+ // // return (await target.pages()).map((page) => {
346
+ // // return new Proxy(page, handler2);
347
+ // // });
348
+ // };
349
+ // }
350
+ // },
351
+ // });
352
+ // }
340
353
  return Reflect.get(...arguments);
341
354
  },
342
355
  });
343
- // console.log("mark5", this.store, key);
344
- await this.afterEach(this.store, key, givenArtifactory, afterEachProxy);
356
+ await this.afterEach(this.store, key, givenArtifactory,
357
+ // pm
358
+ afterEachProxy);
345
359
  }
346
360
  catch (e) {
347
361
  console.error("afterEach failed! no error will be recorded!", e);
@@ -361,104 +375,101 @@ export class BaseWhen {
361
375
  error: this.error,
362
376
  };
363
377
  }
364
- async test(store, testResourceConfiguration, tLog, pm, key) {
378
+ async test(store, testResourceConfiguration, tLog, pm, filepath) {
365
379
  tLog(" When:", this.name);
366
380
  const name = this.name;
367
381
  const andWhenProxy = new Proxy(pm, {
368
- // set(obj, prop, value) {
369
- // return Reflect.set(...arguments);
370
- // // if (prop === "eyeCount" && value % 2 !== 0) {
371
- // // console.log("Monsters must have an even number of eyes");
372
- // // } else {
373
- // // return Reflect.set(...arguments);
374
- // // }
375
- // },
376
382
  get(target, prop, receiver) {
383
+ if (prop === "customScreenShot") {
384
+ return (opts) => target.customScreenShot(Object.assign(Object.assign({}, opts), { path: `${filepath}/${opts.path}` }));
385
+ }
377
386
  if (prop === "writeFileSync") {
378
- return (fp, contents) =>
379
- // target[prop](`${key}/andWhen/${fp}`, contents);
380
- target[prop](`${key}/andWhen/${fp}`, contents);
387
+ return (fp, contents) => target[prop](`${filepath}/andWhen/${fp}`, contents);
381
388
  }
382
389
  /////////////////////
383
- if (prop === "browser") {
384
- return new Proxy(target[prop], {
385
- get(bTarget, bProp, bReceiver) {
386
- if (bProp === "pages") {
387
- return async () => {
388
- return bTarget.pages().then((pages) => {
389
- return pages.map((page) => {
390
- return new Proxy(page, {
391
- get(pTarget, pProp, pReciever) {
392
- // console.log("mark get", pTarget, pProp, pReciever);
393
- if (pProp === "screenshot") {
394
- return async (x) => {
395
- return pm.customScreenShot(Object.assign(Object.assign({}, x), { path: `${testResourceConfiguration.fs}/${key}/afterEach` +
396
- "/" +
397
- x.path }), page);
398
- };
399
- }
400
- else if (pProp === "mainFrame") {
401
- return () => pTarget[pProp]();
402
- // return target[pProp];
403
- // return Reflect.get(...arguments);
404
- }
405
- else if (pProp === "exposeFunction") {
406
- // return Reflect.get(target, prop, receiver);
407
- return pTarget[pProp].bind(pTarget);
408
- // return target[pProp];
409
- }
410
- else if (pProp === "removeExposedFunction") {
411
- // return Reflect.get(target, prop, receiver);
412
- return pTarget[pProp].bind(pTarget);
413
- // return target[pProp];
414
- }
415
- else if (pProp === "click") {
416
- // console.log("mark12", arguments);
417
- // return Reflect.get(target, prop, receiver);
418
- // return pTarget[pProp].bind(pTarget);
419
- // return target[pProp];
420
- return (selector, options) => {
421
- // console.log("mark13", selector, options);
422
- // debugger;
423
- pTarget[pProp](selector, options);
424
- };
425
- }
426
- else if (pProp === "$") {
427
- return Reflect.get(...arguments);
428
- // return Reflect.get(target, prop, receiver);
429
- // return pTarget[pProp].bind(pTarget);
430
- // return target[pProp];
431
- // return pTarget[pProp].bind(pTarget);
432
- // return async (s) => {
433
- // console.log("mark17", s);
434
- // console.log("pTarget", pTarget);
435
- // console.log("pProp", pProp);
436
- // console.log("pReciever", pReciever);
437
- // // return "XXX";
438
- // // debugger;
439
- // return await pTarget[pProp](s);
440
- // };
441
- }
442
- else {
443
- return Reflect.get(...arguments);
444
- }
445
- },
446
- });
447
- });
448
- });
449
- // return (await target.pages()).map((page) => {
450
- // return new Proxy(page, handler2);
451
- // });
452
- };
453
- }
454
- },
455
- });
456
- }
390
+ // if (prop === "browser") {
391
+ // return new Proxy(target[prop], {
392
+ // get(bTarget, bProp, bReceiver) {
393
+ // if (bProp === "pages") {
394
+ // return async () => {
395
+ // return bTarget.pages().then((pages) => {
396
+ // return pages.map((page) => {
397
+ // return new Proxy(page, {
398
+ // get(pTarget, pProp, pReciever) {
399
+ // // console.log("mark get", pTarget, pProp, pReciever);
400
+ // if (pProp === "screenshot") {
401
+ // return async (x) => {
402
+ // return pm.customScreenShot(
403
+ // {
404
+ // ...x,
405
+ // path:
406
+ // `${testResourceConfiguration.fs}/${key}/afterEach` +
407
+ // "/" +
408
+ // x.path,
409
+ // },
410
+ // page
411
+ // );
412
+ // };
413
+ // } else if (pProp === "mainFrame") {
414
+ // return () => pTarget[pProp]();
415
+ // // return target[pProp];
416
+ // // return Reflect.get(...arguments);
417
+ // } else if (pProp === "exposeFunction") {
418
+ // // return Reflect.get(target, prop, receiver);
419
+ // return pTarget[pProp].bind(pTarget);
420
+ // // return target[pProp];
421
+ // } else if (pProp === "removeExposedFunction") {
422
+ // // return Reflect.get(target, prop, receiver);
423
+ // return pTarget[pProp].bind(pTarget);
424
+ // // return target[pProp];
425
+ // } else if (pProp === "click") {
426
+ // // console.log("mark12", arguments);
427
+ // // return Reflect.get(target, prop, receiver);
428
+ // // return pTarget[pProp].bind(pTarget);
429
+ // // return target[pProp];
430
+ // return (selector, options) => {
431
+ // pTarget[pProp](selector, options);
432
+ // };
433
+ // } else if (pProp === "$eval") {
434
+ // // return pTarget[pProp].bind(pTarget);
435
+ // return (selector, options) => {
436
+ // pTarget[pProp](selector, options);
437
+ // };
438
+ // } else if (pProp === "$") {
439
+ // return Reflect.get(...arguments);
440
+ // // return Reflect.get(target, prop, receiver);
441
+ // // return pTarget[pProp].bind(pTarget);
442
+ // // return target[pProp];
443
+ // // return pTarget[pProp].bind(pTarget);
444
+ // // return async (s) => {
445
+ // // console.log("mark17", s);
446
+ // // console.log("pTarget", pTarget);
447
+ // // console.log("pProp", pProp);
448
+ // // console.log("pReciever", pReciever);
449
+ // // // return "XXX";
450
+ // // // debugger;
451
+ // // return await pTarget[pProp](s);
452
+ // // };
453
+ // } else {
454
+ // return Reflect.get(...arguments);
455
+ // }
456
+ // },
457
+ // });
458
+ // });
459
+ // });
460
+ // // return (await target.pages()).map((page) => {
461
+ // // return new Proxy(page, handler2);
462
+ // // });
463
+ // };
464
+ // }
465
+ // },
466
+ // });
467
+ // }
457
468
  ///////////////////////
458
469
  return Reflect.get(...arguments);
459
470
  },
460
471
  });
461
- return this.andWhen(store, this.whenCB, testResourceConfiguration, andWhenProxy).catch((e) => {
472
+ return await this.andWhen(store, this.whenCB, testResourceConfiguration, andWhenProxy).catch((e) => {
462
473
  this.error = true;
463
474
  // throw e;
464
475
  });
@@ -492,75 +503,72 @@ export class BaseThen {
492
503
  try {
493
504
  const butThenProxy = new Proxy(pm, {
494
505
  get(target, prop, receiver) {
506
+ if (prop === "customScreenShot") {
507
+ return (opts) => target.customScreenShot(Object.assign(Object.assign({}, opts), { path: `${filepath}/${opts.path}` }));
508
+ }
495
509
  if (prop === "writeFileSync") {
496
510
  return (fp, contents) => target[prop](`${filepath}/${fp}`, contents);
497
511
  }
498
- if (prop === "browser") {
499
- return new Proxy(target[prop], {
500
- get(bTarget, bProp, bReceiver) {
501
- if (bProp === "pages") {
502
- return async () => {
503
- return bTarget.pages().then((pages) => {
504
- return pages.map((page) => {
505
- return new Proxy(page, {
506
- get(pTarget, pProp, pReciever) {
507
- if (pProp === "screenshot") {
508
- return async (x) => {
509
- return pm.customScreenShot(Object.assign(Object.assign({}, x), { path: `${testResourceConfiguration.fs}/${filepath}/butThen` +
510
- "/" +
511
- x.path }), page);
512
- // return await window["custom-screenshot"]({
513
- // ...x,
514
- // path:
515
- // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
516
- // "/" +
517
- // x.path,
518
- // });
519
- };
520
- }
521
- else if (pProp === "close") {
522
- return () => pTarget[pProp]();
523
- }
524
- else if (pProp === "mainFrame") {
525
- return () => pTarget[pProp]();
526
- }
527
- else if (pProp === "exposeFunction") {
528
- // return Reflect.get(target, prop, receiver);
529
- return (...a) => pTarget[pProp](...a);
530
- // return target[pProp];
531
- }
532
- else if (pProp === "removeExposedFunction") {
533
- // return Reflect.get(target, prop, receiver);
534
- return pTarget[pProp].bind(pTarget);
535
- // return target[pProp];
536
- }
537
- else {
538
- return Reflect.get(...arguments);
539
- }
540
- },
541
- });
542
- });
543
- });
544
- // return (await target.pages()).map((page) => {
545
- // return new Proxy(page, handler2);
546
- // });
547
- };
548
- }
549
- },
550
- });
551
- }
512
+ // if (prop === "browser") {
513
+ // return new Proxy(target[prop], {
514
+ // get(bTarget, bProp, bReceiver) {
515
+ // if (bProp === "pages") {
516
+ // return async () => {
517
+ // return bTarget.pages().then((pages) => {
518
+ // return pages.map((page) => {
519
+ // return new Proxy(page, {
520
+ // get(pTarget, pProp, pReciever) {
521
+ // if (pProp === "screenshot") {
522
+ // return async (x) => {
523
+ // return pm.customScreenShot(
524
+ // {
525
+ // ...x,
526
+ // path:
527
+ // `${testResourceConfiguration.fs}/${filepath}/butThen` +
528
+ // "/" +
529
+ // x.path,
530
+ // },
531
+ // page
532
+ // );
533
+ // // return await window["custom-screenshot"]({
534
+ // // ...x,
535
+ // // path:
536
+ // // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
537
+ // // "/" +
538
+ // // x.path,
539
+ // // });
540
+ // };
541
+ // } else if (pProp === "close") {
542
+ // return () => pTarget[pProp]();
543
+ // } else if (pProp === "mainFrame") {
544
+ // return () => pTarget[pProp]();
545
+ // } else if (pProp === "exposeFunction") {
546
+ // // return Reflect.get(target, prop, receiver);
547
+ // return (...a) => pTarget[pProp](...a);
548
+ // // return target[pProp];
549
+ // } else if (pProp === "removeExposedFunction") {
550
+ // // return Reflect.get(target, prop, receiver);
551
+ // return pTarget[pProp].bind(pTarget);
552
+ // // return target[pProp];
553
+ // } else {
554
+ // return Reflect.get(...arguments);
555
+ // }
556
+ // },
557
+ // });
558
+ // });
559
+ // });
560
+ // // return (await target.pages()).map((page) => {
561
+ // // return new Proxy(page, handler2);
562
+ // // });
563
+ // };
564
+ // }
565
+ // },
566
+ // });
567
+ // }
552
568
  return Reflect.get(...arguments);
553
569
  },
554
570
  });
555
- // const x = await this.butThen(
556
- // store,
557
- // this.thenCB,
558
- // testResourceConfiguration,
559
- // butThenProxy
560
- // );
561
- // return x;
562
571
  return this.butThen(store, this.thenCB, testResourceConfiguration, butThenProxy).catch((e) => {
563
- console.log("mar123");
564
572
  this.error = true;
565
573
  throw e;
566
574
  });