testeranto 0.146.2 → 0.146.5
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 +9 -6
- package/dist/common/src/PM/PM_WithEslintAndTsc.js +75 -58
- package/dist/common/src/PM/main.js +131 -79
- package/dist/common/src/PM/node.js +1 -14
- package/dist/common/src/PM/nodeSidecar.js +0 -1
- package/dist/common/src/Pure.js +17 -1
- package/dist/common/src/Pure.test.js +172 -0
- package/dist/common/src/build.js +0 -1
- package/dist/common/src/esbuildConfigs/consoleDetectorPlugin.js +22 -11
- package/dist/common/src/esbuildConfigs/nativeImportDetectorPlugin.js +24 -0
- package/dist/common/src/esbuildConfigs/pure.js +2 -1
- package/dist/common/src/esbuildConfigs/rebuildPlugin.js +1 -4
- package/dist/common/src/lib/BaseSuite.js +89 -0
- package/dist/common/src/lib/BaseSuite.test/node.test.js +9 -0
- package/dist/common/src/lib/BaseSuite.test/pure.test.js +9 -0
- package/dist/common/src/lib/BaseSuite.test/test.js +232 -0
- package/dist/common/src/lib/BaseSuite.test/web.test.js +9 -0
- package/dist/common/src/lib/abstractBase.js +1 -90
- package/dist/common/src/lib/abstractBase.test/MockGiven.js +17 -0
- package/dist/common/src/lib/abstractBase.test/MockThen.js +13 -0
- package/dist/common/src/lib/abstractBase.test/MockWhen.js +13 -0
- package/dist/common/src/lib/abstractBase.test/implementation.js +42 -0
- package/dist/common/src/lib/abstractBase.test/index.js +17 -0
- package/dist/common/src/lib/abstractBase.test/interface.js +12 -0
- package/dist/common/src/lib/abstractBase.test/specification.js +19 -0
- package/dist/common/src/lib/abstractBase.test/types.js +2 -0
- package/dist/common/src/lib/baseBuilder.test/TestBaseBuilder.js +36 -0
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +97 -0
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.interface.js +17 -0
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.node.js +11 -0
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.pure.js +11 -0
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.specification.js +13 -0
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.types.js +2 -0
- package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.web.js +11 -0
- package/dist/common/src/lib/basebuilder.js +2 -20
- package/dist/common/src/lib/classBuilder.test/TestClassBuilder.js +41 -0
- package/dist/common/src/lib/classBuilder.test/classBuilder.test.implementation.js +182 -0
- package/dist/common/src/lib/classBuilder.test/classBuilder.test.interface.js +17 -0
- package/dist/common/src/lib/classBuilder.test/classBuilder.test.js +11 -0
- package/dist/common/src/lib/classBuilder.test/classBuilder.test.specification.js +41 -0
- package/dist/common/src/lib/classBuilder.test/classBuilder.test.types.js +2 -0
- package/dist/common/src/lib/core.js +4 -13
- package/dist/common/src/lib/core.test/MockCore.js +25 -0
- package/dist/common/src/lib/core.test/core.test.implementation.js +102 -0
- package/dist/common/src/lib/core.test/core.test.interface.js +18 -0
- package/dist/common/src/lib/core.test/core.test.js +17 -0
- package/dist/common/src/lib/core.test/core.test.specification.js +33 -0
- package/dist/common/src/lib/core.test/core.test.types.js +2 -0
- package/dist/common/src/lib/pmProxy.js +9 -166
- package/dist/common/src/lib/pmProxy.test/implementation.js +76 -0
- package/dist/common/src/lib/pmProxy.test/index.js +15 -0
- package/dist/common/src/lib/pmProxy.test/interface.js +37 -0
- package/dist/common/src/lib/pmProxy.test/mockPM.js +34 -0
- package/dist/common/src/lib/pmProxy.test/mockPMBase.js +115 -0
- package/dist/common/src/lib/pmProxy.test/specification.js +39 -0
- package/dist/common/src/lib/pmProxy.test/types.js +2 -0
- package/dist/common/src/run.js +6 -6
- package/dist/common/testeranto.config.js +33 -18
- package/dist/common/tsconfig.common.tsbuildinfo +1 -1
- package/dist/module/src/Node.js +9 -6
- package/dist/module/src/PM/PM_WithEslintAndTsc.js +75 -58
- package/dist/module/src/PM/main.js +131 -79
- package/dist/module/src/PM/node.js +1 -14
- package/dist/module/src/PM/nodeSidecar.js +0 -1
- package/dist/module/src/Pure.js +17 -1
- package/dist/module/src/Pure.test.js +167 -0
- package/dist/module/src/build.js +0 -1
- package/dist/module/src/esbuildConfigs/consoleDetectorPlugin.js +19 -11
- package/dist/module/src/esbuildConfigs/nativeImportDetectorPlugin.js +21 -0
- package/dist/module/src/esbuildConfigs/pure.js +2 -1
- package/dist/module/src/esbuildConfigs/rebuildPlugin.js +1 -4
- package/dist/module/src/lib/BaseSuite.js +85 -0
- package/dist/module/src/lib/BaseSuite.test/node.test.js +4 -0
- package/dist/module/src/lib/BaseSuite.test/pure.test.js +4 -0
- package/dist/module/src/lib/BaseSuite.test/test.js +227 -0
- package/dist/module/src/lib/BaseSuite.test/web.test.js +4 -0
- package/dist/module/src/lib/abstractBase.js +1 -89
- package/dist/module/src/lib/abstractBase.test/MockGiven.js +13 -0
- package/dist/module/src/lib/abstractBase.test/MockThen.js +9 -0
- package/dist/module/src/lib/abstractBase.test/MockWhen.js +9 -0
- package/dist/module/src/lib/abstractBase.test/implementation.js +39 -0
- package/dist/module/src/lib/abstractBase.test/index.js +12 -0
- package/dist/module/src/lib/abstractBase.test/interface.js +9 -0
- package/dist/module/src/lib/abstractBase.test/specification.js +15 -0
- package/dist/module/src/lib/abstractBase.test/types.js +1 -0
- package/dist/module/src/lib/baseBuilder.test/TestBaseBuilder.js +32 -0
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +94 -0
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.interface.js +14 -0
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.node.js +6 -0
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.pure.js +6 -0
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.specification.js +9 -0
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.types.js +1 -0
- package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.web.js +6 -0
- package/dist/module/src/lib/basebuilder.js +2 -20
- package/dist/module/src/lib/classBuilder.test/TestClassBuilder.js +37 -0
- package/dist/module/src/lib/classBuilder.test/classBuilder.test.implementation.js +179 -0
- package/dist/module/src/lib/classBuilder.test/classBuilder.test.interface.js +14 -0
- package/dist/module/src/lib/classBuilder.test/classBuilder.test.js +6 -0
- package/dist/module/src/lib/classBuilder.test/classBuilder.test.specification.js +37 -0
- package/dist/module/src/lib/classBuilder.test/classBuilder.test.types.js +1 -0
- package/dist/module/src/lib/core.js +3 -12
- package/dist/module/src/lib/core.test/MockCore.js +18 -0
- package/dist/module/src/lib/core.test/core.test.implementation.js +99 -0
- package/dist/module/src/lib/core.test/core.test.interface.js +15 -0
- package/dist/module/src/lib/core.test/core.test.js +12 -0
- package/dist/module/src/lib/core.test/core.test.specification.js +29 -0
- package/dist/module/src/lib/core.test/core.test.types.js +1 -0
- package/dist/module/src/lib/pmProxy.js +9 -166
- package/dist/module/src/lib/pmProxy.test/implementation.js +73 -0
- package/dist/module/src/lib/pmProxy.test/index.js +10 -0
- package/dist/module/src/lib/pmProxy.test/interface.js +34 -0
- package/dist/module/src/lib/pmProxy.test/mockPM.js +30 -0
- package/dist/module/src/lib/pmProxy.test/mockPMBase.js +111 -0
- package/dist/module/src/lib/pmProxy.test/specification.js +35 -0
- package/dist/module/src/lib/pmProxy.test/types.js +1 -0
- package/dist/module/src/run.js +6 -6
- package/dist/module/testeranto.config.js +33 -18
- package/dist/module/tsconfig.module.tsbuildinfo +1 -1
- package/dist/prebuild/Project.js +16 -15
- package/dist/prebuild/TestReport.js +14 -12
- package/dist/prebuild/build.mjs +34 -34
- package/dist/prebuild/run.mjs +259 -173
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/src/PM/PM_WithEslintAndTsc.d.ts +2 -1
- package/dist/types/src/PM/main.d.ts +5 -2
- package/dist/types/src/Pure.d.ts +2 -2
- package/dist/types/src/Pure.test.d.ts +36 -0
- package/dist/types/src/Types.d.ts +7 -6
- package/dist/types/src/Web.d.ts +1 -1
- package/dist/types/src/esbuildConfigs/consoleDetectorPlugin.d.ts +1 -1
- package/dist/types/src/esbuildConfigs/nativeImportDetectorPlugin.d.ts +2 -0
- package/dist/types/src/lib/BaseSuite.d.ts +39 -0
- package/dist/types/src/lib/BaseSuite.test/node.test.d.ts +3 -0
- package/dist/types/src/lib/BaseSuite.test/pure.test.d.ts +3 -0
- package/dist/types/src/lib/BaseSuite.test/test.d.ts +42 -0
- package/dist/types/src/lib/BaseSuite.test/web.test.d.ts +3 -0
- package/dist/types/src/lib/abstractBase.d.ts +1 -36
- package/dist/types/src/lib/abstractBase.test/MockGiven.d.ts +7 -0
- package/dist/types/src/lib/abstractBase.test/MockThen.d.ts +6 -0
- package/dist/types/src/lib/abstractBase.test/MockWhen.d.ts +6 -0
- package/dist/types/src/lib/abstractBase.test/implementation.d.ts +3 -0
- package/dist/types/src/lib/abstractBase.test/index.d.ts +3 -0
- package/dist/types/src/lib/abstractBase.test/interface.d.ts +3 -0
- package/dist/types/src/lib/abstractBase.test/specification.d.ts +3 -0
- package/dist/types/src/lib/abstractBase.test/types.d.ts +39 -0
- package/dist/types/src/lib/baseBuilder.test/TestBaseBuilder.d.ts +15 -0
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.implementation.d.ts +3 -0
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.interface.d.ts +3 -0
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.node.d.ts +3 -0
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.pure.d.ts +3 -0
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.specification.d.ts +3 -0
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.types.d.ts +20 -0
- package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.web.d.ts +3 -0
- package/dist/types/src/lib/classBuilder.test/TestClassBuilder.d.ts +21 -0
- package/dist/types/src/lib/classBuilder.test/classBuilder.test.d.ts +3 -0
- package/dist/types/src/lib/classBuilder.test/classBuilder.test.implementation.d.ts +3 -0
- package/dist/types/src/lib/classBuilder.test/classBuilder.test.interface.d.ts +3 -0
- package/dist/types/src/lib/classBuilder.test/classBuilder.test.specification.d.ts +3 -0
- package/dist/types/src/lib/classBuilder.test/classBuilder.test.types.d.ts +56 -0
- package/dist/types/src/lib/core.d.ts +1 -1
- package/dist/types/src/lib/core.test/MockCore.d.ts +10 -0
- package/dist/types/src/lib/core.test/core.test.d.ts +3 -0
- package/dist/types/src/lib/core.test/core.test.implementation.d.ts +3 -0
- package/dist/types/src/lib/core.test/core.test.interface.d.ts +3 -0
- package/dist/types/src/lib/core.test/core.test.specification.d.ts +3 -0
- package/dist/types/src/lib/core.test/core.test.types.d.ts +46 -0
- package/dist/types/src/lib/index.d.ts +2 -1
- package/dist/types/src/lib/pmProxy.d.ts +11 -6
- package/dist/types/src/lib/pmProxy.test/implementation.d.ts +3 -0
- package/dist/types/src/lib/pmProxy.test/index.d.ts +7 -0
- package/dist/types/src/lib/pmProxy.test/interface.d.ts +3 -0
- package/dist/types/src/lib/pmProxy.test/mockPM.d.ts +10 -0
- package/dist/types/src/lib/pmProxy.test/mockPMBase.d.ts +39 -0
- package/dist/types/src/lib/pmProxy.test/specification.d.ts +3 -0
- package/dist/types/src/lib/pmProxy.test/types.d.ts +42 -0
- package/dist/types/src/lib/types.d.ts +2 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/docs.html +35 -33
- package/index.html +23 -30
- package/package.json +8 -18
- package/src/lib/basebuilder.ts +0 -24
- package/testeranto/Project.css +1 -26
- package/testeranto/Project.js +3337 -385
- package/testeranto/TestReport.css +1 -26
- package/testeranto/TestReport.js +43 -16
- package/testeranto/bundles/node/allTests/metafile.json +1 -1
- package/testeranto/bundles/pure/allTests/metafile.json +1 -1
- package/testeranto/bundles/web/allTests/metafile.json +1 -1
- package/testeranto/index.html +1 -1
- package/testeranto/reports/allTests/index.html +1 -1
- package/testeranto/reports/allTests/src/Pure.test/pure/index.html +1 -1
- package/testeranto/reports/allTests/src/Pure.test/pure/lint_errors.json +137 -1539
- package/testeranto/reports/allTests/src/Pure.test/pure/logs.txt +2 -2
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/lint_errors.json +58 -620
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/lint_errors.json +58 -620
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/logs.txt +2 -2
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/lint_errors.json +58 -620
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/lint_errors.json +104 -966
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/lint_errors.json +104 -966
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/lint_errors.json +104 -966
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/lint_errors.json +63 -791
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/core.test/core.test/node/lint_errors.json +39 -416
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/index.html +1 -1
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/lint_errors.json +156 -1724
- package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/logs.txt +3 -3
- package/testeranto.config.ts +1 -1
- package/tsc.log +36 -38
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
3
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
5
|
exports.afterAllProxy = exports.beforeAllProxy = exports.beforeEachProxy = exports.afterEachProxy = exports.andWhenProxy = exports.butThenProxy = void 0;
|
|
4
|
-
const
|
|
6
|
+
const baseProxy = function (pm, mappings) {
|
|
5
7
|
return new Proxy(pm, {
|
|
6
8
|
get: (target, prop, receiver) => {
|
|
7
9
|
for (const mapping of mappings) {
|
|
@@ -15,7 +17,7 @@ const prxy = function (pm, mappings) {
|
|
|
15
17
|
},
|
|
16
18
|
});
|
|
17
19
|
};
|
|
18
|
-
const butThenProxy = (pm, filepath) =>
|
|
20
|
+
const butThenProxy = (pm, filepath) => baseProxy(pm, [
|
|
19
21
|
[
|
|
20
22
|
"screencast",
|
|
21
23
|
(opts, p) => [
|
|
@@ -37,7 +39,7 @@ const butThenProxy = (pm, filepath) => prxy(pm, [
|
|
|
37
39
|
],
|
|
38
40
|
]);
|
|
39
41
|
exports.butThenProxy = butThenProxy;
|
|
40
|
-
const andWhenProxy = (pm, filepath) =>
|
|
42
|
+
const andWhenProxy = (pm, filepath) => baseProxy(pm, [
|
|
41
43
|
[
|
|
42
44
|
"screencast",
|
|
43
45
|
(opts, p) => [
|
|
@@ -56,7 +58,7 @@ const andWhenProxy = (pm, filepath) => prxy(pm, [
|
|
|
56
58
|
],
|
|
57
59
|
]);
|
|
58
60
|
exports.andWhenProxy = andWhenProxy;
|
|
59
|
-
const afterEachProxy = (pm, suite, given) =>
|
|
61
|
+
const afterEachProxy = (pm, suite, given) => baseProxy(pm, [
|
|
60
62
|
[
|
|
61
63
|
"screencast",
|
|
62
64
|
(opts, p) => [
|
|
@@ -81,7 +83,7 @@ const afterEachProxy = (pm, suite, given) => prxy(pm, [
|
|
|
81
83
|
],
|
|
82
84
|
]);
|
|
83
85
|
exports.afterEachProxy = afterEachProxy;
|
|
84
|
-
const beforeEachProxy = (pm, suite) =>
|
|
86
|
+
const beforeEachProxy = (pm, suite) => baseProxy(pm, [
|
|
85
87
|
[
|
|
86
88
|
"screencast",
|
|
87
89
|
(opts, p) => [
|
|
@@ -103,7 +105,7 @@ const beforeEachProxy = (pm, suite) => prxy(pm, [
|
|
|
103
105
|
["createWriteStream", (fp) => [`suite-${suite}/beforeEach/${fp}`]],
|
|
104
106
|
]);
|
|
105
107
|
exports.beforeEachProxy = beforeEachProxy;
|
|
106
|
-
const beforeAllProxy = (pm, suite) =>
|
|
108
|
+
const beforeAllProxy = (pm, suite) => baseProxy(pm, [
|
|
107
109
|
[
|
|
108
110
|
"writeFileSync",
|
|
109
111
|
(fp, contents) => [`suite-${suite}/beforeAll/${fp}`, contents],
|
|
@@ -118,7 +120,7 @@ const beforeAllProxy = (pm, suite) => prxy(pm, [
|
|
|
118
120
|
["createWriteStream", (fp) => [`suite-${suite}/beforeAll/${fp}`]],
|
|
119
121
|
]);
|
|
120
122
|
exports.beforeAllProxy = beforeAllProxy;
|
|
121
|
-
const afterAllProxy = (pm, suite) =>
|
|
123
|
+
const afterAllProxy = (pm, suite) => baseProxy(pm, [
|
|
122
124
|
["createWriteStream", (fp) => [`suite-${suite}/afterAll/${fp}`]],
|
|
123
125
|
[
|
|
124
126
|
"writeFileSync",
|
|
@@ -133,162 +135,3 @@ const afterAllProxy = (pm, suite) => prxy(pm, [
|
|
|
133
135
|
],
|
|
134
136
|
]);
|
|
135
137
|
exports.afterAllProxy = afterAllProxy;
|
|
136
|
-
/////////////////////////////////////////////////
|
|
137
|
-
// export const butThenProxy = (pm: IPM, filepath: string) => {
|
|
138
|
-
// return new Proxy(pm, {
|
|
139
|
-
// get: (target, prop, receiver) => {
|
|
140
|
-
// if (prop === "customScreenShot") {
|
|
141
|
-
// return (opts, p) =>
|
|
142
|
-
// target.customScreenShot(
|
|
143
|
-
// {
|
|
144
|
-
// ...opts,
|
|
145
|
-
// path: `${filepath}/${opts.path}`,
|
|
146
|
-
// },
|
|
147
|
-
// p
|
|
148
|
-
// );
|
|
149
|
-
// }
|
|
150
|
-
// if (prop === "writeFileSync") {
|
|
151
|
-
// return (fp, contents) => target[prop](`${filepath}/${fp}`, contents);
|
|
152
|
-
// }
|
|
153
|
-
// },
|
|
154
|
-
// });
|
|
155
|
-
// };
|
|
156
|
-
// export const andWhenProxy = (pm: IPM, filepath: string) => {
|
|
157
|
-
// return new Proxy(pm, {
|
|
158
|
-
// get(target, prop, receiver) {
|
|
159
|
-
// if (prop === "customScreenShot") {
|
|
160
|
-
// return (opts, p) =>
|
|
161
|
-
// target.customScreenShot(
|
|
162
|
-
// {
|
|
163
|
-
// ...opts,
|
|
164
|
-
// path: `${filepath}/${opts.path}`,
|
|
165
|
-
// },
|
|
166
|
-
// p
|
|
167
|
-
// );
|
|
168
|
-
// }
|
|
169
|
-
// if (prop === "writeFileSync") {
|
|
170
|
-
// return (fp, contents) =>
|
|
171
|
-
// target[prop](`${filepath}/andWhen/${fp}`, contents);
|
|
172
|
-
// }
|
|
173
|
-
// /* @ts-ignore:next-line */
|
|
174
|
-
// return Reflect.get(...arguments);
|
|
175
|
-
// },
|
|
176
|
-
// });
|
|
177
|
-
// };
|
|
178
|
-
// export const afterEachProxy = (pm: IPM, suite: string, given: string): IPM => {
|
|
179
|
-
// return new Proxy(pm, {
|
|
180
|
-
// get(target, prop, receiver) {
|
|
181
|
-
// if (prop === "customScreenShot") {
|
|
182
|
-
// return (opts, p) =>
|
|
183
|
-
// target.customScreenShot(
|
|
184
|
-
// {
|
|
185
|
-
// ...opts,
|
|
186
|
-
// path: `suite-${suite}/given-${given}/afterEach/${opts.path}`,
|
|
187
|
-
// },
|
|
188
|
-
// p
|
|
189
|
-
// );
|
|
190
|
-
// }
|
|
191
|
-
// if (prop === "writeFileSync") {
|
|
192
|
-
// return (fp, contents) =>
|
|
193
|
-
// target[prop](
|
|
194
|
-
// `suite-${suite}/given-${given}/afterEach/${fp}`,
|
|
195
|
-
// contents
|
|
196
|
-
// );
|
|
197
|
-
// }
|
|
198
|
-
// /* @ts-ignore:next-line */
|
|
199
|
-
// return Reflect.get(...arguments);
|
|
200
|
-
// },
|
|
201
|
-
// });
|
|
202
|
-
// };
|
|
203
|
-
// export const beforeAllProxy = (pm: IPM, suite: string): IPM => {
|
|
204
|
-
// return new Proxy(pm, {
|
|
205
|
-
// get(target, prop, receiver) {
|
|
206
|
-
// if (prop === "customScreenShot") {
|
|
207
|
-
// return (opts, p) =>
|
|
208
|
-
// target.customScreenShot(
|
|
209
|
-
// {
|
|
210
|
-
// ...opts,
|
|
211
|
-
// // path: `${filepath}/${opts.path}`,
|
|
212
|
-
// path: `suite-${suite}/beforeAll/${opts.path}`,
|
|
213
|
-
// },
|
|
214
|
-
// p
|
|
215
|
-
// );
|
|
216
|
-
// }
|
|
217
|
-
// if (prop === "writeFileSync") {
|
|
218
|
-
// return (fp, contents) =>
|
|
219
|
-
// target[prop](`suite-${suite}/beforeAll/${fp}`, contents);
|
|
220
|
-
// }
|
|
221
|
-
// /* @ts-ignore:next-line */
|
|
222
|
-
// return Reflect.get(...arguments);
|
|
223
|
-
// },
|
|
224
|
-
// });
|
|
225
|
-
// };
|
|
226
|
-
// export const beforeEachProxy = (pm: IPM, suite: string, given: string): IPM => {
|
|
227
|
-
// return new Proxy(pm, {
|
|
228
|
-
// get(target, prop, receiver) {
|
|
229
|
-
// // if (prop === "write") {
|
|
230
|
-
// // return (handle, contents) =>
|
|
231
|
-
// // target[prop](
|
|
232
|
-
// // `suite-${suiteNdx}/given-${key}/when/beforeEach/${fp}`,
|
|
233
|
-
// // contents
|
|
234
|
-
// // );
|
|
235
|
-
// // }
|
|
236
|
-
// if (prop === "createWriteStream") {
|
|
237
|
-
// return (fp) =>
|
|
238
|
-
// target[prop](`suite-${suite}/given-${given}/when/beforeEach/${fp}`);
|
|
239
|
-
// }
|
|
240
|
-
// if (prop === "writeFileSync") {
|
|
241
|
-
// return (fp, contents) =>
|
|
242
|
-
// target[prop](
|
|
243
|
-
// `suite-${suite}/given-${given}/when/beforeEach/${fp}`,
|
|
244
|
-
// contents
|
|
245
|
-
// );
|
|
246
|
-
// }
|
|
247
|
-
// if (prop === "customScreenShot") {
|
|
248
|
-
// return (opts, p) =>
|
|
249
|
-
// target.customScreenShot(
|
|
250
|
-
// {
|
|
251
|
-
// ...opts,
|
|
252
|
-
// path: `suite-${suite}/given-${given}/when/beforeEach/${opts.path}`,
|
|
253
|
-
// },
|
|
254
|
-
// p
|
|
255
|
-
// );
|
|
256
|
-
// }
|
|
257
|
-
// if (prop === "screencast") {
|
|
258
|
-
// return (opts, p) =>
|
|
259
|
-
// target.screencast(
|
|
260
|
-
// {
|
|
261
|
-
// ...opts,
|
|
262
|
-
// path: `suite-${suite}/given-${given}/when/beforeEach/${opts.path}`,
|
|
263
|
-
// },
|
|
264
|
-
// p
|
|
265
|
-
// );
|
|
266
|
-
// }
|
|
267
|
-
// /* @ts-ignore:next-line */
|
|
268
|
-
// return Reflect.get(...arguments);
|
|
269
|
-
// },
|
|
270
|
-
// });
|
|
271
|
-
// };
|
|
272
|
-
// export const afterAllProxy = (pm: IPM, suite: string): IPM => {
|
|
273
|
-
// return new Proxy(pm, {
|
|
274
|
-
// get(target, prop, receiver) {
|
|
275
|
-
// if (prop === "customScreenShot") {
|
|
276
|
-
// return (opts, p) =>
|
|
277
|
-
// target.customScreenShot(
|
|
278
|
-
// {
|
|
279
|
-
// ...opts,
|
|
280
|
-
// // path: `${filepath}/${opts.path}`,
|
|
281
|
-
// path: `suite-${suite}/afterAll/${opts.path}`,
|
|
282
|
-
// },
|
|
283
|
-
// p
|
|
284
|
-
// );
|
|
285
|
-
// }
|
|
286
|
-
// if (prop === "writeFileSync") {
|
|
287
|
-
// return (fp, contents) =>
|
|
288
|
-
// target[prop](`suite-${suite}/afterAll/${fp}`, contents);
|
|
289
|
-
// }
|
|
290
|
-
// /* @ts-ignore:next-line */
|
|
291
|
-
// return Reflect.get(...arguments);
|
|
292
|
-
// },
|
|
293
|
-
// });
|
|
294
|
-
// };
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.implementation = void 0;
|
|
4
|
+
const mockPMBase_1 = require("./mockPMBase");
|
|
5
|
+
exports.implementation = {
|
|
6
|
+
suites: {
|
|
7
|
+
Default: "PM Proxy Tests",
|
|
8
|
+
},
|
|
9
|
+
givens: {
|
|
10
|
+
SomeBaseString: (s) => s,
|
|
11
|
+
},
|
|
12
|
+
whens: {
|
|
13
|
+
// functions have no mutations
|
|
14
|
+
},
|
|
15
|
+
thens: {
|
|
16
|
+
theButTheProxyReturns: (method, expectedPath) => (store) => {
|
|
17
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
18
|
+
const mockPm = new mockPMBase_1.MockPMBase();
|
|
19
|
+
const filepath = "test/path";
|
|
20
|
+
const proxiedPm = store.butThenProxy(mockPm, filepath);
|
|
21
|
+
let actualPath;
|
|
22
|
+
let actualContent;
|
|
23
|
+
try {
|
|
24
|
+
switch (method) {
|
|
25
|
+
case "writeFileSync":
|
|
26
|
+
const content = expectedPath.includes('content') ?
|
|
27
|
+
"test content" : "default content";
|
|
28
|
+
proxiedPm.writeFileSync(expectedPath.includes('empty') ? "" :
|
|
29
|
+
expectedPath.includes('nested') ? "nested/folder/test.txt" :
|
|
30
|
+
expectedPath.includes('spaces') ? "file with spaces.txt" :
|
|
31
|
+
expectedPath.includes('invalid') ? "../invalid.txt" :
|
|
32
|
+
"test.txt", content);
|
|
33
|
+
actualPath = (_a = mockPm.getLastCall("writeFileSync")) === null || _a === void 0 ? void 0 : _a.path;
|
|
34
|
+
actualContent = (_b = mockPm.getLastCall("writeFileSync")) === null || _b === void 0 ? void 0 : _b.content;
|
|
35
|
+
break;
|
|
36
|
+
case "createWriteStream":
|
|
37
|
+
proxiedPm.createWriteStream(expectedPath.includes('empty') ? "" : "stream.txt");
|
|
38
|
+
actualPath = (_c = mockPm.getLastCall("createWriteStream")) === null || _c === void 0 ? void 0 : _c.path;
|
|
39
|
+
break;
|
|
40
|
+
case "screencast":
|
|
41
|
+
proxiedPm.screencast({
|
|
42
|
+
path: "screen.png",
|
|
43
|
+
quality: 80,
|
|
44
|
+
fullPage: true
|
|
45
|
+
}, "test");
|
|
46
|
+
actualPath = (_e = (_d = mockPm.getLastCall("screencast")) === null || _d === void 0 ? void 0 : _d.opts) === null || _e === void 0 ? void 0 : _e.path;
|
|
47
|
+
actualContent = (_f = mockPm.getLastCall("screencast")) === null || _f === void 0 ? void 0 : _f.opts;
|
|
48
|
+
break;
|
|
49
|
+
case "customScreenShot":
|
|
50
|
+
proxiedPm.customScreenShot({ path: "shot.png" }, "test");
|
|
51
|
+
actualPath = (_h = (_g = mockPm.getLastCall("customScreenShot")) === null || _g === void 0 ? void 0 : _g.opts) === null || _h === void 0 ? void 0 : _h.path;
|
|
52
|
+
break;
|
|
53
|
+
default:
|
|
54
|
+
throw new Error(`Unknown method: ${method}`);
|
|
55
|
+
}
|
|
56
|
+
if (expectedPath === undefined) {
|
|
57
|
+
return [undefined, undefined];
|
|
58
|
+
}
|
|
59
|
+
return [actualPath, expectedPath, actualContent];
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
return [error.message, expectedPath];
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
verifyContent: (expectedContent) => (result) => {
|
|
66
|
+
const actualContent = result[2];
|
|
67
|
+
if (JSON.stringify(actualContent) !== JSON.stringify(expectedContent)) {
|
|
68
|
+
throw new Error(`Content mismatch. Expected: ${JSON.stringify(expectedContent)}, Got: ${JSON.stringify(actualContent)}`);
|
|
69
|
+
}
|
|
70
|
+
return result;
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
checks: {
|
|
74
|
+
Default: (s) => s,
|
|
75
|
+
},
|
|
76
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const Node_1 = __importDefault(require("../../Node"));
|
|
7
|
+
const implementation_1 = require("./implementation");
|
|
8
|
+
const specification_1 = require("./specification");
|
|
9
|
+
const interface_1 = require("./interface");
|
|
10
|
+
const pmProxy_1 = require("../pmProxy");
|
|
11
|
+
exports.default = (0, Node_1.default)(
|
|
12
|
+
// because of the nature of testeranto, we must add all the testable items here
|
|
13
|
+
{
|
|
14
|
+
butThenProxy: pmProxy_1.butThenProxy,
|
|
15
|
+
}, specification_1.specification, implementation_1.implementation, interface_1.testInterface);
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.testInterface = void 0;
|
|
4
|
+
const chai_1 = require("chai");
|
|
5
|
+
const pmProxy_1 = require("../pmProxy");
|
|
6
|
+
const mockPMBase_1 = require("./mockPMBase");
|
|
7
|
+
// import { butThenProxy, andWhenProxy, beforeEachProxy } from "../pmProxy";
|
|
8
|
+
exports.testInterface = {
|
|
9
|
+
beforeEach: async (subject, initializer, testResource, initialValues, pm) => {
|
|
10
|
+
return subject;
|
|
11
|
+
// const mockPM = MockPMBase();
|
|
12
|
+
// return {
|
|
13
|
+
// beforeEachProxy: subject.butThenProxy(
|
|
14
|
+
// new MockPMBase() as unknown as IPM,
|
|
15
|
+
// initializer
|
|
16
|
+
// ),
|
|
17
|
+
// };
|
|
18
|
+
},
|
|
19
|
+
andWhen: async (store, whenCB, testResource, pm) => {
|
|
20
|
+
const proxiedPM = (0, pmProxy_1.andWhenProxy)(pm, "some/path");
|
|
21
|
+
return whenCB(store, proxiedPM);
|
|
22
|
+
},
|
|
23
|
+
butThen: async (store, thenCB, testResource, pm) => {
|
|
24
|
+
const proxiedPM = (0, pmProxy_1.butThenProxy)(pm, "some/path");
|
|
25
|
+
return thenCB(store, proxiedPM);
|
|
26
|
+
},
|
|
27
|
+
afterEach: async (store, key, pm) => store,
|
|
28
|
+
afterAll: async (store, pm) => { },
|
|
29
|
+
beforeAll: async (input, testResource, pm, theGivenString) => {
|
|
30
|
+
return {
|
|
31
|
+
beforeEachProxy: input.butThenProxy(new mockPMBase_1.MockPMBase(), theGivenString),
|
|
32
|
+
};
|
|
33
|
+
},
|
|
34
|
+
assertThis: (returnedFilePath, expectation) => {
|
|
35
|
+
chai_1.assert.equal(returnedFilePath, expectation);
|
|
36
|
+
},
|
|
37
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockPM = void 0;
|
|
4
|
+
const mockPMBase_1 = require("./mockPMBase");
|
|
5
|
+
class MockPM extends mockPMBase_1.MockPMBase {
|
|
6
|
+
constructor(configs) {
|
|
7
|
+
super(configs);
|
|
8
|
+
this.server = {};
|
|
9
|
+
this.testResourceConfiguration = {};
|
|
10
|
+
}
|
|
11
|
+
// PM-specific methods
|
|
12
|
+
start() {
|
|
13
|
+
this.trackCall("start", {});
|
|
14
|
+
return Promise.resolve();
|
|
15
|
+
}
|
|
16
|
+
stop() {
|
|
17
|
+
this.trackCall("stop", {});
|
|
18
|
+
return Promise.resolve();
|
|
19
|
+
}
|
|
20
|
+
launchSideCar(n) {
|
|
21
|
+
this.trackCall("launchSideCar", { n });
|
|
22
|
+
return Promise.resolve([n, this.testResourceConfiguration]);
|
|
23
|
+
}
|
|
24
|
+
stopSideCar(n) {
|
|
25
|
+
this.trackCall("stopSideCar", { n });
|
|
26
|
+
return Promise.resolve();
|
|
27
|
+
}
|
|
28
|
+
// Override any methods that need different behavior from MockPMBase
|
|
29
|
+
// For example:
|
|
30
|
+
writeFileSync(path, content) {
|
|
31
|
+
return super.writeFileSync(path, content, "default-test-name");
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.MockPM = MockPM;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockPMBase = void 0;
|
|
4
|
+
class MockPMBase {
|
|
5
|
+
constructor(configs) {
|
|
6
|
+
this.calls = {};
|
|
7
|
+
this.testResourceConfiguration = {};
|
|
8
|
+
this.configs = configs || {};
|
|
9
|
+
}
|
|
10
|
+
// Common tracking functionality
|
|
11
|
+
trackCall(method, args) {
|
|
12
|
+
if (!this.calls[method]) {
|
|
13
|
+
this.calls[method] = [];
|
|
14
|
+
}
|
|
15
|
+
this.calls[method].push(args);
|
|
16
|
+
}
|
|
17
|
+
getCallCount(method) {
|
|
18
|
+
var _a;
|
|
19
|
+
return ((_a = this.calls[method]) === null || _a === void 0 ? void 0 : _a.length) || 0;
|
|
20
|
+
}
|
|
21
|
+
getLastCall(method) {
|
|
22
|
+
const calls = this.calls[method];
|
|
23
|
+
return calls ? calls[calls.length - 1] : null;
|
|
24
|
+
}
|
|
25
|
+
// Minimal implementations of required methods
|
|
26
|
+
launchSideCar(n, testName, projectName) {
|
|
27
|
+
this.trackCall("launchSideCar", { n, testName, projectName });
|
|
28
|
+
return Promise.resolve();
|
|
29
|
+
}
|
|
30
|
+
end(uid) {
|
|
31
|
+
this.trackCall("end", { uid });
|
|
32
|
+
return Promise.resolve(true);
|
|
33
|
+
}
|
|
34
|
+
writeFileSync(path, content, testName) {
|
|
35
|
+
this.trackCall("writeFileSync", { path, content, testName });
|
|
36
|
+
return Promise.resolve(true);
|
|
37
|
+
}
|
|
38
|
+
createWriteStream(path, testName) {
|
|
39
|
+
this.trackCall("createWriteStream", { path, testName });
|
|
40
|
+
return Promise.resolve(0);
|
|
41
|
+
}
|
|
42
|
+
screencast(opts, testName, page) {
|
|
43
|
+
this.trackCall("screencast", { opts, testName, page });
|
|
44
|
+
return Promise.resolve({});
|
|
45
|
+
}
|
|
46
|
+
customScreenShot(opts, testName, pageUid) {
|
|
47
|
+
this.trackCall("customScreenShot", { opts, testName, pageUid });
|
|
48
|
+
return Promise.resolve({});
|
|
49
|
+
}
|
|
50
|
+
testArtiFactoryfileWriter(tLog, callback) {
|
|
51
|
+
return (fPath, value) => {
|
|
52
|
+
this.trackCall("testArtiFactoryfileWriter", { fPath, value });
|
|
53
|
+
callback(Promise.resolve());
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
// Other required PM_Base methods with minimal implementations
|
|
57
|
+
closePage(p) {
|
|
58
|
+
return Promise.resolve();
|
|
59
|
+
}
|
|
60
|
+
$(selector, p) {
|
|
61
|
+
return Promise.resolve();
|
|
62
|
+
}
|
|
63
|
+
click(selector, page) {
|
|
64
|
+
return Promise.resolve();
|
|
65
|
+
}
|
|
66
|
+
goto(p, url) {
|
|
67
|
+
return Promise.resolve();
|
|
68
|
+
}
|
|
69
|
+
newPage() {
|
|
70
|
+
return Promise.resolve("mock-page");
|
|
71
|
+
}
|
|
72
|
+
pages() {
|
|
73
|
+
return Promise.resolve(["mock-page"]);
|
|
74
|
+
}
|
|
75
|
+
waitForSelector(p, s) {
|
|
76
|
+
return Promise.resolve(true);
|
|
77
|
+
}
|
|
78
|
+
focusOn(selector, p) {
|
|
79
|
+
return Promise.resolve();
|
|
80
|
+
}
|
|
81
|
+
typeInto(value, p) {
|
|
82
|
+
return Promise.resolve();
|
|
83
|
+
}
|
|
84
|
+
getAttribute(selector, attribute, p) {
|
|
85
|
+
return Promise.resolve();
|
|
86
|
+
}
|
|
87
|
+
getInnerHtml(selector, p) {
|
|
88
|
+
return Promise.resolve();
|
|
89
|
+
}
|
|
90
|
+
isDisabled(selector, p) {
|
|
91
|
+
return Promise.resolve(false);
|
|
92
|
+
}
|
|
93
|
+
screencastStop(s) {
|
|
94
|
+
return Promise.resolve();
|
|
95
|
+
}
|
|
96
|
+
existsSync(destFolder) {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
mkdirSync(fp) {
|
|
100
|
+
return Promise.resolve();
|
|
101
|
+
}
|
|
102
|
+
write(uid, contents) {
|
|
103
|
+
return Promise.resolve(true);
|
|
104
|
+
}
|
|
105
|
+
page(p) {
|
|
106
|
+
return "mock-page";
|
|
107
|
+
}
|
|
108
|
+
doInPage(p, cb) {
|
|
109
|
+
return Promise.resolve();
|
|
110
|
+
}
|
|
111
|
+
customclose() {
|
|
112
|
+
return Promise.resolve();
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
exports.MockPMBase = MockPMBase;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.specification = void 0;
|
|
4
|
+
const specification = (Suite, Given, When, Then, Check) => [
|
|
5
|
+
Suite.Default("PM Proxy Functionality", {
|
|
6
|
+
// Basic path rewriting tests
|
|
7
|
+
writeFileProxyTest: Given.SomeBaseString(["butThenProxy should rewrite writeFileSync paths"], [], [Then.theButTheProxyReturns("writeFileSync", "test/path/butThen/test.txt")], "writeFileSync test"),
|
|
8
|
+
createWriteStreamProxyTest: Given.SomeBaseString(["butThenProxy should rewrite createWriteStream paths"], [], [Then.theButTheProxyReturns("createWriteStream", "test/path/butThen/stream.txt")], "createWriteStream test"),
|
|
9
|
+
screencastProxyTest: Given.SomeBaseString(["butThenProxy should rewrite screencast paths"], [], [Then.theButTheProxyReturns("screencast", "test/path/butThen/screen.png")], "screencast test"),
|
|
10
|
+
customScreenShotProxyTest: Given.SomeBaseString(["butThenProxy should rewrite customScreenShot paths"], [], [Then.theButTheProxyReturns("customScreenShot", "test/path/butThen/shot.png")], "customScreenShot test"),
|
|
11
|
+
// Edge cases
|
|
12
|
+
emptyPathTest: Given.SomeBaseString(["butThenProxy should handle empty paths"], [], [Then.theButTheProxyReturns("writeFileSync", "test/path/butThen/")], "empty path test"),
|
|
13
|
+
nestedPathTest: Given.SomeBaseString(["butThenProxy should handle nested paths"], [], [Then.theButTheProxyReturns("writeFileSync", "test/path/butThen/nested/folder/test.txt")], "nested path test"),
|
|
14
|
+
specialCharsTest: Given.SomeBaseString(["butThenProxy should handle special characters in paths"], [], [Then.theButTheProxyReturns("writeFileSync", "test/path/butThen/file with spaces.txt")], "special chars test"),
|
|
15
|
+
}),
|
|
16
|
+
Suite.Default("Proxy Type Coverage", {
|
|
17
|
+
// Test all proxy types
|
|
18
|
+
butThenProxyTest: Given.SomeBaseString(["butThenProxy should work correctly"], [], [Then.theButTheProxyReturns("writeFileSync", "test/path/butThen/test.txt")], "butThenProxy test"),
|
|
19
|
+
andWhenProxyTest: Given.SomeBaseString(["andWhenProxy should work correctly"], [], [Then.theButTheProxyReturns("writeFileSync", "test/path/andWhen/test.txt")], "andWhenProxy test"),
|
|
20
|
+
beforeEachProxyTest: Given.SomeBaseString(["beforeEachProxy should work correctly"], [], [Then.theButTheProxyReturns("writeFileSync", "suite-1/beforeEach/test.txt")], "beforeEachProxy test"),
|
|
21
|
+
afterEachProxyTest: Given.SomeBaseString(["afterEachProxy should work correctly"], [], [Then.theButTheProxyReturns("writeFileSync", "suite-1/given-1/afterEach/test.txt")], "afterEachProxy test"),
|
|
22
|
+
}),
|
|
23
|
+
Suite.Default("Content Preservation", {
|
|
24
|
+
// Verify content is preserved
|
|
25
|
+
contentPreservationTest: Given.SomeBaseString(["Proxies should preserve file content"], [], [
|
|
26
|
+
Then.theButTheProxyReturns("writeFileSync", "test/path/butThen/test.txt"),
|
|
27
|
+
Then.verifyContent("test content")
|
|
28
|
+
], "content preservation test"),
|
|
29
|
+
objectContentTest: Given.SomeBaseString(["Proxies should preserve object content"], [], [
|
|
30
|
+
Then.theButTheProxyReturns("screencast", "test/path/butThen/screen.png"),
|
|
31
|
+
Then.verifyContent({ quality: 80, fullPage: true })
|
|
32
|
+
], "object content test"),
|
|
33
|
+
}),
|
|
34
|
+
Suite.Default("Error Cases", {
|
|
35
|
+
invalidPathTest: Given.SomeBaseString(["Proxies should handle invalid paths"], [], [Then.theButTheProxyReturns("writeFileSync", "test/path/butThen/../invalid.txt")], "invalid path test"),
|
|
36
|
+
undefinedInputTest: Given.SomeBaseString(["Proxies should handle undefined inputs"], [], [Then.theButTheProxyReturns("writeFileSync", undefined)], "undefined input test"),
|
|
37
|
+
}),
|
|
38
|
+
];
|
|
39
|
+
exports.specification = specification;
|
package/dist/common/src/run.js
CHANGED
|
@@ -42,25 +42,25 @@ const main_1 = require("./PM/main");
|
|
|
42
42
|
readline_1.default.emitKeypressEvents(process.stdin);
|
|
43
43
|
if (process.stdin.isTTY)
|
|
44
44
|
process.stdin.setRawMode(true);
|
|
45
|
-
console.log(ansi_colors_1.default.inverse("Press '
|
|
45
|
+
console.log(ansi_colors_1.default.inverse("Press 'q' to initiate a graceful shutdown."));
|
|
46
|
+
console.log(ansi_colors_1.default.inverse("Press 'x' to quit forcefully."));
|
|
46
47
|
process.stdin.on("keypress", (str, key) => {
|
|
47
48
|
if (key.name === "x") {
|
|
48
49
|
console.log(ansi_colors_1.default.inverse("Shutting down forcefully..."));
|
|
49
50
|
process.exit(-1);
|
|
50
51
|
}
|
|
51
52
|
});
|
|
52
|
-
const
|
|
53
|
+
const projectName = process.argv[2];
|
|
53
54
|
const mode = process.argv[3];
|
|
54
55
|
if (mode !== "once" && mode !== "dev") {
|
|
55
56
|
console.error("the 2nd argument should be 'dev' or 'once' ");
|
|
56
57
|
process.exit(-1);
|
|
57
58
|
}
|
|
58
|
-
console.log("testeranto is running", testName, mode);
|
|
59
59
|
Promise.resolve(`${process.cwd() + "/" + "testeranto.config.ts"}`).then(s => __importStar(require(s))).then(async (module) => {
|
|
60
60
|
const bigConfig = module.default;
|
|
61
|
-
const rawConfig = bigConfig.projects[
|
|
62
|
-
const config = Object.assign(Object.assign({}, rawConfig), { buildDir: process.cwd() + "/" + `testeranto/${
|
|
63
|
-
const pm = new main_1.PM_Main(config,
|
|
61
|
+
const rawConfig = bigConfig.projects[projectName];
|
|
62
|
+
const config = Object.assign(Object.assign({}, rawConfig), { buildDir: process.cwd() + "/" + `testeranto/${projectName}.json` });
|
|
63
|
+
const pm = new main_1.PM_Main(config, projectName, mode);
|
|
64
64
|
pm.start();
|
|
65
65
|
process.stdin.on("keypress", (str, key) => {
|
|
66
66
|
if (key.name === "q") {
|
|
@@ -1,43 +1,58 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
// import redux from "testeranto_with_reduxjs_toolkit/testeranto.config";
|
|
4
|
-
// import solidity from "testeranto-solidity/testeranto.config";
|
|
5
3
|
const config = {
|
|
6
4
|
projects: {
|
|
7
|
-
|
|
8
|
-
// ...redux.projects.allTests,
|
|
9
|
-
// src: "node_modules/testeranto_with_reduxjs_toolkit",
|
|
10
|
-
// },
|
|
11
|
-
// solidity: {
|
|
12
|
-
// ...solidity.projects.solidity,
|
|
13
|
-
// src: "node_modules/testeranto-solidity",
|
|
14
|
-
// },
|
|
15
|
-
mothership: {
|
|
5
|
+
allTests: {
|
|
16
6
|
tests: [
|
|
17
|
-
|
|
7
|
+
["src/lib/BaseSuite.test/node.test.ts", "node", { ports: 0 }, []],
|
|
8
|
+
["src/lib/BaseSuite.test/pure.test.ts", "pure", { ports: 0 }, []],
|
|
9
|
+
["src/lib/BaseSuite.test/web.test.ts", "web", { ports: 0 }, []],
|
|
10
|
+
["src/Pure.test.ts", "pure", { ports: 0 }, []],
|
|
11
|
+
["src/lib/pmProxy.test/index.ts", "node", { ports: 0 }, []],
|
|
12
|
+
["src/lib/core.test/core.test.ts", "node", { ports: 0 }, []],
|
|
18
13
|
[
|
|
19
|
-
"
|
|
14
|
+
"src/lib/classBuilder.test/classBuilder.test.ts",
|
|
20
15
|
"node",
|
|
21
|
-
{ ports:
|
|
16
|
+
{ ports: 0 },
|
|
17
|
+
[],
|
|
18
|
+
],
|
|
19
|
+
[
|
|
20
|
+
"src/lib/baseBuilder.test/baseBuilder.test.node.ts",
|
|
21
|
+
"node",
|
|
22
|
+
{ ports: 0 },
|
|
23
|
+
[],
|
|
24
|
+
],
|
|
25
|
+
[
|
|
26
|
+
"src/lib/baseBuilder.test/baseBuilder.test.pure.ts",
|
|
27
|
+
"pure",
|
|
28
|
+
{ ports: 0 },
|
|
29
|
+
[],
|
|
30
|
+
],
|
|
31
|
+
[
|
|
32
|
+
"src/lib/baseBuilder.test/baseBuilder.test.web.ts",
|
|
33
|
+
"web",
|
|
34
|
+
{ ports: 0 },
|
|
22
35
|
[],
|
|
23
36
|
],
|
|
37
|
+
// ["src/mothership/test.ts", "node", { ports: 0 }, []],
|
|
38
|
+
// ["./src/lib/abstractBase/index.ts", "node", { ports: 0 }, []],
|
|
24
39
|
// [
|
|
25
|
-
// "
|
|
40
|
+
// "src/PM/__tests__/nodeSidecar.testeranto.ts",
|
|
26
41
|
// "node",
|
|
27
42
|
// { ports: 1 },
|
|
28
43
|
// [],
|
|
29
44
|
// ],
|
|
30
45
|
// [
|
|
31
|
-
// "
|
|
46
|
+
// "src/PM/__tests__/pureSidecar.testeranto.ts",
|
|
32
47
|
// "node",
|
|
33
48
|
// { ports: 1 },
|
|
34
49
|
// [],
|
|
35
50
|
// ],
|
|
51
|
+
// ["src/PM/__tests__/webSidecar.testeranto.ts", "node", { ports: 1 }, []],
|
|
36
52
|
],
|
|
37
53
|
clearScreen: false,
|
|
38
54
|
debugger: false,
|
|
39
55
|
externals: [],
|
|
40
|
-
externalTests: {},
|
|
41
56
|
featureIngestor: function (s) {
|
|
42
57
|
throw new Error("Function not implemented.");
|
|
43
58
|
},
|
|
@@ -81,8 +96,8 @@ const config = {
|
|
|
81
96
|
webPlugins: [],
|
|
82
97
|
nodePlugins: [],
|
|
83
98
|
importPlugins: [],
|
|
84
|
-
externalTests: {},
|
|
85
99
|
},
|
|
86
100
|
},
|
|
101
|
+
reportDomain: "https://adamwong246.github.io/testeranto/testeranto",
|
|
87
102
|
};
|
|
88
103
|
exports.default = config;
|