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.
- package/dist/common/src/Node.js +4 -2
- package/dist/common/src/PM/main.js +188 -61
- package/dist/common/src/PM/node.js +32 -7
- package/dist/common/src/PM/web.js +28 -54
- package/dist/common/src/Project.js +0 -3
- package/dist/common/src/Puppeteer.js +9 -51
- package/dist/common/src/SubPackages/react-dom/jsx/web.js +11 -11
- package/dist/common/src/Web.js +7 -1
- package/dist/common/src/esbuildConfigs/featuresPlugin.js +39 -0
- package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +62 -64
- package/dist/common/src/esbuildConfigs/node.js +10 -3
- package/dist/common/src/esbuildConfigs/web.js +6 -2
- package/dist/common/src/lib/abstractBase.js +348 -337
- package/dist/common/src/lib/basebuilder.js +9 -4
- package/dist/common/src/lib/core.js +1 -1
- package/dist/common/tsconfig.common.tsbuildinfo +1 -1
- package/dist/module/src/Node.js +3 -3
- package/dist/module/src/PM/main.js +188 -61
- package/dist/module/src/PM/node.js +32 -7
- package/dist/module/src/PM/web.js +28 -51
- package/dist/module/src/Project.js +0 -3
- package/dist/module/src/Puppeteer.js +9 -51
- package/dist/module/src/SubPackages/react-dom/jsx/web.js +10 -10
- package/dist/module/src/Web.js +6 -2
- package/dist/module/src/esbuildConfigs/featuresPlugin.js +34 -0
- package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +62 -64
- package/dist/module/src/esbuildConfigs/node.js +10 -3
- package/dist/module/src/esbuildConfigs/web.js +6 -2
- package/dist/module/src/lib/abstractBase.js +348 -337
- package/dist/module/src/lib/basebuilder.js +9 -4
- package/dist/module/src/lib/core.js +1 -1
- package/dist/module/tsconfig.module.tsbuildinfo +1 -1
- package/dist/prebuild/Puppeteer.mjs +82033 -0
- package/dist/types/src/Node.d.ts +5 -1
- package/dist/types/src/PM/index.d.ts +10 -4
- package/dist/types/src/PM/main.d.ts +21 -9
- package/dist/types/src/PM/node.d.ts +11 -3
- package/dist/types/src/PM/web.d.ts +11 -2
- package/dist/types/src/SubPackages/react-dom/jsx/index.d.ts +1 -0
- package/dist/types/src/SubPackages/react-test-renderer/jsx/index.d.ts +1 -0
- package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/index.d.ts +1 -0
- package/dist/types/src/Types.d.ts +2 -2
- package/dist/types/src/Web.d.ts +5 -1
- package/dist/types/src/esbuildConfigs/featuresPlugin.d.ts +5 -0
- package/dist/types/src/esbuildConfigs/inputFilesPlugin.d.ts +4 -2
- package/dist/types/src/lib/abstractBase.d.ts +5 -4
- package/dist/types/src/lib/core.d.ts +1 -1
- package/dist/types/src/lib/index.d.ts +1 -0
- package/dist/types/src/lib/types.d.ts +7 -5
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/package.json +18 -45
- package/pupBuild.js +18 -0
- package/src/Node.ts +3 -5
- package/src/PM/index.ts +12 -3
- package/src/PM/main.ts +306 -140
- package/src/PM/node.ts +40 -7
- package/src/PM/web.ts +108 -58
- package/src/Project.ts +0 -8
- package/src/Puppeteer.ts +11 -57
- package/src/SubPackages/react-dom/jsx/web.ts +15 -10
- package/src/Types.ts +5 -2
- package/src/Web.ts +6 -2
- package/src/esbuildConfigs/featuresPlugin.ts +43 -0
- package/src/esbuildConfigs/inputFilesPlugin.ts +97 -90
- package/src/esbuildConfigs/node.ts +18 -3
- package/src/esbuildConfigs/web.ts +14 -2
- package/src/lib/abstractBase.ts +388 -366
- package/src/lib/basebuilder.ts +9 -9
- package/src/lib/core.ts +4 -2
- package/src/lib/index.ts +1 -0
- 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
|
-
|
|
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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
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
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
}
|
|
167
|
-
//
|
|
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,
|
|
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 === "
|
|
275
|
-
return (
|
|
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 === "
|
|
278
|
-
return
|
|
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
|
-
|
|
341
|
-
|
|
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,
|
|
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
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
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
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
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
|
});
|