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
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import fs from "fs";
|
|
2
|
-
import path from "path";
|
|
3
|
-
import { PM } from "./index.js";
|
|
4
|
-
const fPaths = [];
|
|
5
|
-
export class PM_Node extends PM {
|
|
6
|
-
constructor(t) {
|
|
7
|
-
super();
|
|
8
|
-
this.server = {};
|
|
9
|
-
this.testResourceConfiguration = t;
|
|
10
|
-
}
|
|
11
|
-
waitForSelector(p, s) {
|
|
12
|
-
return globalThis["waitForSelector"](p, s);
|
|
13
|
-
}
|
|
14
|
-
closePage(p) {
|
|
15
|
-
return globalThis["closePage"](p);
|
|
16
|
-
}
|
|
17
|
-
goto(cdpPage, url) {
|
|
18
|
-
return globalThis["goto"](cdpPage.mainFrame()._id, url);
|
|
19
|
-
}
|
|
20
|
-
newPage() {
|
|
21
|
-
return globalThis["newPage"]();
|
|
22
|
-
}
|
|
23
|
-
$(selector) {
|
|
24
|
-
throw new Error("Method not implemented.");
|
|
25
|
-
}
|
|
26
|
-
isDisabled(selector) {
|
|
27
|
-
throw new Error("Method not implemented.");
|
|
28
|
-
}
|
|
29
|
-
getAttribute(selector, attribute) {
|
|
30
|
-
throw new Error("Method not implemented.");
|
|
31
|
-
}
|
|
32
|
-
getValue(selector) {
|
|
33
|
-
throw new Error("Method not implemented.");
|
|
34
|
-
}
|
|
35
|
-
focusOn(selector) {
|
|
36
|
-
throw new Error("Method not implemented.");
|
|
37
|
-
}
|
|
38
|
-
typeInto(value) {
|
|
39
|
-
throw new Error("Method not implemented.");
|
|
40
|
-
}
|
|
41
|
-
page() {
|
|
42
|
-
return globalThis["page"]();
|
|
43
|
-
}
|
|
44
|
-
click(selector) {
|
|
45
|
-
return globalThis["click"](selector);
|
|
46
|
-
}
|
|
47
|
-
screencast(opts, page) {
|
|
48
|
-
return globalThis["screencast"](Object.assign(Object.assign({}, opts), { path: this.testResourceConfiguration.fs + "/" + opts.path }), page.mainFrame()._id, this.testResourceConfiguration.name);
|
|
49
|
-
}
|
|
50
|
-
screencastStop(p) {
|
|
51
|
-
return globalThis["screencastStop"](p);
|
|
52
|
-
}
|
|
53
|
-
customScreenShot(opts, cdpPage) {
|
|
54
|
-
return globalThis["customScreenShot"](Object.assign(Object.assign({}, opts), { path: this.testResourceConfiguration.fs + "/" + opts.path }), cdpPage.mainFrame()._id, this.testResourceConfiguration.name);
|
|
55
|
-
}
|
|
56
|
-
existsSync(destFolder) {
|
|
57
|
-
return globalThis["existsSync"](this.testResourceConfiguration.fs + "/" + destFolder);
|
|
58
|
-
}
|
|
59
|
-
mkdirSync() {
|
|
60
|
-
return globalThis["mkdirSync"](this.testResourceConfiguration.fs + "/");
|
|
61
|
-
}
|
|
62
|
-
write(writeObject, contents) {
|
|
63
|
-
return globalThis["write"](writeObject.uid, contents);
|
|
64
|
-
}
|
|
65
|
-
writeFileSync(filepath, contents) {
|
|
66
|
-
return globalThis["writeFileSync"](this.testResourceConfiguration.fs + "/" + filepath, contents, this.testResourceConfiguration.name);
|
|
67
|
-
}
|
|
68
|
-
createWriteStream(filepath) {
|
|
69
|
-
return globalThis["createWriteStream"](this.testResourceConfiguration.fs + "/" + filepath, this.testResourceConfiguration.name);
|
|
70
|
-
}
|
|
71
|
-
end(writeObject) {
|
|
72
|
-
return globalThis["end"](writeObject.uid);
|
|
73
|
-
}
|
|
74
|
-
customclose() {
|
|
75
|
-
globalThis["customclose"](this.testResourceConfiguration.fs, this.testResourceConfiguration.name);
|
|
76
|
-
}
|
|
77
|
-
testArtiFactoryfileWriter(tLog, callback) {
|
|
78
|
-
return (fPath, value) => {
|
|
79
|
-
callback(new Promise((res, rej) => {
|
|
80
|
-
tLog("testArtiFactory =>", fPath);
|
|
81
|
-
const cleanPath = path.resolve(fPath);
|
|
82
|
-
fPaths.push(cleanPath.replace(process.cwd(), ``));
|
|
83
|
-
const targetDir = cleanPath.split("/").slice(0, -1).join("/");
|
|
84
|
-
fs.mkdir(targetDir, { recursive: true }, async (error) => {
|
|
85
|
-
if (error) {
|
|
86
|
-
console.error(`❗️testArtiFactory failed`, targetDir, error);
|
|
87
|
-
}
|
|
88
|
-
fs.writeFileSync(path.resolve(targetDir.split("/").slice(0, -1).join("/"), "manifest"), fPaths.join(`\n`), {
|
|
89
|
-
encoding: "utf-8",
|
|
90
|
-
});
|
|
91
|
-
if (Buffer.isBuffer(value)) {
|
|
92
|
-
fs.writeFileSync(fPath, value, "binary");
|
|
93
|
-
res();
|
|
94
|
-
}
|
|
95
|
-
else if (`string` === typeof value) {
|
|
96
|
-
fs.writeFileSync(fPath, value.toString(), {
|
|
97
|
-
encoding: "utf-8",
|
|
98
|
-
});
|
|
99
|
-
res();
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
/* @ts-ignore:next-line */
|
|
103
|
-
const pipeStream = value;
|
|
104
|
-
const myFile = fs.createWriteStream(fPath);
|
|
105
|
-
pipeStream.pipe(myFile);
|
|
106
|
-
pipeStream.on("close", () => {
|
|
107
|
-
myFile.close();
|
|
108
|
-
res();
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
}));
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
// launch(options?: PuppeteerLaunchOptions): Promise<Browser>;
|
|
116
|
-
startPuppeteer(options) {
|
|
117
|
-
// return puppeteer.connect(options).then((b) => {
|
|
118
|
-
// this.browser = b;
|
|
119
|
-
// });
|
|
120
|
-
}
|
|
121
|
-
}
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { PM } from "./index.js";
|
|
2
|
-
export class PM_Web extends PM {
|
|
3
|
-
constructor(t) {
|
|
4
|
-
super();
|
|
5
|
-
this.server = {};
|
|
6
|
-
this.testResourceConfiguration = t;
|
|
7
|
-
}
|
|
8
|
-
waitForSelector(p, s) {
|
|
9
|
-
return window["waitForSelector"](p, s);
|
|
10
|
-
}
|
|
11
|
-
screencast(opts) {
|
|
12
|
-
return window["screencast"](Object.assign(Object.assign({}, opts), { path: this.testResourceConfiguration.fs + "/" + opts.path }), this.testResourceConfiguration.name);
|
|
13
|
-
}
|
|
14
|
-
screencastStop(recorder) {
|
|
15
|
-
return window["screencastStop"](recorder);
|
|
16
|
-
}
|
|
17
|
-
closePage(p) {
|
|
18
|
-
return window["closePage"](p);
|
|
19
|
-
}
|
|
20
|
-
goto(p, url) {
|
|
21
|
-
return window["goto"](p, url);
|
|
22
|
-
}
|
|
23
|
-
newPage() {
|
|
24
|
-
return window["newPage"]();
|
|
25
|
-
}
|
|
26
|
-
$(selector) {
|
|
27
|
-
return window["$"](selector);
|
|
28
|
-
}
|
|
29
|
-
isDisabled(selector) {
|
|
30
|
-
return window["isDisabled"](selector);
|
|
31
|
-
}
|
|
32
|
-
getAttribute(selector, attribute) {
|
|
33
|
-
return window["getValue"](selector, attribute);
|
|
34
|
-
}
|
|
35
|
-
getValue(selector) {
|
|
36
|
-
return window["getValue"](selector);
|
|
37
|
-
}
|
|
38
|
-
focusOn(selector) {
|
|
39
|
-
return window["focusOn"](selector);
|
|
40
|
-
}
|
|
41
|
-
typeInto(value) {
|
|
42
|
-
return window["typeInto"](value);
|
|
43
|
-
}
|
|
44
|
-
page() {
|
|
45
|
-
return window["page"]();
|
|
46
|
-
}
|
|
47
|
-
click(selector) {
|
|
48
|
-
return window["click"](selector);
|
|
49
|
-
}
|
|
50
|
-
customScreenShot(opts) {
|
|
51
|
-
return window["customScreenShot"](Object.assign(Object.assign({}, opts), { path: this.testResourceConfiguration.fs + "/" + opts.path }), this.testResourceConfiguration.name);
|
|
52
|
-
}
|
|
53
|
-
existsSync(destFolder) {
|
|
54
|
-
return window["existsSync"](destFolder);
|
|
55
|
-
}
|
|
56
|
-
mkdirSync(x) {
|
|
57
|
-
return window["mkdirSync"](this.testResourceConfiguration.fs + "/");
|
|
58
|
-
}
|
|
59
|
-
write(writeObject, contents) {
|
|
60
|
-
return window["write"](writeObject.uid, contents);
|
|
61
|
-
}
|
|
62
|
-
writeFileSync(filepath, contents) {
|
|
63
|
-
return window["writeFileSync"](this.testResourceConfiguration.fs + "/" + filepath, contents, this.testResourceConfiguration.name);
|
|
64
|
-
}
|
|
65
|
-
createWriteStream(filepath) {
|
|
66
|
-
return window["createWriteStream"](this.testResourceConfiguration.fs + "/" + filepath, this.testResourceConfiguration.name);
|
|
67
|
-
}
|
|
68
|
-
end(writeObject) {
|
|
69
|
-
return window["end"](writeObject.uid);
|
|
70
|
-
}
|
|
71
|
-
customclose() {
|
|
72
|
-
window["customclose"](this.testResourceConfiguration.fs, this.testResourceConfiguration.name);
|
|
73
|
-
}
|
|
74
|
-
testArtiFactoryfileWriter(tLog, callback) {
|
|
75
|
-
return (fPath, value) => {
|
|
76
|
-
callback(new Promise((res, rej) => {
|
|
77
|
-
tLog("testArtiFactory =>", fPath);
|
|
78
|
-
// const cleanPath = path.resolve(fPath);
|
|
79
|
-
// fPaths.push(cleanPath.replace(process.cwd(), ``));
|
|
80
|
-
// const targetDir = cleanPath.split("/").slice(0, -1).join("/");
|
|
81
|
-
// fs.mkdir(targetDir, { recursive: true }, async (error) => {
|
|
82
|
-
// if (error) {
|
|
83
|
-
// console.error(`❗️testArtiFactory failed`, targetDir, error);
|
|
84
|
-
// }
|
|
85
|
-
// fs.writeFileSync(
|
|
86
|
-
// path.resolve(
|
|
87
|
-
// targetDir.split("/").slice(0, -1).join("/"),
|
|
88
|
-
// "manifest"
|
|
89
|
-
// ),
|
|
90
|
-
// fPaths.join(`\n`),
|
|
91
|
-
// {
|
|
92
|
-
// encoding: "utf-8",
|
|
93
|
-
// }
|
|
94
|
-
// );
|
|
95
|
-
// if (Buffer.isBuffer(value)) {
|
|
96
|
-
// fs.writeFileSync(fPath, value, "binary");
|
|
97
|
-
// res();
|
|
98
|
-
// } else if (`string` === typeof value) {
|
|
99
|
-
// fs.writeFileSync(fPath, value.toString(), {
|
|
100
|
-
// encoding: "utf-8",
|
|
101
|
-
// });
|
|
102
|
-
// res();
|
|
103
|
-
// } else {
|
|
104
|
-
// /* @ts-ignore:next-line */
|
|
105
|
-
// const pipeStream: PassThrough = value;
|
|
106
|
-
// const myFile = fs.createWriteStream(fPath);
|
|
107
|
-
// pipeStream.pipe(myFile);
|
|
108
|
-
// pipeStream.on("close", () => {
|
|
109
|
-
// myFile.close();
|
|
110
|
-
// res();
|
|
111
|
-
// });
|
|
112
|
-
// }
|
|
113
|
-
// });
|
|
114
|
-
}));
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import Testeranto from "../Node.js";
|
|
3
|
-
export default (testInput, testSpecifications, testImplementations, testInterface) => {
|
|
4
|
-
return Testeranto(testInput, testSpecifications, testImplementations, Object.assign({ beforeAll: (x) => {
|
|
5
|
-
// process.parentPort.postMessage(
|
|
6
|
-
// `/docs/web/src/ClassicalComponent/test.html`
|
|
7
|
-
// );
|
|
8
|
-
return x;
|
|
9
|
-
}, beforeEach: async () => {
|
|
10
|
-
return new Promise((resolve, rej) => {
|
|
11
|
-
resolve(React.createElement(testInput, {}, []));
|
|
12
|
-
});
|
|
13
|
-
}, andWhen: function (s, whenCB) {
|
|
14
|
-
return whenCB()(s);
|
|
15
|
-
} }, testInterface));
|
|
16
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import Testeranto from "../../../Node.js";
|
|
3
|
-
export default (testImplementations, testSpecifications, testInput) => {
|
|
4
|
-
return Testeranto(testInput, testSpecifications, testImplementations, {
|
|
5
|
-
beforeEach: async () => {
|
|
6
|
-
return new Promise((resolve, rej) => {
|
|
7
|
-
resolve(React.createElement(testInput, {}, []));
|
|
8
|
-
});
|
|
9
|
-
},
|
|
10
|
-
andWhen: function (s, whenCB) {
|
|
11
|
-
return whenCB()(s);
|
|
12
|
-
},
|
|
13
|
-
});
|
|
14
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import Testeranto from "../../../Web.js";
|
|
3
|
-
export default (testImplementations, testSpecifications, testInput) => {
|
|
4
|
-
return Testeranto(testInput, testSpecifications, testImplementations, {
|
|
5
|
-
beforeEach: async () => {
|
|
6
|
-
return new Promise((resolve, rej) => {
|
|
7
|
-
resolve(React.createElement(testInput, {}, []));
|
|
8
|
-
});
|
|
9
|
-
},
|
|
10
|
-
andWhen: function (s, whenCB) {
|
|
11
|
-
return whenCB()(s);
|
|
12
|
-
},
|
|
13
|
-
});
|
|
14
|
-
};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
export const testInterface = {
|
|
3
|
-
// beforeAll: async (proto, testResource, artificer, pm): Promise<IStore> => {
|
|
4
|
-
// return React.createElement(proto);
|
|
5
|
-
// // return new Promise((resolve, rej) => {
|
|
6
|
-
// // resolve(x());
|
|
7
|
-
// // });
|
|
8
|
-
// },
|
|
9
|
-
// beforeEach: async (subject, initializer, artificer): Promise<IStore> => {
|
|
10
|
-
// return new Promise((resolve, rej) => {
|
|
11
|
-
// resolve(React.createElement(subject));
|
|
12
|
-
// });
|
|
13
|
-
// },
|
|
14
|
-
andWhen: async (s, whenCB) => {
|
|
15
|
-
await whenCB(s());
|
|
16
|
-
return new Promise((resolve, rej) => {
|
|
17
|
-
resolve(React.createElement(s));
|
|
18
|
-
});
|
|
19
|
-
// return whenCB(s);
|
|
20
|
-
},
|
|
21
|
-
butThen: async (subject, thenCB) => {
|
|
22
|
-
await thenCB(subject());
|
|
23
|
-
return new Promise((resolve, rej) => {
|
|
24
|
-
resolve(React.createElement(subject));
|
|
25
|
-
});
|
|
26
|
-
},
|
|
27
|
-
};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import Testeranto from "../../../Node.js";
|
|
2
|
-
import { testInterface as baseInterface, } from "./index.js";
|
|
3
|
-
export default (testImplementations, testSpecifications, testInput, testInterface = baseInterface) => {
|
|
4
|
-
return Testeranto(testInput, testSpecifications, testImplementations, testInterface);
|
|
5
|
-
};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import Testeranto from "../../../Web.js";
|
|
2
|
-
import { testInterface as baseInterface, } from "./index.js";
|
|
3
|
-
export default (testImplementations, testSpecifications, testInput, testInterface) => {
|
|
4
|
-
return Testeranto(testInput, testSpecifications, testImplementations, Object.assign(Object.assign({}, baseInterface), testInterface));
|
|
5
|
-
};
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
2
|
-
import { renderToStaticMarkup, renderToStaticNodeStream, } from "react-dom/server";
|
|
3
|
-
import Stream from "stream";
|
|
4
|
-
import Testeranto from "../../../Node.js";
|
|
5
|
-
export { renderToStaticMarkup, renderToStaticNodeStream, Stream };
|
|
6
|
-
export default (testImplementations, testSpecifications, testInput) => {
|
|
7
|
-
return Testeranto(testInput, testSpecifications, testImplementations, {
|
|
8
|
-
// beforeAll: async (
|
|
9
|
-
// prototype,
|
|
10
|
-
// artificer
|
|
11
|
-
// ): Promise<ISubject> => {
|
|
12
|
-
// return await new Promise((resolve, rej) => {
|
|
13
|
-
// const elem = document.getElementById("root");
|
|
14
|
-
// if (elem) {
|
|
15
|
-
// resolve({ htmlElement: elem });
|
|
16
|
-
// }
|
|
17
|
-
// })
|
|
18
|
-
// },
|
|
19
|
-
beforeEach: async (reactComponent, ndx, testRsource, artificer) => {
|
|
20
|
-
return new Promise((resolve, rej) => {
|
|
21
|
-
// Ignore these type errors
|
|
22
|
-
resolve(createElement(testInput));
|
|
23
|
-
});
|
|
24
|
-
},
|
|
25
|
-
andWhen: async function (s, whenCB) {
|
|
26
|
-
return whenCB(s);
|
|
27
|
-
// return s
|
|
28
|
-
},
|
|
29
|
-
butThen: async function (s) {
|
|
30
|
-
return s;
|
|
31
|
-
},
|
|
32
|
-
afterEach: async function (store, ndx, artificer) {
|
|
33
|
-
return {};
|
|
34
|
-
},
|
|
35
|
-
afterAll: (store, artificer) => {
|
|
36
|
-
return;
|
|
37
|
-
},
|
|
38
|
-
});
|
|
39
|
-
};
|
|
40
|
-
// type IInput = typeof React.Component;
|
|
41
|
-
// type InitialState = unknown;
|
|
42
|
-
// type IWhenShape = any;
|
|
43
|
-
// type IThenShape = any;
|
|
44
|
-
// type ISelection = string;
|
|
45
|
-
// type IStore = string;
|
|
46
|
-
// type ISubject = string
|
|
47
|
-
// export default <ITestShape extends ITTestShape>(
|
|
48
|
-
// testImplementations: ITestImplementation<
|
|
49
|
-
// InitialState,
|
|
50
|
-
// ISelection,
|
|
51
|
-
// IWhenShape,
|
|
52
|
-
// IThenShape,
|
|
53
|
-
// ITestShape
|
|
54
|
-
// >,
|
|
55
|
-
// testSpecifications: ITestSpecification<
|
|
56
|
-
// ITestShape,
|
|
57
|
-
// ISubject,
|
|
58
|
-
// IStore,
|
|
59
|
-
// ISelection,
|
|
60
|
-
// IThenShape
|
|
61
|
-
// >,
|
|
62
|
-
// testInput: IInput
|
|
63
|
-
// ) => {
|
|
64
|
-
// return Testeranto<
|
|
65
|
-
// ITestShape,
|
|
66
|
-
// IInput,
|
|
67
|
-
// ISubject,
|
|
68
|
-
// IStore,
|
|
69
|
-
// ISelection,
|
|
70
|
-
// IThenShape,
|
|
71
|
-
// IWhenShape,
|
|
72
|
-
// InitialState
|
|
73
|
-
// >(
|
|
74
|
-
// testInput,
|
|
75
|
-
// testSpecifications,
|
|
76
|
-
// testImplementations,
|
|
77
|
-
// {
|
|
78
|
-
// beforeEach: async (
|
|
79
|
-
// element,
|
|
80
|
-
// ndx,
|
|
81
|
-
// testResource,
|
|
82
|
-
// artificer
|
|
83
|
-
// ): Promise<IStore> => {
|
|
84
|
-
// return new Promise((resolve, rej) => {
|
|
85
|
-
// resolve(ReactDOMServer.renderToStaticMarkup(element));
|
|
86
|
-
// });
|
|
87
|
-
// },
|
|
88
|
-
// andWhen: function (s: IStore, whenCB): Promise<ISelection> {
|
|
89
|
-
// throw new Error(`"andWhens" are not permitted`);
|
|
90
|
-
// }
|
|
91
|
-
// },
|
|
92
|
-
// )
|
|
93
|
-
// };
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
2
|
-
import ReactDom from "react-dom/client";
|
|
3
|
-
import Testeranto from "../../../Web.js";
|
|
4
|
-
export default (testInput, testSpecifications, testImplementations, testInterface) => {
|
|
5
|
-
class TesterantoComponent extends testInput {
|
|
6
|
-
constructor(props) {
|
|
7
|
-
super(props);
|
|
8
|
-
this.done = props.done;
|
|
9
|
-
}
|
|
10
|
-
componentDidMount() {
|
|
11
|
-
super.componentDidMount && super.componentDidMount();
|
|
12
|
-
return this.done(this);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
const t = Testeranto(testInput, testSpecifications, testImplementations, {
|
|
16
|
-
beforeAll: async (subject, artificer) => {
|
|
17
|
-
return await new Promise((resolve, rej) => {
|
|
18
|
-
const htmlElement = document.getElementById("root");
|
|
19
|
-
if (htmlElement) {
|
|
20
|
-
const domRoot = ReactDom.createRoot(htmlElement);
|
|
21
|
-
resolve({ domRoot, htmlElement });
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
},
|
|
25
|
-
beforeEach: async ({ domRoot, htmlElement }, initialValues, testResource, artificer) => {
|
|
26
|
-
return new Promise(async (resolve, rej) => {
|
|
27
|
-
domRoot.render(createElement(TesterantoComponent, Object.assign(Object.assign({}, initialValues), { done: (reactElement) => {
|
|
28
|
-
resolve({
|
|
29
|
-
htmlElement,
|
|
30
|
-
reactElement,
|
|
31
|
-
domRoot,
|
|
32
|
-
});
|
|
33
|
-
} }), []));
|
|
34
|
-
});
|
|
35
|
-
},
|
|
36
|
-
andWhen: function (s, whenCB) {
|
|
37
|
-
return whenCB(s);
|
|
38
|
-
},
|
|
39
|
-
butThen: async function (s, thenCB) {
|
|
40
|
-
return thenCB(s);
|
|
41
|
-
},
|
|
42
|
-
afterEach: (testInterface === null || testInterface === void 0 ? void 0 : testInterface.afterEach) ||
|
|
43
|
-
async function (store, ndx, artificer, utils) {
|
|
44
|
-
return store;
|
|
45
|
-
},
|
|
46
|
-
afterAll: async (store, artificer, utils) => {
|
|
47
|
-
// setTimeout(() => {
|
|
48
|
-
// console.log("This will run after 1 second");
|
|
49
|
-
// }, 1000); // 1000 milliseconds = 1 second
|
|
50
|
-
// store.htmlElement.remove();
|
|
51
|
-
// store.htmlElement = document.createElement("root");
|
|
52
|
-
return store;
|
|
53
|
-
},
|
|
54
|
-
});
|
|
55
|
-
document.addEventListener("DOMContentLoaded", function () {
|
|
56
|
-
const elem = document.getElementById("root");
|
|
57
|
-
if (elem) {
|
|
58
|
-
return t;
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
return t;
|
|
62
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
2
|
-
import { renderToStaticMarkup, renderToStaticNodeStream } from "react-dom/server";
|
|
3
|
-
import Stream from 'stream';
|
|
4
|
-
import Testeranto from "../../../Node.js";
|
|
5
|
-
export { renderToStaticMarkup, renderToStaticNodeStream, Stream };
|
|
6
|
-
export default (testImplementations, testSpecifications, testInput) => {
|
|
7
|
-
return Testeranto(testInput, testSpecifications, testImplementations, {
|
|
8
|
-
beforeAll: async (prototype, artificer) => {
|
|
9
|
-
return await new Promise((resolve, rej) => {
|
|
10
|
-
resolve(null);
|
|
11
|
-
});
|
|
12
|
-
},
|
|
13
|
-
beforeEach: async (reactComponent, ndx, testRsource, artificer) => {
|
|
14
|
-
return new Promise((resolve, rej) => {
|
|
15
|
-
resolve(createElement(testInput));
|
|
16
|
-
});
|
|
17
|
-
},
|
|
18
|
-
andWhen: async function (s, whenCB) {
|
|
19
|
-
return s;
|
|
20
|
-
},
|
|
21
|
-
butThen: async function (s) {
|
|
22
|
-
return s;
|
|
23
|
-
},
|
|
24
|
-
afterEach: async function (store, ndx, artificer) {
|
|
25
|
-
return {};
|
|
26
|
-
},
|
|
27
|
-
afterAll: (store, artificer) => {
|
|
28
|
-
return;
|
|
29
|
-
},
|
|
30
|
-
});
|
|
31
|
-
};
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import React, { useEffect, useRef } from "react";
|
|
2
|
-
import { createElement } from "react";
|
|
3
|
-
import ReactDom from "react-dom";
|
|
4
|
-
import Testeranto from "../../../Web.js";
|
|
5
|
-
const TesterantoComponent = ({ done, innerComp, }) => {
|
|
6
|
-
const myContainer = useRef(null);
|
|
7
|
-
useEffect(() => {
|
|
8
|
-
console.log("useEffect called!", myContainer.current);
|
|
9
|
-
done(myContainer.current);
|
|
10
|
-
}, []);
|
|
11
|
-
return React.createElement("div", { ref: myContainer }, innerComp());
|
|
12
|
-
};
|
|
13
|
-
export default (testImplementations, testSpecifications, testInput) => {
|
|
14
|
-
const t = Testeranto(testInput, testSpecifications, testImplementations, {
|
|
15
|
-
beforeAll: async (reactElement, itr) => {
|
|
16
|
-
return await new Promise((resolve, rej) => {
|
|
17
|
-
const htmlElement = document.getElementById("root");
|
|
18
|
-
if (htmlElement) {
|
|
19
|
-
const domRoot = ReactDom.createRoot(htmlElement);
|
|
20
|
-
domRoot.render(createElement(TesterantoComponent, {
|
|
21
|
-
// ...initialProps,
|
|
22
|
-
innerComp: reactElement,
|
|
23
|
-
done: (reactElement) => {
|
|
24
|
-
resolve({
|
|
25
|
-
htmlElement,
|
|
26
|
-
reactElement,
|
|
27
|
-
domRoot,
|
|
28
|
-
});
|
|
29
|
-
},
|
|
30
|
-
}, []));
|
|
31
|
-
// resolve({ htmlElement });
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
},
|
|
35
|
-
beforeEach: async (subject, initializer, artificer, testResource, pm) => {
|
|
36
|
-
return new Promise((resolve, rej) => {
|
|
37
|
-
resolve(subject);
|
|
38
|
-
// const tc = TesterantoComponent({
|
|
39
|
-
// innerComp: () =>
|
|
40
|
-
// testInput({
|
|
41
|
-
// port: 3003,
|
|
42
|
-
// address: "some-address",
|
|
43
|
-
// secretKey: "someSecretKey",
|
|
44
|
-
// abi: "foo",
|
|
45
|
-
// }),
|
|
46
|
-
// done: (reactElement: any) => {
|
|
47
|
-
// console.log("mark9");
|
|
48
|
-
// resolve(reactElement);
|
|
49
|
-
// // process.nextTick(() => {
|
|
50
|
-
// // resolve(reactElement);
|
|
51
|
-
// // });
|
|
52
|
-
// },
|
|
53
|
-
// });
|
|
54
|
-
// console.log("mark9", tc);
|
|
55
|
-
// createPortal(tc, subject.domRoot);
|
|
56
|
-
});
|
|
57
|
-
},
|
|
58
|
-
andWhen: function (s, whenCB, tr, utils) {
|
|
59
|
-
return whenCB(s, utils);
|
|
60
|
-
// return new Promise(async (resolve, rej) => {
|
|
61
|
-
// // resolve(await whenCB(s, utils));
|
|
62
|
-
// // process.nextTick(() => {
|
|
63
|
-
// // resolve(whenCB()(s));
|
|
64
|
-
// // });
|
|
65
|
-
// });
|
|
66
|
-
},
|
|
67
|
-
butThen: async function (s, thenCB, tr, utils) {
|
|
68
|
-
return new Promise((resolve, rej) => {
|
|
69
|
-
resolve(thenCB(s, utils));
|
|
70
|
-
});
|
|
71
|
-
},
|
|
72
|
-
afterEach: async function (store, ndx, artificer) {
|
|
73
|
-
return new Promise((resolve, rej) => {
|
|
74
|
-
resolve({});
|
|
75
|
-
});
|
|
76
|
-
},
|
|
77
|
-
afterAll: (store, artificer) => {
|
|
78
|
-
return new Promise((resolve, rej) => {
|
|
79
|
-
resolve({});
|
|
80
|
-
});
|
|
81
|
-
},
|
|
82
|
-
});
|
|
83
|
-
document.addEventListener("DOMContentLoaded", function () {
|
|
84
|
-
const rootElement = document.getElementById("root");
|
|
85
|
-
if (rootElement) {
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
return t;
|
|
89
|
-
};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import renderer, { act } from "react-test-renderer";
|
|
3
|
-
import test from "../../../Node";
|
|
4
|
-
export default (testImplementations, testSpecifications, testInput) => test(testInput, testSpecifications, testImplementations, {
|
|
5
|
-
beforeEach: function (CComponent, props) {
|
|
6
|
-
let component;
|
|
7
|
-
act(() => {
|
|
8
|
-
component = renderer.create(React.createElement(CComponent, props, []));
|
|
9
|
-
});
|
|
10
|
-
return component;
|
|
11
|
-
},
|
|
12
|
-
andWhen: async function (renderer, whenCB) {
|
|
13
|
-
await act(() => whenCB()(renderer));
|
|
14
|
-
return renderer;
|
|
15
|
-
},
|
|
16
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import renderer, { act } from "react-test-renderer";
|
|
3
|
-
export const testInterface = {
|
|
4
|
-
beforeEach: function (CComponent, propsAndChildren) {
|
|
5
|
-
function Link(proper) {
|
|
6
|
-
return React.createElement(CComponent, proper(), []);
|
|
7
|
-
}
|
|
8
|
-
return new Promise((res, rej) => {
|
|
9
|
-
act(async () => {
|
|
10
|
-
const testRenderer = await renderer.create(Link(propsAndChildren));
|
|
11
|
-
res(testRenderer);
|
|
12
|
-
});
|
|
13
|
-
});
|
|
14
|
-
},
|
|
15
|
-
andWhen: async function (renderer, whenCB) {
|
|
16
|
-
await act(() => whenCB(renderer));
|
|
17
|
-
return renderer;
|
|
18
|
-
},
|
|
19
|
-
// andWhen: function (s: Store, whenCB): Promise<Selection> {
|
|
20
|
-
// return whenCB()(s);
|
|
21
|
-
// },
|
|
22
|
-
butThen: async function (s, thenCB, tr) {
|
|
23
|
-
return thenCB(s);
|
|
24
|
-
},
|
|
25
|
-
afterEach: async function (store, ndx, artificer) {
|
|
26
|
-
return {};
|
|
27
|
-
},
|
|
28
|
-
afterAll: (store, artificer) => {
|
|
29
|
-
return;
|
|
30
|
-
},
|
|
31
|
-
};
|