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