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