testeranto 0.171.0 → 0.173.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.
Files changed (195) hide show
  1. package/README.md +2 -4
  2. package/dist/common/src/PM/base.js +4 -0
  3. package/dist/common/src/PM/main.js +11 -4
  4. package/dist/common/src/PM/node.js +1 -1
  5. package/dist/common/src/PM/web.js +3 -3
  6. package/dist/common/src/ReportServer.js +2 -126
  7. package/dist/common/src/ReportServer.test.ts/index.js +78 -0
  8. package/dist/common/src/ReportServerLib.js +135 -0
  9. package/dist/common/src/components/pure/ProjectPageView.test/implementation.js +1 -1
  10. package/dist/common/src/lib/abstractBase.js +2 -0
  11. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +10 -9
  12. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.specification.js +7 -7
  13. package/dist/common/src/lib/basebuilder.js +8 -2
  14. package/dist/common/src/lib/pmProxy.js +54 -150
  15. package/dist/common/testeranto.config.js +35 -20
  16. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  17. package/dist/module/src/PM/base.js +4 -0
  18. package/dist/module/src/PM/main.js +11 -4
  19. package/dist/module/src/PM/node.js +1 -1
  20. package/dist/module/src/PM/web.js +3 -3
  21. package/dist/module/src/ReportServer.js +2 -123
  22. package/dist/module/src/ReportServer.test.ts/index.js +73 -0
  23. package/dist/module/src/ReportServerLib.js +128 -0
  24. package/dist/module/src/TestPage.js +29 -17
  25. package/dist/module/src/components/pure/ProjectPageView.test/implementation.js +1 -1
  26. package/dist/module/src/components/pure/TestPageView.js +29 -17
  27. package/dist/module/src/lib/abstractBase.js +2 -0
  28. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +10 -9
  29. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.specification.js +7 -7
  30. package/dist/module/src/lib/basebuilder.js +8 -2
  31. package/dist/module/src/lib/pmProxy.js +54 -150
  32. package/dist/module/testeranto.config.js +35 -20
  33. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  34. package/dist/prebuild/App.css +13 -9
  35. package/dist/prebuild/App.js +102 -99
  36. package/dist/prebuild/ReportServer.mjs +15 -9
  37. package/dist/prebuild/run.mjs +14 -4
  38. package/dist/types/src/PM/node.d.ts +1 -1
  39. package/dist/types/src/PM/web.d.ts +1 -1
  40. package/dist/types/src/ReportServer.test.ts/index.d.ts +29 -0
  41. package/dist/types/src/ReportServerLib.d.ts +2 -0
  42. package/dist/types/src/Types.d.ts +0 -1
  43. package/dist/types/src/components/pure/ProjectPageView.test/index.d.ts +1 -1
  44. package/dist/types/src/lib/abstractBase.d.ts +1 -1
  45. package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.types.d.ts +7 -4
  46. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  47. package/package.json +6 -5
  48. package/src/PM/base.ts +5 -0
  49. package/src/PM/main.ts +12 -4
  50. package/src/PM/node.ts +1 -1
  51. package/src/PM/web.ts +3 -3
  52. package/src/ReportServer.test.ts/index.ts +194 -0
  53. package/src/ReportServer.ts +2 -132
  54. package/src/ReportServerLib.ts +144 -0
  55. package/src/TestPage.tsx +65 -5
  56. package/src/Types.ts +0 -1
  57. package/src/components/pure/ProjectPageView.test/implementation.tsx +1 -1
  58. package/src/components/pure/TestPageView.tsx +65 -5
  59. package/src/lib/abstractBase.ts +4 -1
  60. package/src/lib/baseBuilder.test/baseBuilder.test.implementation.ts +22 -10
  61. package/src/lib/baseBuilder.test/baseBuilder.test.specification.ts +9 -9
  62. package/src/lib/baseBuilder.test/baseBuilder.test.types.ts +7 -4
  63. package/src/lib/basebuilder.ts +7 -4
  64. package/src/lib/pmProxy.ts +78 -155
  65. package/testeranto/App.css +13 -9
  66. package/testeranto/App.js +102 -99
  67. package/testeranto/bundles/node/allTests/metafile.json +38 -781
  68. package/testeranto/bundles/node/allTests/src/lib/baseBuilder.test/baseBuilder.test.node.mjs +983 -24
  69. package/testeranto/bundles/node/core/metafile.json +486 -0
  70. package/testeranto/bundles/{pure/allTests/chunk-VMUSFSZM.mjs → node/core/src/lib/baseBuilder.test/baseBuilder.test.node.mjs} +797 -412
  71. package/testeranto/bundles/node/staticSite/metafile.json +593 -0
  72. package/testeranto/bundles/node/staticSite/src/ReportServer.test.ts/index.mjs +1594 -0
  73. package/testeranto/bundles/pure/allTests/metafile.json +157 -585
  74. package/testeranto/bundles/pure/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure.mjs +740 -27
  75. package/testeranto/bundles/pure/core/metafile.json +626 -0
  76. package/testeranto/bundles/{web/allTests/chunk-U7AW26HL.mjs → pure/core/src/lib/baseBuilder.test/baseBuilder.test.pure.mjs} +507 -410
  77. package/testeranto/bundles/pure/staticSite/metafile.json +8 -0
  78. package/testeranto/bundles/web/allTests/metafile.json +107 -15292
  79. package/testeranto/bundles/web/allTests/src/lib/baseBuilder.test/baseBuilder.test.web.mjs +893 -45
  80. package/testeranto/bundles/web/core/metafile.json +780 -0
  81. package/testeranto/bundles/web/core/src/lib/baseBuilder.test/baseBuilder.test.web.html +19 -0
  82. package/testeranto/bundles/web/{allTests/chunk-RLDR6LJN.mjs → core/src/lib/baseBuilder.test/baseBuilder.test.web.mjs} +580 -518
  83. package/testeranto/bundles/web/staticSite/metafile.json +8 -0
  84. package/testeranto/projects.json +2 -1
  85. package/testeranto/reports/allTests/config.json +0 -64
  86. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/lint_errors.txt +2 -0
  87. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/logs.txt +11 -13
  88. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/prompt.txt +10 -0
  89. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/suite-0/given-testInitialization/then-0/butThen/hello.txt +1 -0
  90. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/tests.json +10 -18
  91. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/type_errors.txt +25 -13
  92. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/lint_errors.txt +2 -0
  93. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/prompt.txt +8 -0
  94. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/type_errors.txt +24 -12
  95. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/lint_errors.txt +2 -0
  96. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/logs.txt +49 -55
  97. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/prompt.txt +12 -2
  98. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/suite-0/given-testInitialization/then-0/butThen/hello.txt +1 -0
  99. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/tests.json +10 -18
  100. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/type_errors.txt +24 -12
  101. package/testeranto/reports/allTests/summary.json +6 -62
  102. package/testeranto/reports/core/config.json +24 -0
  103. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/lint_errors.txt +2 -0
  104. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/logs.txt +32 -0
  105. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/message.txt +2 -0
  106. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/prompt.txt +26 -0
  107. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/suite-0/given-testInitialization/then-0/butThen/hello.txt +1 -0
  108. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/tests.json +69 -0
  109. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/type_errors.txt +74 -0
  110. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/lint_errors.txt +2 -0
  111. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/message.txt +2 -0
  112. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/prompt.txt +26 -0
  113. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/type_errors.txt +74 -0
  114. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/lint_errors.txt +2 -0
  115. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/logs.txt +61 -0
  116. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/message.txt +2 -0
  117. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/prompt.txt +26 -0
  118. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/suite-0/given-testInitialization/then-0/butThen/hello.txt +1 -0
  119. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/tests.json +69 -0
  120. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/type_errors.txt +74 -0
  121. package/testeranto/reports/core/summary.json +23 -0
  122. package/testeranto/reports/staticSite/config.json +24 -0
  123. package/testeranto/reports/staticSite/src/ReportServer.test.ts/index/node/lint_errors.txt +5 -0
  124. package/testeranto/reports/staticSite/src/ReportServer.test.ts/index/node/logs.txt +44 -0
  125. package/testeranto/reports/staticSite/src/ReportServer.test.ts/index/node/message.txt +2 -0
  126. package/testeranto/reports/staticSite/src/ReportServer.test.ts/index/node/prompt.txt +23 -0
  127. package/testeranto/reports/{allTests/src/lib/core.test/core.test → staticSite/src/ReportServer.test.ts/index}/node/type_errors.txt +21 -32
  128. package/testeranto/reports/staticSite/summary.json +9 -0
  129. package/testeranto/reportsnode_build_errors +17 -0
  130. package/testeranto.config.ts +37 -20
  131. package/testeranto/bundles/node/allTests/chunk-3EUGBAOM.mjs +0 -113
  132. package/testeranto/bundles/node/allTests/chunk-E75CSRER.mjs +0 -800
  133. package/testeranto/bundles/node/allTests/chunk-M6DO7VMB.mjs +0 -252
  134. package/testeranto/bundles/node/allTests/src/lib/BaseSuite.test/node.test.mjs +0 -323
  135. package/testeranto/bundles/node/allTests/src/lib/classBuilder.test/classBuilder.test.mjs +0 -411
  136. package/testeranto/bundles/node/allTests/src/lib/core.test/core.test.mjs +0 -528
  137. package/testeranto/bundles/node/allTests/src/lib/pmProxy.test/index.mjs +0 -4650
  138. package/testeranto/bundles/pure/allTests/chunk-KHDVEHF7.mjs +0 -185
  139. package/testeranto/bundles/pure/allTests/src/Pure.test.mjs +0 -429
  140. package/testeranto/bundles/pure/allTests/src/lib/BaseSuite.test/pure.test.mjs +0 -425
  141. package/testeranto/bundles/web/allTests/chunk-HPYA4YZC.mjs +0 -2283
  142. package/testeranto/bundles/web/allTests/src/components/pure/ProjectPageView.test/index.html +0 -19
  143. package/testeranto/bundles/web/allTests/src/components/pure/ProjectPageView.test/index.mjs +0 -37524
  144. package/testeranto/bundles/web/allTests/src/lib/BaseSuite.test/web.test.html +0 -19
  145. package/testeranto/bundles/web/allTests/src/lib/BaseSuite.test/web.test.mjs +0 -440
  146. package/testeranto/reports/allTests/src/Pure.test/pure/lint_errors.txt +0 -0
  147. package/testeranto/reports/allTests/src/Pure.test/pure/message.txt +0 -2
  148. package/testeranto/reports/allTests/src/Pure.test/pure/prompt.txt +0 -13
  149. package/testeranto/reports/allTests/src/Pure.test/pure/type_errors.txt +0 -101
  150. package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/lint_errors.txt +0 -13
  151. package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/logs.txt +0 -50
  152. package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/message.txt +0 -2
  153. package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/prompt.txt +0 -17
  154. package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/tests.json +0 -32
  155. package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/type_errors.txt +0 -68
  156. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/lint_errors.txt +0 -0
  157. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/logs.txt +0 -52
  158. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/message.txt +0 -2
  159. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/prompt.txt +0 -13
  160. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/tests.json +0 -31
  161. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/type_errors.txt +0 -111
  162. package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/bdd_errors.txt +0 -1
  163. package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/lint_errors.txt +0 -0
  164. package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/message.txt +0 -2
  165. package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/prompt.txt +0 -14
  166. package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/tests.json +0 -31
  167. package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/type_errors.txt +0 -111
  168. package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/bdd_errors.txt +0 -1
  169. package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/lint_errors.txt +0 -0
  170. package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/logs.txt +0 -108
  171. package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/message.txt +0 -2
  172. package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/prompt.txt +0 -14
  173. package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/tests.json +0 -31
  174. package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/type_errors.txt +0 -111
  175. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/bdd_errors.txt +0 -1
  176. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/lint_errors.txt +0 -0
  177. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/logs.txt +0 -700
  178. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/message.txt +0 -2
  179. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/prompt.txt +0 -16
  180. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/tests.json +0 -164
  181. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/type_errors.txt +0 -138
  182. package/testeranto/reports/allTests/src/lib/core.test/core.test/node/lint_errors.txt +0 -21
  183. package/testeranto/reports/allTests/src/lib/core.test/core.test/node/logs.txt +0 -7
  184. package/testeranto/reports/allTests/src/lib/core.test/core.test/node/message.txt +0 -2
  185. package/testeranto/reports/allTests/src/lib/core.test/core.test/node/prompt.txt +0 -18
  186. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/bdd_errors.txt +0 -1
  187. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/lint_errors.txt +0 -20
  188. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/logs.txt +0 -31
  189. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/message.txt +0 -2
  190. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/prompt.txt +0 -16
  191. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/tests.json +0 -134
  192. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/type_errors.txt +0 -76
  193. package/testeranto/reportsweb_build_errors +0 -25
  194. /package/testeranto/reports/{allTests/src/components/pure/ProjectPageView.test/index/web → core/src/lib/baseBuilder.test/baseBuilder.test.node/node}/bdd_errors.txt +0 -0
  195. /package/testeranto/reports/{allTests/src/lib/BaseSuite.test/node.test/node → core/src/lib/baseBuilder.test/baseBuilder.test.web/web}/bdd_errors.txt +0 -0
@@ -1,18 +1,166 @@
1
- import {
2
- init_buffer,
3
- init_dirname,
4
- init_process
5
- } from "./chunk-HPYA4YZC.mjs";
1
+ // src/PM/index.ts
2
+ var PM = class {
3
+ };
6
4
 
7
- // src/lib/BaseSuite.ts
8
- init_dirname();
9
- init_buffer();
10
- init_process();
5
+ // src/PM/web.ts
6
+ var PM_Web = class extends PM {
7
+ constructor(t) {
8
+ super();
9
+ this.testResourceConfiguration = t;
10
+ }
11
+ start() {
12
+ return new Promise((r) => r());
13
+ }
14
+ stop() {
15
+ return new Promise((r) => r());
16
+ }
17
+ getInnerHtml(selector, page2) {
18
+ throw new Error("web.ts getInnHtml not implemented");
19
+ }
20
+ pages() {
21
+ throw new Error("Method not implemented.");
22
+ }
23
+ stopSideCar(n) {
24
+ return window["stopSideCar"](n, this.testResourceConfiguration.name);
25
+ }
26
+ launchSideCar(n) {
27
+ return window["launchSideCar"](n, this.testResourceConfiguration.name);
28
+ }
29
+ waitForSelector(p, s) {
30
+ return window["waitForSelector"](p, s);
31
+ }
32
+ screencast(o, p) {
33
+ return window["screencast"](
34
+ {
35
+ ...opts,
36
+ path: this.testResourceConfiguration.fs + "/" + opts.path
37
+ },
38
+ page.mainFrame()._id,
39
+ this.testResourceConfiguration.name
40
+ );
41
+ }
42
+ screencastStop(recorder) {
43
+ return window["screencastStop"](recorder);
44
+ }
45
+ closePage(p) {
46
+ return window["closePage"](p);
47
+ }
48
+ goto(p, url) {
49
+ return window["goto"](p, url);
50
+ }
51
+ newPage() {
52
+ return window["newPage"]();
53
+ }
54
+ $(selector) {
55
+ return window["$"](selector);
56
+ }
57
+ isDisabled(selector) {
58
+ return window["isDisabled"](selector);
59
+ }
60
+ getAttribute(selector, attribute) {
61
+ return window["getAttribute"](selector, attribute);
62
+ }
63
+ getValue(selector) {
64
+ return window["getValue"](selector);
65
+ }
66
+ focusOn(selector) {
67
+ return window["focusOn"](selector);
68
+ }
69
+ typeInto(value) {
70
+ return window["typeInto"](value);
71
+ }
72
+ async page(x) {
73
+ return window["page"](x);
74
+ }
75
+ click(selector) {
76
+ return window["click"](selector);
77
+ }
78
+ customScreenShot(x, y) {
79
+ const opts2 = x[0];
80
+ const page2 = x[1];
81
+ return window["customScreenShot"](
82
+ {
83
+ ...opts2,
84
+ path: this.testResourceConfiguration.fs + "/" + opts2.path
85
+ },
86
+ this.testResourceConfiguration.name,
87
+ page2
88
+ );
89
+ }
90
+ existsSync(destFolder) {
91
+ return window["existsSync"](destFolder);
92
+ }
93
+ mkdirSync(x) {
94
+ return window["mkdirSync"](this.testResourceConfiguration.fs + "/");
95
+ }
96
+ write(uid, contents) {
97
+ return window["write"](uid, contents);
98
+ }
99
+ writeFileSync([filepath, contents]) {
100
+ return window["writeFileSync"](
101
+ this.testResourceConfiguration.fs + "/" + filepath,
102
+ contents,
103
+ this.testResourceConfiguration.name
104
+ );
105
+ }
106
+ createWriteStream(filepath) {
107
+ return window["createWriteStream"](
108
+ this.testResourceConfiguration.fs + "/" + filepath,
109
+ this.testResourceConfiguration.name
110
+ );
111
+ }
112
+ end(uid) {
113
+ return window["end"](uid);
114
+ }
115
+ customclose() {
116
+ window["customclose"](
117
+ this.testResourceConfiguration.fs,
118
+ this.testResourceConfiguration.name
119
+ );
120
+ }
121
+ testArtiFactoryfileWriter(tLog, callback) {
122
+ return (fPath, value) => {
123
+ callback(
124
+ new Promise((res, rej) => {
125
+ tLog("testArtiFactory =>", fPath);
126
+ })
127
+ );
128
+ };
129
+ }
130
+ };
131
+
132
+ // src/lib/index.ts
133
+ var BaseAdapter = () => ({
134
+ beforeAll: async (s) => s,
135
+ beforeEach: async function(subject, initialValues, x, testResource, pm) {
136
+ return subject;
137
+ },
138
+ afterEach: async (s) => s,
139
+ afterAll: (store) => void 0,
140
+ butThen: async (store, thenCb) => {
141
+ return thenCb(store);
142
+ },
143
+ andWhen: async (store, whenCB, testResource, pm) => {
144
+ try {
145
+ await whenCB(store, testResource, pm);
146
+ } catch (error) {
147
+ console.error("Error in andWhen:", error);
148
+ throw error;
149
+ }
150
+ },
151
+ assertThis: (x) => x
152
+ });
153
+ var DefaultAdapter = (p) => {
154
+ return {
155
+ ...BaseAdapter,
156
+ ...p
157
+ };
158
+ };
159
+ var defaultTestResourceRequirement = {
160
+ ports: 0
161
+ };
11
162
 
12
163
  // src/lib/pmProxy.ts
13
- init_dirname();
14
- init_buffer();
15
- init_process();
16
164
  var baseProxy = function(pm, mappings) {
17
165
  return new Proxy(pm, {
18
166
  get: (target, prop, receiver) => {
@@ -33,12 +181,7 @@ var butThenProxy = (pm, filepath) => {
33
181
  "screencast",
34
182
  (opts2, p) => {
35
183
  const path = `${filepath}/butThen/${opts2.path}`;
36
- console.log(`[Proxy] Captured artifact path for butThen:`, path);
37
- if (pm.currentStep?.addArtifact) {
38
- pm.currentStep.addArtifact(path);
39
- } else {
40
- console.warn("No currentStep or addArtifact method found");
41
- }
184
+ pm.currentStep?.artifacts?.push(path);
42
185
  return [
43
186
  {
44
187
  ...opts2,
@@ -48,16 +191,14 @@ var butThenProxy = (pm, filepath) => {
48
191
  ];
49
192
  }
50
193
  ],
51
- ["createWriteStream", (fp) => {
52
- const path = `${filepath}/butThen/${fp}`;
53
- console.log(`[Proxy] Captured artifact path for butThen:`, path);
54
- if (pm.currentStep?.addArtifact) {
55
- pm.currentStep.addArtifact(path);
56
- } else {
57
- console.warn("No currentStep or addArtifact method found");
194
+ [
195
+ "createWriteStream",
196
+ (fp) => {
197
+ const path = `${filepath}/butThen/${fp}`;
198
+ pm.currentStep?.artifacts?.push(path);
199
+ return [path];
58
200
  }
59
- return [path];
60
- }],
201
+ ],
61
202
  [
62
203
  "writeFileSync",
63
204
  (fp, contents) => {
@@ -85,469 +226,120 @@ var butThenProxy = (pm, filepath) => {
85
226
  var andWhenProxy = (pm, filepath) => baseProxy(pm, [
86
227
  [
87
228
  "screencast",
88
- (opts2, p) => {
89
- const path = `${filepath}/andWhen/${opts2.path}`;
90
- pm.currentStep?.artifacts?.push(path);
91
- return [
92
- {
93
- ...opts2,
94
- path
95
- },
96
- p
97
- ];
98
- }
229
+ (opts2, p) => [
230
+ {
231
+ ...opts2,
232
+ path: `${filepath}/andWhen/${opts2.path}`
233
+ },
234
+ p
235
+ ]
99
236
  ],
100
- ["createWriteStream", (fp) => {
101
- const path = `${filepath}/andWhen/${fp}`;
102
- pm.currentStep?.artifacts?.push(path);
103
- return [path];
104
- }],
105
- ["writeFileSync", (fp, contents) => {
106
- const path = `${filepath}/andWhen/${fp}`;
107
- pm.currentStep?.artifacts?.push(path);
108
- return [path, contents];
109
- }],
237
+ ["createWriteStream", (fp) => [`${filepath}/andWhen/${fp}`]],
238
+ ["writeFileSync", (fp, contents) => [`${filepath}/andWhen${fp}`, contents]],
110
239
  [
111
240
  "customScreenShot",
112
- (opts2, p) => {
113
- const path = `${filepath}/andWhen/${opts2.path}`;
114
- pm.currentStep?.artifacts?.push(path);
115
- return [
116
- {
117
- ...opts2,
118
- path
119
- },
120
- p
121
- ];
122
- }
241
+ (opts2, p) => [
242
+ {
243
+ ...opts2,
244
+ path: `${filepath}/andWhen${opts2.path}`
245
+ },
246
+ p
247
+ ]
123
248
  ]
124
249
  ]);
125
250
  var afterEachProxy = (pm, suite, given) => baseProxy(pm, [
126
251
  [
127
252
  "screencast",
128
- (opts2, p) => {
129
- const path = `suite-${suite}/given-${given}/afterEach/${opts2.path}`;
130
- pm.currentStep?.artifacts?.push(path);
131
- return [
132
- {
133
- ...opts2,
134
- path
135
- },
136
- p
137
- ];
138
- }
253
+ (opts2, p) => [
254
+ {
255
+ ...opts2,
256
+ path: `suite-${suite}/given-${given}/afterEach/${opts2.path}`
257
+ },
258
+ p
259
+ ]
139
260
  ],
140
- ["createWriteStream", (fp) => {
141
- const path = `suite-${suite}/afterEach/${fp}`;
142
- pm.currentStep?.artifacts?.push(path);
143
- return [path];
144
- }],
261
+ ["createWriteStream", (fp) => [`suite-${suite}/afterEach/${fp}`]],
145
262
  [
146
263
  "writeFileSync",
147
- (fp, contents) => {
148
- const path = `suite-${suite}/given-${given}/afterEach/${fp}`;
149
- pm.currentStep?.artifacts?.push(path);
150
- return [path, contents];
151
- }
264
+ (fp, contents) => [
265
+ `suite-${suite}/given-${given}/afterEach/${fp}`,
266
+ contents
267
+ ]
152
268
  ],
153
269
  [
154
270
  "customScreenShot",
155
- (opts2, p) => {
156
- const path = `suite-${suite}/given-${given}/afterEach/${opts2.path}`;
157
- pm.currentStep?.artifacts?.push(path);
158
- return [
159
- {
160
- ...opts2,
161
- path
162
- },
163
- p
164
- ];
165
- }
271
+ (opts2, p) => [
272
+ {
273
+ ...opts2,
274
+ path: `suite-${suite}/given-${given}/afterEach/${opts2.path}`
275
+ },
276
+ p
277
+ ]
166
278
  ]
167
279
  ]);
168
280
  var beforeEachProxy = (pm, suite) => baseProxy(pm, [
169
281
  [
170
282
  "screencast",
171
- (opts2, p) => {
172
- const path = `suite-${suite}/beforeEach/${opts2.path}`;
173
- pm.currentStep?.artifacts?.push(path);
174
- return [
175
- {
176
- ...opts2,
177
- path
178
- },
179
- p
180
- ];
181
- }
182
- ],
183
- [
184
- "writeFileSync",
185
- (fp, contents) => {
186
- const path = `suite-${suite}/beforeEach/${fp}`;
187
- pm.currentStep?.artifacts?.push(path);
188
- return [path, contents];
189
- }
190
- ],
191
- [
192
- "customScreenShot",
193
- (opts2, p) => {
194
- const path = `suite-${suite}/beforeEach/${opts2.path}`;
195
- pm.currentStep?.artifacts?.push(path);
196
- return [
197
- {
198
- ...opts2,
199
- path
200
- },
201
- p
202
- ];
203
- }
204
- ],
205
- ["createWriteStream", (fp) => {
206
- const path = `suite-${suite}/beforeEach/${fp}`;
207
- pm.currentStep?.artifacts?.push(path);
208
- return [path];
209
- }]
210
- ]);
211
- var beforeAllProxy = (pm, suite) => baseProxy(pm, [
212
- [
213
- "writeFileSync",
214
- (fp, contents) => {
215
- const path = `suite-${suite}/beforeAll/${fp}`;
216
- pm.currentStep?.artifacts?.push(path);
217
- return [path, contents];
218
- }
219
- ],
220
- [
221
- "customScreenShot",
222
- (opts2, p) => {
223
- const path = `suite-${suite}/beforeAll/${opts2.path}`;
224
- pm.currentStep?.artifacts?.push(path);
225
- return [
226
- {
227
- ...opts2,
228
- path
229
- },
230
- p
231
- ];
232
- }
283
+ (opts2, p) => [
284
+ {
285
+ ...opts2,
286
+ path: `suite-${suite}/beforeEach/${opts2.path}`
287
+ },
288
+ p
289
+ ]
233
290
  ],
234
- ["createWriteStream", (fp) => {
235
- const path = `suite-${suite}/beforeAll/${fp}`;
236
- pm.currentStep?.artifacts?.push(path);
237
- return [path];
238
- }]
239
- ]);
240
- var afterAllProxy = (pm, suite) => baseProxy(pm, [
241
- ["createWriteStream", (fp) => {
242
- const path = `suite-${suite}/afterAll/${fp}`;
243
- pm.currentStep?.artifacts?.push(path);
244
- return [path];
245
- }],
246
291
  [
247
292
  "writeFileSync",
248
- (fp, contents) => {
249
- const path = `suite-${suite}/afterAll/${fp}`;
250
- pm.currentStep?.artifacts?.push(path);
251
- return [path, contents];
252
- }
293
+ (fp, contents) => [`suite-${suite}/beforeEach/${fp}`, contents]
253
294
  ],
254
- [
255
- "customScreenShot",
256
- (opts2, p) => {
257
- const path = `suite-${suite}/afterAll/${opts2.path}`;
258
- pm.currentStep?.artifacts?.push(path);
259
- return [
260
- {
261
- ...opts2,
262
- path
263
- },
264
- p
265
- ];
266
- }
267
- ]
268
- ]);
269
-
270
- // src/lib/BaseSuite.ts
271
- var BaseSuite = class {
272
- constructor(name, index, givens = {}) {
273
- const suiteName = name || "testSuite";
274
- if (!suiteName) {
275
- throw new Error("BaseSuite requires a non-empty name");
276
- }
277
- console.log(
278
- "[DEBUG] BaseSuite constructor - name:",
279
- suiteName,
280
- "index:",
281
- index
282
- );
283
- this.name = suiteName;
284
- this.index = index;
285
- this.givens = givens;
286
- this.fails = 0;
287
- console.log("[DEBUG] BaseSuite initialized:", this.name, this.index);
288
- console.log("[DEBUG] BaseSuite givens:", Object.keys(givens).toString());
289
- }
290
- features() {
291
- try {
292
- const features = Object.keys(this.givens).map((k) => this.givens[k].features).flat().filter((value, index, array) => {
293
- return array.indexOf(value) === index;
294
- });
295
- console.debug("[DEBUG] Features extracted:", features.toString());
296
- return features || [];
297
- } catch (e) {
298
- console.error("[ERROR] Failed to extract features:", e);
299
- return [];
300
- }
301
- }
302
- toObj() {
303
- const givens = Object.keys(this.givens).map((k) => this.givens[k].toObj());
304
- return {
305
- name: this.name,
306
- givens,
307
- fails: this.fails,
308
- failed: this.failed,
309
- features: this.features()
310
- };
311
- }
312
- setup(s, artifactory, tr, pm) {
313
- return new Promise((res) => res(s));
314
- }
315
- assertThat(t) {
316
- return !!t;
317
- }
318
- afterAll(store, artifactory, pm) {
319
- return store;
320
- }
321
- async run(input, testResourceConfiguration, artifactory, tLog, pm) {
322
- this.testResourceConfiguration = testResourceConfiguration;
323
- const suiteArtifactory = (fPath, value) => artifactory(`suite-${this.index}-${this.name}/${fPath}`, value);
324
- tLog("\nSuite:", this.index, this.name);
325
- const sNdx = this.index;
326
- const subject = await this.setup(
327
- input,
328
- suiteArtifactory,
329
- testResourceConfiguration,
330
- beforeAllProxy(pm, sNdx.toString())
331
- );
332
- for (const [gKey, g] of Object.entries(this.givens)) {
333
- const giver = this.givens[gKey];
334
- this.store = await giver.give(
335
- subject,
336
- gKey,
337
- testResourceConfiguration,
338
- this.assertThat,
339
- suiteArtifactory,
340
- tLog,
341
- pm,
342
- sNdx
343
- ).catch((e) => {
344
- this.failed = true;
345
- this.fails = this.fails + 1;
346
- throw e;
347
- });
348
- }
349
- try {
350
- this.afterAll(
351
- this.store,
352
- artifactory,
353
- afterAllProxy(pm, sNdx.toString())
354
- );
355
- } catch (e) {
356
- console.error(e);
357
- }
358
- return this;
359
- }
360
- };
361
-
362
- // src/Web.ts
363
- init_dirname();
364
- init_buffer();
365
- init_process();
366
-
367
- // src/PM/web.ts
368
- init_dirname();
369
- init_buffer();
370
- init_process();
371
-
372
- // src/PM/index.ts
373
- init_dirname();
374
- init_buffer();
375
- init_process();
376
- var PM = class {
377
- };
378
-
379
- // src/PM/web.ts
380
- var PM_Web = class extends PM {
381
- constructor(t) {
382
- super();
383
- this.testResourceConfiguration = t;
384
- }
385
- start() {
386
- return new Promise((r) => r());
387
- }
388
- stop() {
389
- return new Promise((r) => r());
390
- }
391
- getInnerHtml(selector, page2) {
392
- throw new Error("web.ts getInnHtml not implemented");
393
- }
394
- pages() {
395
- throw new Error("Method not implemented.");
396
- }
397
- stopSideCar(n) {
398
- return window["stopSideCar"](n, this.testResourceConfiguration.name);
399
- }
400
- launchSideCar(n) {
401
- return window["launchSideCar"](n, this.testResourceConfiguration.name);
402
- }
403
- waitForSelector(p, s) {
404
- return window["waitForSelector"](p, s);
405
- }
406
- screencast(o, p) {
407
- return window["screencast"](
408
- {
409
- ...opts,
410
- path: this.testResourceConfiguration.fs + "/" + opts.path
411
- },
412
- page.mainFrame()._id,
413
- this.testResourceConfiguration.name
414
- );
415
- }
416
- screencastStop(recorder) {
417
- return window["screencastStop"](recorder);
418
- }
419
- closePage(p) {
420
- return window["closePage"](p);
421
- }
422
- goto(p, url) {
423
- return window["goto"](p, url);
424
- }
425
- newPage() {
426
- return window["newPage"]();
427
- }
428
- $(selector) {
429
- return window["$"](selector);
430
- }
431
- isDisabled(selector) {
432
- return window["isDisabled"](selector);
433
- }
434
- getAttribute(selector, attribute) {
435
- return window["getAttribute"](selector, attribute);
436
- }
437
- getValue(selector) {
438
- return window["getValue"](selector);
439
- }
440
- focusOn(selector) {
441
- return window["focusOn"](selector);
442
- }
443
- typeInto(value) {
444
- return window["typeInto"](value);
445
- }
446
- async page(x) {
447
- return window["page"](x);
448
- }
449
- click(selector) {
450
- return window["click"](selector);
451
- }
452
- customScreenShot(x, y) {
453
- const opts2 = x[0];
454
- const page2 = x[1];
455
- console.log("customScreenShot 2 opts", opts2);
456
- console.log("customScreenShot 2 page", page2);
457
- return window["customScreenShot"](
295
+ [
296
+ "customScreenShot",
297
+ (opts2, p) => [
458
298
  {
459
299
  ...opts2,
460
- path: this.testResourceConfiguration.fs + "/" + opts2.path
300
+ path: `suite-${suite}/beforeEach/${opts2.path}`
461
301
  },
462
- this.testResourceConfiguration.name,
463
- page2
464
- );
465
- }
466
- existsSync(destFolder) {
467
- return window["existsSync"](destFolder);
468
- }
469
- mkdirSync(x) {
470
- return window["mkdirSync"](this.testResourceConfiguration.fs + "/");
471
- }
472
- write(uid, contents) {
473
- return window["write"](uid, contents);
474
- }
475
- writeFileSync(filepath, contents) {
476
- return window["writeFileSync"](
477
- this.testResourceConfiguration.fs + "/" + filepath,
478
- contents,
479
- this.testResourceConfiguration.name
480
- );
481
- }
482
- createWriteStream(filepath) {
483
- return window["createWriteStream"](
484
- this.testResourceConfiguration.fs + "/" + filepath,
485
- this.testResourceConfiguration.name
486
- );
487
- }
488
- end(uid) {
489
- return window["end"](uid);
490
- }
491
- customclose() {
492
- window["customclose"](
493
- this.testResourceConfiguration.fs,
494
- this.testResourceConfiguration.name
495
- );
496
- }
497
- testArtiFactoryfileWriter(tLog, callback) {
498
- return (fPath, value) => {
499
- callback(
500
- new Promise((res, rej) => {
501
- tLog("testArtiFactory =>", fPath);
502
- })
503
- );
504
- };
505
- }
506
- };
507
-
508
- // src/lib/core.ts
509
- init_dirname();
510
- init_buffer();
511
- init_process();
512
-
513
- // src/lib/index.ts
514
- init_dirname();
515
- init_buffer();
516
- init_process();
517
- var BaseAdapter = () => ({
518
- beforeAll: async (s) => s,
519
- beforeEach: async function(subject, initialValues, x, testResource, pm) {
520
- return subject;
521
- },
522
- afterEach: async (s) => s,
523
- afterAll: (store) => void 0,
524
- butThen: async (store, thenCb) => {
525
- return thenCb(store);
526
- },
527
- andWhen: async (store, whenCB, testResource, pm) => {
528
- try {
529
- await whenCB(store, testResource, pm);
530
- } catch (error) {
531
- console.error("Error in andWhen:", error);
532
- throw error;
533
- }
534
- },
535
- assertThis: (x) => x
536
- });
537
- var DefaultAdapter = (p) => {
538
- return {
539
- ...BaseAdapter,
540
- ...p
541
- };
542
- };
543
- var defaultTestResourceRequirement = {
544
- ports: 0
545
- };
302
+ p
303
+ ]
304
+ ],
305
+ ["createWriteStream", (fp) => [`suite-${suite}/beforeEach/${fp}`]]
306
+ ]);
307
+ var beforeAllProxy = (pm, suite) => baseProxy(pm, [
308
+ [
309
+ "writeFileSync",
310
+ (fp, contents) => [`suite-${suite}/beforeAll/${fp}`, contents]
311
+ ],
312
+ [
313
+ "customScreenShot",
314
+ (opts2, p) => [
315
+ {
316
+ ...opts2,
317
+ path: `suite-${suite}/beforeAll/${opts2.path}`
318
+ },
319
+ p
320
+ ]
321
+ ],
322
+ ["createWriteStream", (fp) => [`suite-${suite}/beforeAll/${fp}`]]
323
+ ]);
324
+ var afterAllProxy = (pm, suite) => baseProxy(pm, [
325
+ ["createWriteStream", (fp) => [`suite-${suite}/afterAll/${fp}`]],
326
+ [
327
+ "writeFileSync",
328
+ (fp, contents) => [`suite-${suite}/afterAll/${fp}`, contents]
329
+ ],
330
+ [
331
+ "customScreenShot",
332
+ (opts2, p) => [
333
+ {
334
+ ...opts2,
335
+ path: `suite-${suite}/afterAll/${opts2.path}`
336
+ },
337
+ p
338
+ ]
339
+ ]
340
+ ]);
546
341
 
547
342
  // src/lib/abstractBase.ts
548
- init_dirname();
549
- init_buffer();
550
- init_process();
551
343
  var BaseGiven = class {
552
344
  constructor(name, features, whens, thens, givenCB, initialValues) {
553
345
  this.artifacts = [];
@@ -737,15 +529,7 @@ var BaseThen = class {
737
529
  }
738
530
  };
739
531
 
740
- // src/lib/classBuilder.ts
741
- init_dirname();
742
- init_buffer();
743
- init_process();
744
-
745
532
  // src/lib/basebuilder.ts
746
- init_dirname();
747
- init_buffer();
748
- init_process();
749
533
  var BaseBuilder = class {
750
534
  constructor(input, suitesOverrides, givenOverides, whenOverides, thenOverides, testResourceRequirement, testSpecification) {
751
535
  this.artifacts = [];
@@ -790,11 +574,14 @@ var BaseBuilder = class {
790
574
  };
791
575
  const suiteDone = await runner(puppetMaster, tLog);
792
576
  const fails = suiteDone.fails;
793
- await puppetMaster.writeFileSync(`bdd_errors.txt`, fails.toString());
794
- await puppetMaster.writeFileSync(
577
+ await puppetMaster.writeFileSync([
578
+ `bdd_errors.txt`,
579
+ fails.toString()
580
+ ]);
581
+ await puppetMaster.writeFileSync([
795
582
  `tests.json`,
796
583
  JSON.stringify(this.toObj(), null, 2)
797
- );
584
+ ]);
798
585
  return {
799
586
  failed: fails > 0,
800
587
  fails,
@@ -899,10 +686,102 @@ var ClassBuilder = class extends BaseBuilder {
899
686
  }
900
687
  };
901
688
 
689
+ // src/lib/BaseSuite.ts
690
+ var BaseSuite = class {
691
+ constructor(name, index, givens = {}) {
692
+ const suiteName = name || "testSuite";
693
+ if (!suiteName) {
694
+ throw new Error("BaseSuite requires a non-empty name");
695
+ }
696
+ console.log(
697
+ "[DEBUG] BaseSuite constructor - name:",
698
+ suiteName,
699
+ "index:",
700
+ index
701
+ );
702
+ this.name = suiteName;
703
+ this.index = index;
704
+ this.givens = givens;
705
+ this.fails = 0;
706
+ console.log("[DEBUG] BaseSuite initialized:", this.name, this.index);
707
+ console.log("[DEBUG] BaseSuite givens:", Object.keys(givens).toString());
708
+ }
709
+ features() {
710
+ try {
711
+ const features = Object.keys(this.givens).map((k) => this.givens[k].features).flat().filter((value, index, array) => {
712
+ return array.indexOf(value) === index;
713
+ });
714
+ console.debug("[DEBUG] Features extracted:", features.toString());
715
+ return features || [];
716
+ } catch (e) {
717
+ console.error("[ERROR] Failed to extract features:", e);
718
+ return [];
719
+ }
720
+ }
721
+ toObj() {
722
+ const givens = Object.keys(this.givens).map((k) => this.givens[k].toObj());
723
+ return {
724
+ name: this.name,
725
+ givens,
726
+ fails: this.fails,
727
+ failed: this.failed,
728
+ features: this.features()
729
+ };
730
+ }
731
+ setup(s, artifactory, tr, pm) {
732
+ return new Promise((res) => res(s));
733
+ }
734
+ assertThat(t) {
735
+ return !!t;
736
+ }
737
+ afterAll(store, artifactory, pm) {
738
+ return store;
739
+ }
740
+ async run(input, testResourceConfiguration, artifactory, tLog, pm) {
741
+ this.testResourceConfiguration = testResourceConfiguration;
742
+ const suiteArtifactory = (fPath, value) => artifactory(`suite-${this.index}-${this.name}/${fPath}`, value);
743
+ tLog("\nSuite:", this.index, this.name);
744
+ const sNdx = this.index;
745
+ const subject = await this.setup(
746
+ input,
747
+ suiteArtifactory,
748
+ testResourceConfiguration,
749
+ beforeAllProxy(pm, sNdx.toString())
750
+ );
751
+ for (const [gKey, g] of Object.entries(this.givens)) {
752
+ const giver = this.givens[gKey];
753
+ this.store = await giver.give(
754
+ subject,
755
+ gKey,
756
+ testResourceConfiguration,
757
+ this.assertThat,
758
+ suiteArtifactory,
759
+ tLog,
760
+ pm,
761
+ sNdx
762
+ ).catch((e) => {
763
+ this.failed = true;
764
+ this.fails = this.fails + 1;
765
+ throw e;
766
+ });
767
+ }
768
+ try {
769
+ this.afterAll(
770
+ this.store,
771
+ artifactory,
772
+ afterAllProxy(pm, sNdx.toString())
773
+ );
774
+ } catch (e) {
775
+ console.error(e);
776
+ }
777
+ return this;
778
+ }
779
+ };
780
+
902
781
  // src/lib/core.ts
903
782
  var TesterantoCore = class extends ClassBuilder {
904
- constructor(input, testSpecification, testImplementation, testResourceRequirement = defaultTestResourceRequirement, testAdapter, uberCatcher) {
905
- const fullAdapter = DefaultAdapter(testAdapter);
783
+ constructor(input, testSpecification, testImplementation, testResourceRequirement = defaultTestResourceRequirement, testAdapter2, uberCatcher) {
784
+ const fullAdapter = DefaultAdapter(testAdapter2);
906
785
  super(
907
786
  testImplementation,
908
787
  testSpecification,
@@ -959,48 +838,15 @@ var TesterantoCore = class extends ClassBuilder {
959
838
  };
960
839
 
961
840
  // src/Web.ts
962
- var errorCallback = (e) => {
963
- };
964
- var unhandledrejectionCallback = (event) => {
965
- console.log(
966
- "window.addEventListener unhandledrejection 1",
967
- JSON.stringify(event)
968
- );
969
- };
970
841
  var WebTesteranto = class extends TesterantoCore {
971
- constructor(input, testSpecification, testImplementation, testResourceRequirement, testAdapter) {
842
+ constructor(input, testSpecification, testImplementation, testResourceRequirement, testAdapter2) {
972
843
  super(
973
844
  input,
974
845
  testSpecification,
975
846
  testImplementation,
976
847
  testResourceRequirement,
977
- testAdapter,
848
+ testAdapter2,
978
849
  (cb) => {
979
- window.removeEventListener("error", errorCallback);
980
- errorCallback = (e) => {
981
- console.log("window.addEventListener error 2", JSON.stringify(e));
982
- cb(e);
983
- };
984
- window.addEventListener("error", errorCallback);
985
- window.removeEventListener(
986
- "unhandledrejection",
987
- unhandledrejectionCallback
988
- );
989
- window.removeEventListener(
990
- "unhandledrejection",
991
- unhandledrejectionCallback
992
- );
993
- unhandledrejectionCallback = (event) => {
994
- console.log(
995
- "window.addEventListener unhandledrejection 3",
996
- JSON.stringify(event)
997
- );
998
- cb({ error: event.reason.message });
999
- };
1000
- window.addEventListener(
1001
- "unhandledrejection",
1002
- unhandledrejectionCallback
1003
- );
1004
850
  }
1005
851
  );
1006
852
  }
@@ -1010,21 +856,237 @@ var WebTesteranto = class extends TesterantoCore {
1010
856
  return await this.testJobs[0].receiveTestResourceConfig(pm);
1011
857
  }
1012
858
  };
1013
- var Web_default = async (input, testSpecification, testImplementation, testAdapter, testResourceRequirement = defaultTestResourceRequirement) => {
859
+ var Web_default = async (input, testSpecification, testImplementation, testAdapter2, testResourceRequirement = defaultTestResourceRequirement) => {
1014
860
  return new WebTesteranto(
1015
861
  input,
1016
862
  testSpecification,
1017
863
  testImplementation,
1018
864
  testResourceRequirement,
1019
- testAdapter
865
+ testAdapter2
1020
866
  );
1021
867
  };
1022
868
 
869
+ // src/lib/baseBuilder.test/baseBuilder.test.specification.ts
870
+ var specification = (Suite, Given, When, Then) => {
871
+ return [
872
+ Suite.Default("Testing BaseBuilder functionality", {
873
+ testInitialization: Given["the default BaseBuilder"](
874
+ ["BaseBuilder should initialize correctly"],
875
+ [],
876
+ [
877
+ Then["it is initialized"](),
878
+ Then["it tracks artifacts"]()
879
+ // Then["it creates jobs"](),
880
+ // Then["it generates TestSpecifications"](),
881
+ ]
882
+ ),
883
+ testSpecsGeneration: Given["the default BaseBuilder"](
884
+ ["BaseBuilder should generate specs from test specification"],
885
+ [],
886
+ [Then["it generates TestSpecifications"]()]
887
+ ),
888
+ testJobsCreation: Given["the default BaseBuilder"](
889
+ ["BaseBuilder should create test jobs"],
890
+ [],
891
+ [Then["it creates jobs"]()]
892
+ )
893
+ })
894
+ ];
895
+ };
896
+
897
+ // src/lib/baseBuilder.test/baseBuilder.test.mock.ts
898
+ var MockBaseBuilder = class extends BaseBuilder {
899
+ constructor(input, suitesOverrides = {}, givenOverrides = {}, whenOverrides = {}, thenOverrides = {}, testResourceRequirement = { ports: 0 }, testSpecification = () => []) {
900
+ super(
901
+ input,
902
+ suitesOverrides,
903
+ givenOverrides,
904
+ whenOverrides,
905
+ thenOverrides,
906
+ testResourceRequirement,
907
+ testSpecification
908
+ );
909
+ this.summary = {};
910
+ }
911
+ /**
912
+ * Simplified version for testing that doesn't actually run tests
913
+ */
914
+ testRun(puppetMaster) {
915
+ this.summary = {
916
+ [puppetMaster.testResourceConfiguration.name]: {
917
+ typeErrors: 0,
918
+ staticErrors: 0,
919
+ runTimeError: "",
920
+ prompt: "",
921
+ failingFeatures: {}
922
+ }
923
+ };
924
+ return Promise.resolve({
925
+ failed: false,
926
+ fails: 0,
927
+ artifacts: [],
928
+ // logPromise: Promise.resolve(),
929
+ features: []
930
+ });
931
+ }
932
+ };
933
+
934
+ // src/lib/baseBuilder.test/baseBuilder.test.implementation.ts
935
+ var implementation = {
936
+ suites: {
937
+ Default: "BaseBuilder test suite"
938
+ },
939
+ givens: {
940
+ "the default BaseBuilder": () => {
941
+ return new MockBaseBuilder(
942
+ {},
943
+ // input
944
+ {},
945
+ // suitesOverrides
946
+ {},
947
+ // givenOverrides
948
+ {},
949
+ // whenOverrides
950
+ {},
951
+ // thenOverrides
952
+ { ports: 0 },
953
+ // testResourceRequirement
954
+ () => []
955
+ // testSpecification
956
+ );
957
+ },
958
+ "a BaseBuilder with TestInput": (input) => {
959
+ return new MockBaseBuilder(
960
+ input,
961
+ {},
962
+ {},
963
+ {},
964
+ {},
965
+ { ports: [] },
966
+ () => []
967
+ );
968
+ },
969
+ "a BaseBuilder with Test Resource Requirements": (requirements) => {
970
+ return new MockBaseBuilder({}, {}, {}, {}, {}, requirements, () => []);
971
+ }
972
+ },
973
+ whens: {
974
+ addArtifact: (artifact) => (builder) => {
975
+ builder.artifacts.push(artifact);
976
+ return builder;
977
+ },
978
+ setTestJobs: (jobs) => (builder) => {
979
+ builder.testJobs = jobs;
980
+ return builder;
981
+ }
982
+ },
983
+ thens: {
984
+ "it is initialized": () => (builder, utils) => {
985
+ utils.writeFileSync("hello.txt", "world");
986
+ if (!(builder instanceof BaseBuilder)) {
987
+ console.error("Builder instance:", builder);
988
+ throw new Error(
989
+ `Builder was not properly initialized - expected BaseBuilder instance but got ${builder?.constructor?.name}`
990
+ );
991
+ }
992
+ [
993
+ "artifacts",
994
+ "testJobs",
995
+ "specs",
996
+ "suitesOverrides",
997
+ "givenOverides",
998
+ "whenOverides",
999
+ "thenOverides"
1000
+ ].forEach((prop) => {
1001
+ if (!(prop in builder)) {
1002
+ throw new Error(`Builder missing required property: ${prop}`);
1003
+ }
1004
+ });
1005
+ return builder;
1006
+ },
1007
+ "it generates TestSpecifications": () => (builder) => {
1008
+ if (!Array.isArray(builder.specs)) {
1009
+ throw new Error("Specs were not generated");
1010
+ }
1011
+ return builder;
1012
+ },
1013
+ "it creates jobs": () => (builder) => {
1014
+ if (!Array.isArray(builder.testJobs)) {
1015
+ throw new Error("Test jobs were not created");
1016
+ }
1017
+ return builder;
1018
+ },
1019
+ "it tracks artifacts": () => (builder) => {
1020
+ if (!Array.isArray(builder.artifacts)) {
1021
+ throw new Error("Artifacts array not initialized");
1022
+ }
1023
+ return builder;
1024
+ },
1025
+ resourceRequirementsSet: () => (builder) => {
1026
+ if (!builder.testResourceRequirement) {
1027
+ throw new Error("Resource requirements not set");
1028
+ }
1029
+ return builder;
1030
+ },
1031
+ suitesOverridesConfigured: () => (builder) => {
1032
+ if (!builder.suitesOverrides) {
1033
+ throw new Error("Suites overrides not configured");
1034
+ }
1035
+ return builder;
1036
+ },
1037
+ givensOverridesConfigured: () => (builder) => {
1038
+ if (!builder.givenOverides) {
1039
+ throw new Error("Givens overrides not configured");
1040
+ }
1041
+ return builder;
1042
+ },
1043
+ whensOverridesConfigured: () => (builder) => {
1044
+ if (!builder.whenOverides) {
1045
+ throw new Error("Whens overrides not configured");
1046
+ }
1047
+ return builder;
1048
+ },
1049
+ thensOverridesConfigured: () => (builder) => {
1050
+ if (!builder.thenOverides) {
1051
+ throw new Error("Thens overrides not configured");
1052
+ }
1053
+ return builder;
1054
+ }
1055
+ }
1056
+ };
1057
+
1058
+ // src/lib/baseBuilder.test/baseBuilder.test.adapter.ts
1059
+ var testAdapter = {
1060
+ beforeAll: async (input, testResource, pm) => input,
1061
+ beforeEach: async (subject, initializer, testResource, initialValues, pm) => {
1062
+ console.log("Initializing test with:", {
1063
+ subject,
1064
+ initializer,
1065
+ initialValues
1066
+ });
1067
+ const result = initializer();
1068
+ console.log("Initialization result:", result.toString());
1069
+ return result;
1070
+ },
1071
+ andWhen: async (store, whenCB, testResource, utils) => {
1072
+ return whenCB(store, utils);
1073
+ },
1074
+ butThen: async (store, thenCB, testResource, pm) => {
1075
+ return thenCB(store, pm);
1076
+ },
1077
+ afterEach: (store) => store,
1078
+ afterAll: () => {
1079
+ },
1080
+ assertThis: (x) => x
1081
+ };
1082
+
1083
+ // src/lib/baseBuilder.test/baseBuilder.test.web.ts
1084
+ var baseBuilder_test_web_default = Web_default(
1085
+ MockBaseBuilder.prototype,
1086
+ specification,
1087
+ implementation,
1088
+ testAdapter
1089
+ );
1023
1090
  export {
1024
- BaseGiven,
1025
- BaseWhen,
1026
- BaseThen,
1027
- BaseBuilder,
1028
- BaseSuite,
1029
- Web_default
1091
+ baseBuilder_test_web_default as default
1030
1092
  };