testeranto 0.100.0 → 0.111.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/README.md +1 -0
- package/bundle.js +80 -30
- package/package.json +40 -32
- package/src/Footer.tsx +4 -0
- package/src/Init.ts +48 -0
- package/src/Node.ts +23 -17
- package/src/PM/index.ts +1 -1
- package/src/PM/main.ts +524 -156
- package/src/PM/node.ts +2 -2
- package/src/PM/web.ts +1 -1
- package/src/ReportClient.tsx +163 -0
- package/src/ReportServer.ts +21 -0
- package/src/SubPackages/react/component/node.ts +68 -24
- package/src/SubPackages/react/component/web.ts +68 -25
- package/src/SubPackages/react/jsx/index.ts +39 -18
- package/src/SubPackages/react/jsx/node.ts +12 -10
- package/src/SubPackages/react/jsx/web.ts +27 -14
- package/src/SubPackages/react-dom/component/node.ts +42 -50
- package/src/SubPackages/react-dom/component/web.ts +28 -10
- package/src/SubPackages/react-dom/jsx/node.ts +54 -56
- package/src/SubPackages/react-dom/jsx/web.ts +55 -42
- package/src/SubPackages/react-test-renderer/MemoExoticComponent/node.ts +23 -7
- package/src/SubPackages/react-test-renderer/component/index.ts +38 -5
- package/src/SubPackages/react-test-renderer/component/node.ts +24 -5
- package/src/SubPackages/react-test-renderer/component/web.ts +22 -5
- package/src/SubPackages/react-test-renderer/fc/node.ts +41 -7
- package/src/SubPackages/react-test-renderer/fc/web.ts +43 -11
- package/src/SubPackages/react-test-renderer/jsx/index.ts +39 -16
- package/src/SubPackages/react-test-renderer/jsx/node.ts +8 -6
- package/src/SubPackages/react-test-renderer/jsx/web.ts +22 -5
- package/src/SubPackages/react-test-renderer/jsx-promised/index.ts +39 -6
- package/src/SubPackages/react-test-renderer/jsx-promised/node.ts +27 -10
- package/src/SubPackages/react-test-renderer/jsx-promised/web.ts +26 -12
- package/src/TestReport.tsx +176 -0
- package/src/Types.ts +63 -309
- package/src/Web.ts +24 -18
- package/src/build.ts +240 -0
- package/src/defaultConfig.ts +2 -1
- package/src/esbuildConfigs/eslint-formatter-testeranto.ts +5 -0
- package/src/esbuildConfigs/featuresPlugin.ts +0 -1
- package/src/esbuildConfigs/index.ts +1 -1
- package/src/esbuildConfigs/inputFilesPlugin.ts +2 -135
- package/src/esbuildConfigs/node.ts +4 -13
- package/src/esbuildConfigs/web.ts +3 -19
- package/src/init-docs.ts +2 -1
- package/src/lib/abstractBase.ts +82 -80
- package/src/lib/basebuilder.ts +57 -45
- package/src/lib/classBuilder.ts +15 -15
- package/src/lib/core.ts +44 -35
- package/src/lib/index.ts +47 -98
- package/src/lib/readme.md +12 -0
- package/src/lib/types.ts +53 -70
- package/src/run.ts +31 -0
- package/src/style.css +8 -0
- package/src/utils.ts +74 -2
- package/tsc.log +108 -0
- package/Bundle.Dockerfile +0 -52
- package/bin/init-docs.js +0 -24
- package/dist/common/dist/module/src/Init.js +0 -40
- package/dist/common/package.json +0 -3
- package/dist/common/src/Init.js +0 -40
- package/dist/common/src/Node.js +0 -27
- package/dist/common/src/PM/index.js +0 -7
- package/dist/common/src/PM/main.js +0 -941
- package/dist/common/src/PM/node.js +0 -128
- package/dist/common/src/PM/web.js +0 -121
- package/dist/common/src/SubPackages/puppeteer.js +0 -21
- package/dist/common/src/SubPackages/react/component/node.js +0 -19
- package/dist/common/src/SubPackages/react/component/web.js +0 -19
- package/dist/common/src/SubPackages/react/jsx/index.js +0 -33
- package/dist/common/src/SubPackages/react/jsx/node.js +0 -10
- package/dist/common/src/SubPackages/react/jsx/web.js +0 -10
- package/dist/common/src/SubPackages/react-dom/component/node.js +0 -101
- package/dist/common/src/SubPackages/react-dom/component/web.js +0 -67
- package/dist/common/src/SubPackages/react-dom/jsx/index.js +0 -2
- package/dist/common/src/SubPackages/react-dom/jsx/node.js +0 -39
- package/dist/common/src/SubPackages/react-dom/jsx/web.js +0 -117
- package/dist/common/src/SubPackages/react-test-renderer/MemoExoticComponent/node.js +0 -44
- package/dist/common/src/SubPackages/react-test-renderer/component/index.js +0 -2
- package/dist/common/src/SubPackages/react-test-renderer/component/interface.js +0 -60
- package/dist/common/src/SubPackages/react-test-renderer/component/node.js +0 -8
- package/dist/common/src/SubPackages/react-test-renderer/component/web.js +0 -8
- package/dist/common/src/SubPackages/react-test-renderer/fc/node.js +0 -50
- package/dist/common/src/SubPackages/react-test-renderer/fc/web.js +0 -50
- package/dist/common/src/SubPackages/react-test-renderer/jsx/index.js +0 -63
- package/dist/common/src/SubPackages/react-test-renderer/jsx/node.js +0 -10
- package/dist/common/src/SubPackages/react-test-renderer/jsx/web.js +0 -10
- package/dist/common/src/SubPackages/react-test-renderer/jsx-promised/index.js +0 -42
- package/dist/common/src/SubPackages/react-test-renderer/jsx-promised/node.js +0 -10
- package/dist/common/src/SubPackages/react-test-renderer/jsx-promised/web.js +0 -10
- package/dist/common/src/Types.js +0 -2
- package/dist/common/src/Web.js +0 -49
- package/dist/common/src/cli.js +0 -439
- package/dist/common/src/cli2.js +0 -144
- package/dist/common/src/defaultConfig.js +0 -19
- package/dist/common/src/esbuildConfigs/featuresPlugin.js +0 -39
- package/dist/common/src/esbuildConfigs/index.js +0 -21
- package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +0 -99
- package/dist/common/src/esbuildConfigs/node.js +0 -45
- package/dist/common/src/esbuildConfigs/web.js +0 -61
- package/dist/common/src/init-docs.js +0 -43
- package/dist/common/src/lib/abstractBase.js +0 -324
- package/dist/common/src/lib/basebuilder.js +0 -85
- package/dist/common/src/lib/classBuilder.js +0 -42
- package/dist/common/src/lib/core.js +0 -101
- package/dist/common/src/lib/index.js +0 -22
- package/dist/common/src/lib/types.js +0 -3
- package/dist/common/src/puppeteerConfiger.js +0 -24
- package/dist/common/src/utils.js +0 -16
- package/dist/common/src/web.html.js +0 -22
- package/dist/common/testeranto.js +0 -15
- package/dist/common/tsconfig.common.tsbuildinfo +0 -1
- package/dist/module/package.json +0 -3
- package/dist/module/src/Init.js +0 -35
- package/dist/module/src/Node.js +0 -20
- package/dist/module/src/PM/index.js +0 -3
- package/dist/module/src/PM/main.js +0 -911
- package/dist/module/src/PM/node.js +0 -121
- package/dist/module/src/PM/web.js +0 -117
- package/dist/module/src/SubPackages/puppeteer.js +0 -16
- package/dist/module/src/SubPackages/react/component/node.js +0 -14
- package/dist/module/src/SubPackages/react/component/web.js +0 -14
- package/dist/module/src/SubPackages/react/jsx/index.js +0 -27
- package/dist/module/src/SubPackages/react/jsx/node.js +0 -5
- package/dist/module/src/SubPackages/react/jsx/web.js +0 -5
- package/dist/module/src/SubPackages/react-dom/component/node.js +0 -93
- package/dist/module/src/SubPackages/react-dom/component/web.js +0 -62
- package/dist/module/src/SubPackages/react-dom/jsx/index.js +0 -1
- package/dist/module/src/SubPackages/react-dom/jsx/node.js +0 -31
- package/dist/module/src/SubPackages/react-dom/jsx/web.js +0 -89
- package/dist/module/src/SubPackages/react-test-renderer/MemoExoticComponent/node.js +0 -16
- package/dist/module/src/SubPackages/react-test-renderer/component/index.js +0 -1
- package/dist/module/src/SubPackages/react-test-renderer/component/interface.js +0 -31
- package/dist/module/src/SubPackages/react-test-renderer/component/node.js +0 -3
- package/dist/module/src/SubPackages/react-test-renderer/component/web.js +0 -3
- package/dist/module/src/SubPackages/react-test-renderer/fc/node.js +0 -22
- package/dist/module/src/SubPackages/react-test-renderer/fc/web.js +0 -22
- package/dist/module/src/SubPackages/react-test-renderer/jsx/index.js +0 -34
- package/dist/module/src/SubPackages/react-test-renderer/jsx/node.js +0 -5
- package/dist/module/src/SubPackages/react-test-renderer/jsx/web.js +0 -5
- package/dist/module/src/SubPackages/react-test-renderer/jsx-promised/index.js +0 -16
- package/dist/module/src/SubPackages/react-test-renderer/jsx-promised/node.js +0 -5
- package/dist/module/src/SubPackages/react-test-renderer/jsx-promised/web.js +0 -5
- package/dist/module/src/Types.js +0 -1
- package/dist/module/src/Web.js +0 -42
- package/dist/module/src/cli.js +0 -411
- package/dist/module/src/cli2.js +0 -116
- package/dist/module/src/defaultConfig.js +0 -17
- package/dist/module/src/esbuildConfigs/featuresPlugin.js +0 -34
- package/dist/module/src/esbuildConfigs/index.js +0 -19
- package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +0 -94
- package/dist/module/src/esbuildConfigs/node.js +0 -40
- package/dist/module/src/esbuildConfigs/web.js +0 -56
- package/dist/module/src/init-docs.js +0 -15
- package/dist/module/src/lib/abstractBase.js +0 -316
- package/dist/module/src/lib/basebuilder.js +0 -81
- package/dist/module/src/lib/classBuilder.js +0 -38
- package/dist/module/src/lib/core.js +0 -98
- package/dist/module/src/lib/index.js +0 -18
- package/dist/module/src/lib/types.js +0 -2
- package/dist/module/src/puppeteerConfiger.js +0 -19
- package/dist/module/src/utils.js +0 -9
- package/dist/module/src/web.html.js +0 -20
- package/dist/module/testeranto.js +0 -13
- package/dist/module/tsconfig.module.tsbuildinfo +0 -1
- package/dist/prebuild/cli.mjs +0 -1491
- package/dist/prebuild/cli2.mjs +0 -918
- package/dist/prebuild/init-docs.mjs +0 -48
- package/dist/types/dist/module/src/Init.d.ts +0 -2
- package/dist/types/src/Init.d.ts +0 -2
- package/dist/types/src/Node.d.ts +0 -13
- package/dist/types/src/PM/index.d.ts +0 -34
- package/dist/types/src/PM/main.d.ts +0 -56
- package/dist/types/src/PM/node.d.ts +0 -42
- package/dist/types/src/PM/web.d.ts +0 -40
- package/dist/types/src/SubPackages/puppeteer.d.ts +0 -6
- package/dist/types/src/SubPackages/react/component/node.d.ts +0 -7
- package/dist/types/src/SubPackages/react/component/web.d.ts +0 -7
- package/dist/types/src/SubPackages/react/jsx/index.d.ts +0 -12
- package/dist/types/src/SubPackages/react/jsx/node.d.ts +0 -4
- package/dist/types/src/SubPackages/react/jsx/web.d.ts +0 -4
- package/dist/types/src/SubPackages/react-dom/component/node.d.ts +0 -12
- package/dist/types/src/SubPackages/react-dom/component/web.d.ts +0 -11
- package/dist/types/src/SubPackages/react-dom/jsx/index.d.ts +0 -7
- package/dist/types/src/SubPackages/react-dom/jsx/node.d.ts +0 -6
- package/dist/types/src/SubPackages/react-dom/jsx/web.d.ts +0 -5
- package/dist/types/src/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +0 -5
- package/dist/types/src/SubPackages/react-test-renderer/component/index.d.ts +0 -13
- package/dist/types/src/SubPackages/react-test-renderer/component/interface.d.ts +0 -9
- package/dist/types/src/SubPackages/react-test-renderer/component/node.d.ts +0 -8
- package/dist/types/src/SubPackages/react-test-renderer/component/web.d.ts +0 -3
- package/dist/types/src/SubPackages/react-test-renderer/fc/node.d.ts +0 -8
- package/dist/types/src/SubPackages/react-test-renderer/fc/web.d.ts +0 -8
- package/dist/types/src/SubPackages/react-test-renderer/jsx/index.d.ts +0 -17
- package/dist/types/src/SubPackages/react-test-renderer/jsx/node.d.ts +0 -9
- package/dist/types/src/SubPackages/react-test-renderer/jsx/web.d.ts +0 -8
- package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/index.d.ts +0 -16
- package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/node.d.ts +0 -4
- package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/web.d.ts +0 -4
- package/dist/types/src/Types.d.ts +0 -90
- package/dist/types/src/Web.d.ts +0 -10
- package/dist/types/src/cli.d.ts +0 -1
- package/dist/types/src/cli2.d.ts +0 -1
- package/dist/types/src/defaultConfig.d.ts +0 -3
- package/dist/types/src/esbuildConfigs/featuresPlugin.d.ts +0 -5
- package/dist/types/src/esbuildConfigs/index.d.ts +0 -4
- package/dist/types/src/esbuildConfigs/inputFilesPlugin.d.ts +0 -7
- package/dist/types/src/esbuildConfigs/node.d.ts +0 -4
- package/dist/types/src/esbuildConfigs/web.d.ts +0 -4
- package/dist/types/src/init-docs.d.ts +0 -1
- package/dist/types/src/lib/abstractBase.d.ts +0 -110
- package/dist/types/src/lib/basebuilder.d.ts +0 -27
- package/dist/types/src/lib/classBuilder.d.ts +0 -7
- package/dist/types/src/lib/core.d.ts +0 -8
- package/dist/types/src/lib/index.d.ts +0 -60
- package/dist/types/src/lib/types.d.ts +0 -40
- package/dist/types/src/puppeteerConfiger.d.ts +0 -4
- package/dist/types/src/utils.d.ts +0 -2
- package/dist/types/src/web.html.d.ts +0 -2
- package/dist/types/testeranto.d.ts +0 -16
- package/dist/types/tsconfig.types.tsbuildinfo +0 -1
- package/docker-compose.yml +0 -37
- package/src/SubPackages/puppeteer.ts +0 -51
- package/src/cli.ts +0 -535
- package/src/cli2.ts +0 -157
- package/testeranto.ts +0 -13
package/src/lib/abstractBase.ts
CHANGED
|
@@ -1,34 +1,33 @@
|
|
|
1
|
-
import { IBaseTest } from "../Types";
|
|
1
|
+
// import { IBaseTest } from "../Types";
|
|
2
2
|
import { PM } from "../PM/index.js";
|
|
3
3
|
|
|
4
4
|
import { ITTestResourceConfiguration, ITestArtifactory, ITLog } from ".";
|
|
5
|
+
import { IBaseTest } from "../../dist/types/src/Types.js";
|
|
6
|
+
import { Ibdd_in, Ibdd_out } from "../Types.js";
|
|
5
7
|
|
|
6
8
|
export type IGivens<
|
|
7
|
-
|
|
9
|
+
I extends Ibdd_in<
|
|
8
10
|
unknown,
|
|
9
11
|
unknown,
|
|
10
12
|
unknown,
|
|
11
13
|
unknown,
|
|
12
14
|
unknown,
|
|
13
15
|
unknown,
|
|
14
|
-
unknown
|
|
15
|
-
Record<string, any>,
|
|
16
|
-
Record<string, any>,
|
|
17
|
-
Record<string, any>,
|
|
18
|
-
Record<string, any>,
|
|
19
|
-
Record<string, any>
|
|
16
|
+
unknown
|
|
20
17
|
>
|
|
21
|
-
> = Record<string, BaseGiven<
|
|
18
|
+
> = Record<string, BaseGiven<I>>;
|
|
22
19
|
|
|
23
20
|
export abstract class BaseSuite<
|
|
24
|
-
|
|
25
|
-
unknown,
|
|
21
|
+
I extends Ibdd_in<
|
|
26
22
|
unknown,
|
|
27
23
|
unknown,
|
|
28
24
|
unknown,
|
|
29
25
|
unknown,
|
|
30
26
|
unknown,
|
|
31
27
|
unknown,
|
|
28
|
+
unknown
|
|
29
|
+
>,
|
|
30
|
+
O extends Ibdd_out<
|
|
32
31
|
Record<string, any>,
|
|
33
32
|
Record<string, any>,
|
|
34
33
|
Record<string, any>,
|
|
@@ -37,18 +36,18 @@ export abstract class BaseSuite<
|
|
|
37
36
|
>
|
|
38
37
|
> {
|
|
39
38
|
name: string;
|
|
40
|
-
givens: IGivens<
|
|
41
|
-
checks: BaseCheck<
|
|
42
|
-
store:
|
|
43
|
-
fails: BaseGiven<
|
|
39
|
+
givens: IGivens<I>;
|
|
40
|
+
checks: BaseCheck<I, O>[];
|
|
41
|
+
store: I["istore"];
|
|
42
|
+
fails: BaseGiven<I>[];
|
|
44
43
|
testResourceConfiguration: ITTestResourceConfiguration;
|
|
45
44
|
index: number;
|
|
46
45
|
|
|
47
46
|
constructor(
|
|
48
47
|
name: string,
|
|
49
48
|
index: number,
|
|
50
|
-
givens: IGivens<
|
|
51
|
-
checks: BaseCheck<
|
|
49
|
+
givens: IGivens<I> = {},
|
|
50
|
+
checks: BaseCheck<I, O>[] = []
|
|
52
51
|
) {
|
|
53
52
|
this.name = name;
|
|
54
53
|
this.index = index;
|
|
@@ -83,29 +82,29 @@ export abstract class BaseSuite<
|
|
|
83
82
|
}
|
|
84
83
|
|
|
85
84
|
setup(
|
|
86
|
-
s:
|
|
85
|
+
s: I["iinput"],
|
|
87
86
|
artifactory: ITestArtifactory,
|
|
88
87
|
tr: ITTestResourceConfiguration,
|
|
89
88
|
pm: PM
|
|
90
|
-
): Promise<
|
|
91
|
-
return new Promise((res) => res(s as unknown as
|
|
89
|
+
): Promise<I["isubject"]> {
|
|
90
|
+
return new Promise((res) => res(s as unknown as I["isubject"]));
|
|
92
91
|
}
|
|
93
92
|
|
|
94
|
-
assertThat(t:
|
|
93
|
+
assertThat(t: I["then"]): unknown {
|
|
95
94
|
return t;
|
|
96
95
|
}
|
|
97
96
|
|
|
98
|
-
afterAll(store:
|
|
97
|
+
afterAll(store: I["istore"], artifactory: ITestArtifactory, pm: PM) {
|
|
99
98
|
return store;
|
|
100
99
|
}
|
|
101
100
|
|
|
102
101
|
async run(
|
|
103
|
-
input:
|
|
102
|
+
input: I["iinput"],
|
|
104
103
|
testResourceConfiguration: ITTestResourceConfiguration,
|
|
105
104
|
artifactory: (fPath: string, value: unknown) => void,
|
|
106
105
|
tLog: (...string) => void,
|
|
107
106
|
pm: PM
|
|
108
|
-
): Promise<BaseSuite<
|
|
107
|
+
): Promise<BaseSuite<I, O>> {
|
|
109
108
|
this.testResourceConfiguration = testResourceConfiguration;
|
|
110
109
|
tLog("test resources: ", JSON.stringify(testResourceConfiguration));
|
|
111
110
|
|
|
@@ -138,6 +137,7 @@ export abstract class BaseSuite<
|
|
|
138
137
|
target[prop](`suite-${sNdx}/beforeAll/${fp}`, contents);
|
|
139
138
|
}
|
|
140
139
|
|
|
140
|
+
/* @ts-ignore:next-line */
|
|
141
141
|
return Reflect.get(...arguments);
|
|
142
142
|
},
|
|
143
143
|
});
|
|
@@ -212,39 +212,34 @@ export abstract class BaseSuite<
|
|
|
212
212
|
}
|
|
213
213
|
|
|
214
214
|
export abstract class BaseGiven<
|
|
215
|
-
|
|
215
|
+
I extends Ibdd_in<
|
|
216
216
|
unknown,
|
|
217
217
|
unknown,
|
|
218
218
|
unknown,
|
|
219
219
|
unknown,
|
|
220
220
|
unknown,
|
|
221
221
|
unknown,
|
|
222
|
-
unknown
|
|
223
|
-
Record<string, any>,
|
|
224
|
-
Record<string, any>,
|
|
225
|
-
Record<string, any>,
|
|
226
|
-
Record<string, any>,
|
|
227
|
-
Record<string, any>
|
|
222
|
+
unknown
|
|
228
223
|
>
|
|
229
224
|
> {
|
|
230
225
|
name: string;
|
|
231
226
|
features: string[];
|
|
232
|
-
whens: BaseWhen<
|
|
233
|
-
thens: BaseThen<
|
|
227
|
+
whens: BaseWhen<I>[];
|
|
228
|
+
thens: BaseThen<I>[];
|
|
234
229
|
error: Error;
|
|
235
230
|
fail: any;
|
|
236
|
-
store:
|
|
231
|
+
store: I["istore"];
|
|
237
232
|
recommendedFsPath: string;
|
|
238
|
-
givenCB:
|
|
233
|
+
givenCB: I["given"];
|
|
239
234
|
initialValues: any;
|
|
240
235
|
key: string;
|
|
241
236
|
|
|
242
237
|
constructor(
|
|
243
238
|
name: string,
|
|
244
239
|
features: string[],
|
|
245
|
-
whens: BaseWhen<
|
|
246
|
-
thens: BaseThen<
|
|
247
|
-
givenCB:
|
|
240
|
+
whens: BaseWhen<I>[],
|
|
241
|
+
thens: BaseThen<I>[],
|
|
242
|
+
givenCB: I["given"],
|
|
248
243
|
initialValues: any
|
|
249
244
|
// key: string
|
|
250
245
|
) {
|
|
@@ -257,7 +252,7 @@ export abstract class BaseGiven<
|
|
|
257
252
|
}
|
|
258
253
|
|
|
259
254
|
beforeAll(
|
|
260
|
-
store:
|
|
255
|
+
store: I["istore"],
|
|
261
256
|
// artifactory: ITestArtifactory
|
|
262
257
|
// subject,
|
|
263
258
|
initializer,
|
|
@@ -282,16 +277,16 @@ export abstract class BaseGiven<
|
|
|
282
277
|
}
|
|
283
278
|
|
|
284
279
|
abstract givenThat(
|
|
285
|
-
subject:
|
|
280
|
+
subject: I["isubject"],
|
|
286
281
|
testResourceConfiguration,
|
|
287
282
|
artifactory: ITestArtifactory,
|
|
288
|
-
givenCB:
|
|
283
|
+
givenCB: I["given"],
|
|
289
284
|
initialValues: any,
|
|
290
285
|
pm: PM
|
|
291
|
-
): Promise<
|
|
286
|
+
): Promise<I["istore"]>;
|
|
292
287
|
|
|
293
288
|
async afterEach(
|
|
294
|
-
store:
|
|
289
|
+
store: I["istore"],
|
|
295
290
|
key: string,
|
|
296
291
|
artifactory: ITestArtifactory,
|
|
297
292
|
pm: PM
|
|
@@ -302,10 +297,10 @@ export abstract class BaseGiven<
|
|
|
302
297
|
abstract uberCatcher(e);
|
|
303
298
|
|
|
304
299
|
async give(
|
|
305
|
-
subject:
|
|
300
|
+
subject: I["isubject"],
|
|
306
301
|
key: string,
|
|
307
302
|
testResourceConfiguration: ITTestResourceConfiguration,
|
|
308
|
-
tester: (t: Awaited<
|
|
303
|
+
tester: (t: Awaited<I["then"]> | undefined) => boolean,
|
|
309
304
|
artifactory: ITestArtifactory,
|
|
310
305
|
tLog: ITLog,
|
|
311
306
|
pm: PM,
|
|
@@ -353,6 +348,7 @@ export abstract class BaseGiven<
|
|
|
353
348
|
);
|
|
354
349
|
}
|
|
355
350
|
|
|
351
|
+
/* @ts-ignore:next-line */
|
|
356
352
|
return Reflect.get(...arguments);
|
|
357
353
|
},
|
|
358
354
|
});
|
|
@@ -422,6 +418,7 @@ export abstract class BaseGiven<
|
|
|
422
418
|
);
|
|
423
419
|
}
|
|
424
420
|
|
|
421
|
+
/* @ts-ignore:next-line */
|
|
425
422
|
return Reflect.get(...arguments);
|
|
426
423
|
},
|
|
427
424
|
});
|
|
@@ -441,22 +438,29 @@ export abstract class BaseGiven<
|
|
|
441
438
|
}
|
|
442
439
|
}
|
|
443
440
|
|
|
444
|
-
export abstract class BaseWhen<
|
|
441
|
+
export abstract class BaseWhen<
|
|
442
|
+
I extends Ibdd_in<
|
|
443
|
+
unknown,
|
|
444
|
+
unknown,
|
|
445
|
+
unknown,
|
|
446
|
+
unknown,
|
|
447
|
+
unknown,
|
|
448
|
+
unknown,
|
|
449
|
+
unknown
|
|
450
|
+
>
|
|
451
|
+
> {
|
|
445
452
|
public name: string;
|
|
446
|
-
whenCB: (x:
|
|
453
|
+
whenCB: (x: I["iselection"]) => I["then"];
|
|
447
454
|
error: boolean;
|
|
448
455
|
|
|
449
|
-
constructor(
|
|
450
|
-
name: string,
|
|
451
|
-
whenCB: (xyz: ITestShape["iselection"]) => ITestShape["then"]
|
|
452
|
-
) {
|
|
456
|
+
constructor(name: string, whenCB: (xyz: I["iselection"]) => I["then"]) {
|
|
453
457
|
this.name = name;
|
|
454
458
|
this.whenCB = whenCB;
|
|
455
459
|
}
|
|
456
460
|
|
|
457
461
|
abstract andWhen(
|
|
458
|
-
store:
|
|
459
|
-
whenCB: (x:
|
|
462
|
+
store: I["istore"],
|
|
463
|
+
whenCB: (x: I["iselection"]) => I["then"],
|
|
460
464
|
testResource,
|
|
461
465
|
pm: PM
|
|
462
466
|
): Promise<any>;
|
|
@@ -469,7 +473,7 @@ export abstract class BaseWhen<ITestShape extends IBaseTest> {
|
|
|
469
473
|
}
|
|
470
474
|
|
|
471
475
|
async test(
|
|
472
|
-
store:
|
|
476
|
+
store: I["istore"],
|
|
473
477
|
testResourceConfiguration,
|
|
474
478
|
tLog: ITLog,
|
|
475
479
|
pm: PM,
|
|
@@ -495,6 +499,7 @@ export abstract class BaseWhen<ITestShape extends IBaseTest> {
|
|
|
495
499
|
target[prop](`${filepath}/andWhen/${fp}`, contents);
|
|
496
500
|
}
|
|
497
501
|
|
|
502
|
+
/* @ts-ignore:next-line */
|
|
498
503
|
return Reflect.get(...arguments);
|
|
499
504
|
},
|
|
500
505
|
});
|
|
@@ -523,29 +528,21 @@ export abstract class BaseWhen<ITestShape extends IBaseTest> {
|
|
|
523
528
|
}
|
|
524
529
|
|
|
525
530
|
export abstract class BaseThen<
|
|
526
|
-
|
|
527
|
-
unknown,
|
|
531
|
+
I extends Ibdd_in<
|
|
528
532
|
unknown,
|
|
529
533
|
unknown,
|
|
530
534
|
unknown,
|
|
531
535
|
unknown,
|
|
532
536
|
unknown,
|
|
533
537
|
unknown,
|
|
534
|
-
|
|
535
|
-
Record<string, any>,
|
|
536
|
-
Record<string, any>,
|
|
537
|
-
Record<string, any>,
|
|
538
|
-
Record<string, any>
|
|
538
|
+
unknown
|
|
539
539
|
>
|
|
540
540
|
> {
|
|
541
541
|
public name: string;
|
|
542
|
-
thenCB: (storeState:
|
|
542
|
+
thenCB: (storeState: I["iselection"]) => I["then"];
|
|
543
543
|
error: boolean;
|
|
544
544
|
|
|
545
|
-
constructor(
|
|
546
|
-
name: string,
|
|
547
|
-
thenCB: (val: ITestShape["iselection"]) => ITestShape["then"]
|
|
548
|
-
) {
|
|
545
|
+
constructor(name: string, thenCB: (val: I["iselection"]) => I["then"]) {
|
|
549
546
|
this.name = name;
|
|
550
547
|
this.thenCB = thenCB;
|
|
551
548
|
this.error = false;
|
|
@@ -559,19 +556,19 @@ export abstract class BaseThen<
|
|
|
559
556
|
}
|
|
560
557
|
|
|
561
558
|
abstract butThen(
|
|
562
|
-
store:
|
|
559
|
+
store: I["istore"],
|
|
563
560
|
thenCB,
|
|
564
561
|
testResourceConfiguration: ITTestResourceConfiguration,
|
|
565
562
|
pm: PM
|
|
566
|
-
): Promise<
|
|
563
|
+
): Promise<I["iselection"]>;
|
|
567
564
|
|
|
568
565
|
async test(
|
|
569
|
-
store:
|
|
566
|
+
store: I["istore"],
|
|
570
567
|
testResourceConfiguration,
|
|
571
568
|
tLog: ITLog,
|
|
572
569
|
pm: PM,
|
|
573
570
|
filepath: string
|
|
574
|
-
): Promise<
|
|
571
|
+
): Promise<I["then"] | undefined> {
|
|
575
572
|
tLog(" Then:", this.name);
|
|
576
573
|
try {
|
|
577
574
|
const butThenProxy = new Proxy(pm, {
|
|
@@ -592,6 +589,7 @@ export abstract class BaseThen<
|
|
|
592
589
|
target[prop](`${filepath}/${fp}`, contents);
|
|
593
590
|
}
|
|
594
591
|
|
|
592
|
+
/* @ts-ignore:next-line */
|
|
595
593
|
return Reflect.get(...arguments);
|
|
596
594
|
},
|
|
597
595
|
});
|
|
@@ -614,14 +612,16 @@ export abstract class BaseThen<
|
|
|
614
612
|
}
|
|
615
613
|
|
|
616
614
|
export abstract class BaseCheck<
|
|
617
|
-
|
|
618
|
-
unknown,
|
|
615
|
+
I extends Ibdd_in<
|
|
619
616
|
unknown,
|
|
620
617
|
unknown,
|
|
621
618
|
unknown,
|
|
622
619
|
unknown,
|
|
623
620
|
unknown,
|
|
624
621
|
unknown,
|
|
622
|
+
unknown
|
|
623
|
+
>,
|
|
624
|
+
O extends Ibdd_out<
|
|
625
625
|
Record<string, any>,
|
|
626
626
|
Record<string, any>,
|
|
627
627
|
Record<string, any>,
|
|
@@ -633,10 +633,10 @@ export abstract class BaseCheck<
|
|
|
633
633
|
features: string[];
|
|
634
634
|
checkCB: (whens, thens) => any;
|
|
635
635
|
whens: {
|
|
636
|
-
[K in keyof
|
|
636
|
+
[K in keyof O["whens"]]: (p, tc) => BaseWhen<I>;
|
|
637
637
|
};
|
|
638
638
|
thens: {
|
|
639
|
-
[K in keyof
|
|
639
|
+
[K in keyof O["thens"]]: (p, tc) => BaseThen<I>;
|
|
640
640
|
};
|
|
641
641
|
|
|
642
642
|
constructor(
|
|
@@ -654,13 +654,14 @@ export abstract class BaseCheck<
|
|
|
654
654
|
}
|
|
655
655
|
|
|
656
656
|
abstract checkThat(
|
|
657
|
-
subject:
|
|
657
|
+
subject: I["isubject"],
|
|
658
658
|
testResourceConfiguration,
|
|
659
|
-
artifactory: ITestArtifactory
|
|
660
|
-
|
|
659
|
+
artifactory: ITestArtifactory,
|
|
660
|
+
pm: PM
|
|
661
|
+
): Promise<I["istore"]>;
|
|
661
662
|
|
|
662
663
|
async afterEach(
|
|
663
|
-
store:
|
|
664
|
+
store: I["istore"],
|
|
664
665
|
key: string,
|
|
665
666
|
cb,
|
|
666
667
|
pm: PM
|
|
@@ -669,7 +670,7 @@ export abstract class BaseCheck<
|
|
|
669
670
|
}
|
|
670
671
|
|
|
671
672
|
async check(
|
|
672
|
-
subject:
|
|
673
|
+
subject: I["isubject"],
|
|
673
674
|
key: string,
|
|
674
675
|
testResourceConfiguration,
|
|
675
676
|
tester,
|
|
@@ -681,7 +682,8 @@ export abstract class BaseCheck<
|
|
|
681
682
|
const store = await this.checkThat(
|
|
682
683
|
subject,
|
|
683
684
|
testResourceConfiguration,
|
|
684
|
-
artifactory
|
|
685
|
+
artifactory,
|
|
686
|
+
pm
|
|
685
687
|
);
|
|
686
688
|
await this.checkCB(
|
|
687
689
|
Object.entries(this.whens).reduce((a, [key, when]) => {
|
package/src/lib/basebuilder.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PassThrough } from "stream";
|
|
2
2
|
|
|
3
3
|
import { ITTestResourceRequest, ITestJob, ITLog } from ".";
|
|
4
|
-
import {
|
|
4
|
+
import { Ibdd_in, Ibdd_out, ITestSpecification } from "../Types.js";
|
|
5
5
|
|
|
6
6
|
import {
|
|
7
7
|
ISuiteKlasser,
|
|
@@ -20,14 +20,16 @@ import {
|
|
|
20
20
|
import { PM } from "../PM/index.js";
|
|
21
21
|
|
|
22
22
|
export abstract class BaseBuilder<
|
|
23
|
-
|
|
24
|
-
unknown,
|
|
23
|
+
I extends Ibdd_in<
|
|
25
24
|
unknown,
|
|
26
25
|
unknown,
|
|
27
26
|
unknown,
|
|
28
27
|
unknown,
|
|
29
28
|
unknown,
|
|
30
29
|
unknown,
|
|
30
|
+
unknown
|
|
31
|
+
>,
|
|
32
|
+
O extends Ibdd_out<
|
|
31
33
|
Record<string, any>,
|
|
32
34
|
Record<string, any>,
|
|
33
35
|
Record<string, any>,
|
|
@@ -42,26 +44,26 @@ export abstract class BaseBuilder<
|
|
|
42
44
|
> {
|
|
43
45
|
specs: any;
|
|
44
46
|
|
|
45
|
-
assertThis: (t:
|
|
47
|
+
assertThis: (t: I["then"]) => {};
|
|
46
48
|
|
|
47
49
|
testResourceRequirement: ITTestResourceRequest;
|
|
48
50
|
artifacts: Promise<unknown>[] = [];
|
|
49
51
|
testJobs: ITestJob[];
|
|
50
|
-
testSpecification: ITestSpecification<
|
|
51
|
-
suitesOverrides: Record<keyof SuiteExtensions, ISuiteKlasser<
|
|
52
|
-
givenOverides: Record<keyof GivenExtensions, IGivenKlasser<
|
|
53
|
-
whenOverides: Record<keyof WhenExtensions, IWhenKlasser<
|
|
54
|
-
thenOverides: Record<keyof ThenExtensions, IThenKlasser<
|
|
55
|
-
checkOverides: Record<keyof CheckExtensions, ICheckKlasser<
|
|
52
|
+
testSpecification: ITestSpecification<I, O>;
|
|
53
|
+
suitesOverrides: Record<keyof SuiteExtensions, ISuiteKlasser<I, O>>;
|
|
54
|
+
givenOverides: Record<keyof GivenExtensions, IGivenKlasser<I>>;
|
|
55
|
+
whenOverides: Record<keyof WhenExtensions, IWhenKlasser<I>>;
|
|
56
|
+
thenOverides: Record<keyof ThenExtensions, IThenKlasser<I>>;
|
|
57
|
+
checkOverides: Record<keyof CheckExtensions, ICheckKlasser<I, O>>;
|
|
56
58
|
puppetMaster: PM;
|
|
57
59
|
|
|
58
60
|
constructor(
|
|
59
|
-
public readonly input:
|
|
60
|
-
suitesOverrides: Record<keyof SuiteExtensions, ISuiteKlasser<
|
|
61
|
-
givenOverides: Record<keyof GivenExtensions, IGivenKlasser<
|
|
62
|
-
whenOverides: Record<keyof WhenExtensions, IWhenKlasser<
|
|
63
|
-
thenOverides: Record<keyof ThenExtensions, IThenKlasser<
|
|
64
|
-
checkOverides: Record<keyof CheckExtensions, ICheckKlasser<
|
|
61
|
+
public readonly input: I["iinput"],
|
|
62
|
+
suitesOverrides: Record<keyof SuiteExtensions, ISuiteKlasser<I, O>>,
|
|
63
|
+
givenOverides: Record<keyof GivenExtensions, IGivenKlasser<I>>,
|
|
64
|
+
whenOverides: Record<keyof WhenExtensions, IWhenKlasser<I>>,
|
|
65
|
+
thenOverides: Record<keyof ThenExtensions, IThenKlasser<I>>,
|
|
66
|
+
checkOverides: Record<keyof CheckExtensions, ICheckKlasser<I, O>>,
|
|
65
67
|
testResourceRequirement: ITTestResourceRequest,
|
|
66
68
|
testSpecification: any
|
|
67
69
|
) {
|
|
@@ -82,13 +84,10 @@ export abstract class BaseBuilder<
|
|
|
82
84
|
this.Check()
|
|
83
85
|
);
|
|
84
86
|
|
|
85
|
-
this.testJobs = this.specs.map((suite: BaseSuite<
|
|
87
|
+
this.testJobs = this.specs.map((suite: BaseSuite<I, O>) => {
|
|
86
88
|
const suiteRunner =
|
|
87
|
-
(suite: BaseSuite<
|
|
88
|
-
async (
|
|
89
|
-
puppetMaster: PM,
|
|
90
|
-
tLog: ITLog
|
|
91
|
-
): Promise<BaseSuite<ITestShape>> => {
|
|
89
|
+
(suite: BaseSuite<I, O>) =>
|
|
90
|
+
async (puppetMaster: PM, tLog: ITLog): Promise<BaseSuite<I, O>> => {
|
|
92
91
|
const x = await suite.run(
|
|
93
92
|
input,
|
|
94
93
|
puppetMaster.testResourceConfiguration,
|
|
@@ -124,10 +123,7 @@ export abstract class BaseBuilder<
|
|
|
124
123
|
puppetMaster.write(access, `${l.toString()}\n`);
|
|
125
124
|
};
|
|
126
125
|
|
|
127
|
-
const suiteDone: BaseSuite<
|
|
128
|
-
puppetMaster,
|
|
129
|
-
tLog
|
|
130
|
-
);
|
|
126
|
+
const suiteDone: BaseSuite<I, O> = await runner(puppetMaster, tLog);
|
|
131
127
|
|
|
132
128
|
const logPromise = new Promise((res, rej) => {
|
|
133
129
|
puppetMaster.end(access);
|
|
@@ -137,22 +133,41 @@ export abstract class BaseBuilder<
|
|
|
137
133
|
const numberOfFailures = Object.keys(suiteDone.givens).filter((k) => {
|
|
138
134
|
return suiteDone.givens[k].error;
|
|
139
135
|
}).length;
|
|
140
|
-
puppetMaster.writeFileSync(
|
|
136
|
+
puppetMaster.writeFileSync(
|
|
137
|
+
`bdd_errors.txt`,
|
|
138
|
+
numberOfFailures.toString()
|
|
139
|
+
);
|
|
141
140
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
141
|
+
const o = this.toObj();
|
|
142
|
+
puppetMaster.writeFileSync(
|
|
143
|
+
`littleBoard.html`,
|
|
144
|
+
`
|
|
145
|
+
<!DOCTYPE html>
|
|
146
|
+
<html lang="en">
|
|
147
|
+
|
|
148
|
+
<head>
|
|
149
|
+
<meta name="description" content="Webpage description goes here" />
|
|
150
|
+
<meta charset="utf-8" />
|
|
151
|
+
<title>kokomoBay - testeranto</title>
|
|
152
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
153
|
+
<meta name="author" content="" />
|
|
154
|
+
|
|
155
|
+
<link rel="stylesheet" href="/kokomoBay/docs/TestReport.css" />
|
|
156
|
+
<script src="/kokomoBay/docs/TestReport.js"></script>
|
|
157
|
+
|
|
158
|
+
</head>
|
|
159
|
+
|
|
160
|
+
<body>
|
|
161
|
+
<h1>Test report</h1>
|
|
162
|
+
<div id="root"/>
|
|
163
|
+
</body>
|
|
164
|
+
`
|
|
165
|
+
);
|
|
150
166
|
|
|
151
167
|
puppetMaster.writeFileSync(
|
|
152
168
|
`tests.json`,
|
|
153
169
|
JSON.stringify(this.toObj(), null, 2)
|
|
154
170
|
);
|
|
155
|
-
// console.log(`exiting gracefully with ${numberOfFailures} failures.`);
|
|
156
171
|
|
|
157
172
|
return {
|
|
158
173
|
failed: numberOfFailures,
|
|
@@ -177,27 +192,24 @@ export abstract class BaseBuilder<
|
|
|
177
192
|
(
|
|
178
193
|
name: string,
|
|
179
194
|
features: string[],
|
|
180
|
-
whens: BaseWhen<
|
|
181
|
-
thens: BaseThen<
|
|
195
|
+
whens: BaseWhen<I>[],
|
|
196
|
+
thens: BaseThen<I>[],
|
|
182
197
|
gcb
|
|
183
|
-
) => BaseGiven<
|
|
198
|
+
) => BaseGiven<I>
|
|
184
199
|
> {
|
|
185
200
|
return this.givenOverides;
|
|
186
201
|
}
|
|
187
202
|
|
|
188
203
|
When(): Record<
|
|
189
204
|
keyof WhenExtensions,
|
|
190
|
-
(arg0:
|
|
205
|
+
(arg0: I["istore"], ...arg1: any) => BaseWhen<I>
|
|
191
206
|
> {
|
|
192
207
|
return this.whenOverides;
|
|
193
208
|
}
|
|
194
209
|
|
|
195
210
|
Then(): Record<
|
|
196
211
|
keyof ThenExtensions,
|
|
197
|
-
(
|
|
198
|
-
selection: ITestShape["iselection"],
|
|
199
|
-
expectation: any
|
|
200
|
-
) => BaseThen<ITestShape>
|
|
212
|
+
(selection: I["iselection"], expectation: any) => BaseThen<I>
|
|
201
213
|
> {
|
|
202
214
|
return this.thenOverides;
|
|
203
215
|
}
|
|
@@ -210,7 +222,7 @@ export abstract class BaseBuilder<
|
|
|
210
222
|
whens,
|
|
211
223
|
thens,
|
|
212
224
|
x
|
|
213
|
-
) => BaseCheck<
|
|
225
|
+
) => BaseCheck<I, O>
|
|
214
226
|
> {
|
|
215
227
|
return this.checkOverides;
|
|
216
228
|
}
|
package/src/lib/classBuilder.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
2
|
+
Ibdd_in,
|
|
3
|
+
Ibdd_out,
|
|
3
4
|
ITestImplementation,
|
|
4
5
|
ITestSpecification,
|
|
5
6
|
} from "../Types.js";
|
|
6
7
|
|
|
7
8
|
import { BaseBuilder } from "./basebuilder.js";
|
|
8
|
-
|
|
9
9
|
import {
|
|
10
10
|
ISuiteKlasser,
|
|
11
11
|
IGivenKlasser,
|
|
@@ -13,34 +13,35 @@ import {
|
|
|
13
13
|
IThenKlasser,
|
|
14
14
|
ICheckKlasser,
|
|
15
15
|
} from "./types.js";
|
|
16
|
-
import { PM } from "../PM/index.js";
|
|
17
16
|
import { ITTestResourceRequest } from "./index.js";
|
|
18
17
|
|
|
19
18
|
export abstract class ClassBuilder<
|
|
20
|
-
|
|
21
|
-
unknown,
|
|
19
|
+
I extends Ibdd_in<
|
|
22
20
|
unknown,
|
|
23
21
|
unknown,
|
|
24
22
|
unknown,
|
|
25
23
|
unknown,
|
|
26
24
|
unknown,
|
|
27
25
|
unknown,
|
|
26
|
+
unknown
|
|
27
|
+
>,
|
|
28
|
+
O extends Ibdd_out<
|
|
28
29
|
Record<string, any>,
|
|
29
30
|
Record<string, any>,
|
|
30
31
|
Record<string, any>,
|
|
31
32
|
Record<string, any>,
|
|
32
33
|
Record<string, any>
|
|
33
34
|
>
|
|
34
|
-
> extends BaseBuilder<
|
|
35
|
+
> extends BaseBuilder<I, O, any, any, any, any, any> {
|
|
35
36
|
constructor(
|
|
36
|
-
testImplementation: ITestImplementation<
|
|
37
|
-
testSpecification: ITestSpecification<
|
|
38
|
-
input:
|
|
39
|
-
suiteKlasser: ISuiteKlasser<
|
|
40
|
-
givenKlasser: IGivenKlasser<
|
|
41
|
-
whenKlasser: IWhenKlasser<
|
|
42
|
-
thenKlasser: IThenKlasser<
|
|
43
|
-
checkKlasser: ICheckKlasser<
|
|
37
|
+
testImplementation: ITestImplementation<I, O>,
|
|
38
|
+
testSpecification: ITestSpecification<I, O>,
|
|
39
|
+
input: I["iinput"],
|
|
40
|
+
suiteKlasser: ISuiteKlasser<I, O>,
|
|
41
|
+
givenKlasser: IGivenKlasser<I>,
|
|
42
|
+
whenKlasser: IWhenKlasser<I>,
|
|
43
|
+
thenKlasser: IThenKlasser<I>,
|
|
44
|
+
checkKlasser: ICheckKlasser<I, O>,
|
|
44
45
|
testResourceRequirement: ITTestResourceRequest
|
|
45
46
|
) {
|
|
46
47
|
const classySuites = Object.entries(testImplementation.suites).reduce(
|
|
@@ -126,7 +127,6 @@ export abstract class ClassBuilder<
|
|
|
126
127
|
classyChecks,
|
|
127
128
|
testResourceRequirement,
|
|
128
129
|
testSpecification
|
|
129
|
-
// puppetMaster
|
|
130
130
|
);
|
|
131
131
|
}
|
|
132
132
|
}
|