testeranto 0.172.0 → 0.177.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 (203) hide show
  1. package/README.md +2 -4
  2. package/dist/common/src/PM/base.js +5 -1
  3. package/dist/common/src/PM/main.js +57 -54
  4. package/dist/common/src/PM/node.js +4 -1
  5. package/dist/common/src/PM/pure.js +4 -1
  6. package/dist/common/src/PM/web.js +6 -3
  7. package/dist/common/src/Pure.js +0 -4
  8. package/dist/common/src/Pure.test.js +1 -1
  9. package/dist/common/src/ReportServer.js +2 -126
  10. package/dist/common/src/ReportServer.test.ts/index.js +78 -0
  11. package/dist/common/src/ReportServerLib.js +141 -0
  12. package/dist/common/src/components/pure/ProjectPageView.test/implementation.js +1 -1
  13. package/dist/common/src/esbuildConfigs/node.js +1 -3
  14. package/dist/common/src/lib/BaseSuite.js +13 -11
  15. package/dist/common/src/lib/abstractBase.js +39 -40
  16. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +10 -9
  17. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.specification.js +7 -7
  18. package/dist/common/src/lib/basebuilder.js +13 -2
  19. package/dist/common/src/lib/core.js +1 -0
  20. package/dist/common/src/lib/pmProxy.js +215 -201
  21. package/dist/common/src/lib/pmProxy.test/adapter.js +2 -2
  22. package/dist/common/src/lib/pmProxy.test/implementation.js +1 -1
  23. package/dist/common/testeranto.config.js +47 -32
  24. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  25. package/dist/module/src/PM/base.js +5 -1
  26. package/dist/module/src/PM/main.js +22 -19
  27. package/dist/module/src/PM/node.js +4 -1
  28. package/dist/module/src/PM/pure.js +4 -1
  29. package/dist/module/src/PM/web.js +6 -3
  30. package/dist/module/src/Pure.js +0 -4
  31. package/dist/module/src/Pure.test.js +1 -1
  32. package/dist/module/src/ReportServer.js +2 -123
  33. package/dist/module/src/ReportServer.test.ts/index.js +73 -0
  34. package/dist/module/src/ReportServerLib.js +134 -0
  35. package/dist/module/src/TestPage.js +29 -17
  36. package/dist/module/src/components/pure/ProjectPageView.test/implementation.js +1 -1
  37. package/dist/module/src/components/pure/TestPageView.js +29 -17
  38. package/dist/module/src/esbuildConfigs/node.js +1 -3
  39. package/dist/module/src/lib/BaseSuite.js +13 -11
  40. package/dist/module/src/lib/abstractBase.js +39 -40
  41. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +10 -9
  42. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.specification.js +7 -7
  43. package/dist/module/src/lib/basebuilder.js +13 -2
  44. package/dist/module/src/lib/core.js +1 -0
  45. package/dist/module/src/lib/pmProxy.js +215 -201
  46. package/dist/module/src/lib/pmProxy.test/adapter.js +2 -2
  47. package/dist/module/src/lib/pmProxy.test/implementation.js +1 -1
  48. package/dist/module/testeranto.config.js +47 -32
  49. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  50. package/dist/prebuild/App.js +3 -3
  51. package/dist/prebuild/ReportServer.mjs +21 -9
  52. package/dist/prebuild/build.mjs +1 -1
  53. package/dist/prebuild/run.mjs +27 -20
  54. package/dist/types/src/PM/base.d.ts +1 -1
  55. package/dist/types/src/PM/node.d.ts +1 -1
  56. package/dist/types/src/PM/pure.d.ts +1 -1
  57. package/dist/types/src/PM/web.d.ts +1 -1
  58. package/dist/types/src/ReportServer.test.ts/index.d.ts +29 -0
  59. package/dist/types/src/ReportServerLib.d.ts +1 -0
  60. package/dist/types/src/Types.d.ts +0 -1
  61. package/dist/types/src/components/pure/ProjectPageView.test/index.d.ts +2 -1
  62. package/dist/types/src/lib/BaseSuite.d.ts +2 -0
  63. package/dist/types/src/lib/abstractBase.d.ts +5 -7
  64. package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.types.d.ts +7 -4
  65. package/dist/types/src/lib/pmProxy.d.ts +3 -3
  66. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  67. package/package.json +3 -3
  68. package/src/PM/base.ts +7 -5
  69. package/src/PM/main.ts +26 -21
  70. package/src/PM/node.ts +6 -1
  71. package/src/PM/pure.ts +6 -1
  72. package/src/PM/web.ts +7 -3
  73. package/src/Pure.test.ts +6 -6
  74. package/src/Pure.ts +0 -8
  75. package/src/ReportServer.test.ts/index.ts +194 -0
  76. package/src/ReportServer.ts +2 -132
  77. package/src/ReportServerLib.ts +147 -0
  78. package/src/TestPage.tsx +65 -5
  79. package/src/Types.ts +0 -1
  80. package/src/components/pure/ProjectPageView.test/implementation.tsx +1 -1
  81. package/src/components/pure/TestPageView.tsx +65 -5
  82. package/src/esbuildConfigs/node.ts +1 -1
  83. package/src/lib/BaseSuite.ts +16 -21
  84. package/src/lib/abstractBase.ts +59 -48
  85. package/src/lib/baseBuilder.test/baseBuilder.test.implementation.ts +22 -10
  86. package/src/lib/baseBuilder.test/baseBuilder.test.specification.ts +9 -9
  87. package/src/lib/baseBuilder.test/baseBuilder.test.types.ts +7 -4
  88. package/src/lib/basebuilder.ts +13 -4
  89. package/src/lib/core.ts +1 -0
  90. package/src/lib/pmProxy.test/adapter.ts +2 -2
  91. package/src/lib/pmProxy.test/implementation.ts +3 -3
  92. package/src/lib/pmProxy.test/types.ts +0 -2
  93. package/src/lib/pmProxy.ts +135 -80
  94. package/testeranto/App.js +3 -3
  95. package/testeranto/bundles/node/core/metafile.json +8 -0
  96. package/testeranto/bundles/pure/core/metafile.json +8 -0
  97. package/testeranto/bundles/web/core/metafile.json +15086 -0
  98. package/testeranto/bundles/web/{allTests → core}/src/components/pure/ProjectPageView.test/index.html +1 -1
  99. package/testeranto/bundles/web/{allTests → core}/src/components/pure/ProjectPageView.test/index.mjs +4109 -1642
  100. package/testeranto/projects.json +1 -1
  101. package/testeranto/reports/core/config.json +24 -0
  102. package/testeranto/reports/{allTests → core}/src/components/pure/ProjectPageView.test/index/web/lint_errors.txt +6 -1
  103. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/logs.txt +59 -0
  104. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/message.txt +2 -0
  105. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/prompt.txt +27 -0
  106. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/suite-0/given-basicRender/then-0/butThen/happyPath.png +0 -0
  107. package/testeranto/reports/{allTests → core}/src/components/pure/ProjectPageView.test/index/web/type_errors.txt +15 -33
  108. package/testeranto/reports/core/summary.json +9 -0
  109. package/testeranto.config.ts +49 -32
  110. package/tsc.log +78 -92
  111. package/testeranto/bundles/node/allTests/chunk-3EUGBAOM.mjs +0 -113
  112. package/testeranto/bundles/node/allTests/chunk-E75CSRER.mjs +0 -800
  113. package/testeranto/bundles/node/allTests/chunk-M6DO7VMB.mjs +0 -252
  114. package/testeranto/bundles/node/allTests/metafile.json +0 -1229
  115. package/testeranto/bundles/node/allTests/src/lib/BaseSuite.test/node.test.mjs +0 -323
  116. package/testeranto/bundles/node/allTests/src/lib/baseBuilder.test/baseBuilder.test.node.mjs +0 -223
  117. package/testeranto/bundles/node/allTests/src/lib/classBuilder.test/classBuilder.test.mjs +0 -411
  118. package/testeranto/bundles/node/allTests/src/lib/core.test/core.test.mjs +0 -528
  119. package/testeranto/bundles/node/allTests/src/lib/pmProxy.test/index.mjs +0 -4752
  120. package/testeranto/bundles/pure/allTests/chunk-KHDVEHF7.mjs +0 -185
  121. package/testeranto/bundles/pure/allTests/chunk-VMUSFSZM.mjs +0 -797
  122. package/testeranto/bundles/pure/allTests/metafile.json +0 -1054
  123. package/testeranto/bundles/pure/allTests/src/Pure.test.mjs +0 -429
  124. package/testeranto/bundles/pure/allTests/src/lib/BaseSuite.test/pure.test.mjs +0 -425
  125. package/testeranto/bundles/pure/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure.mjs +0 -381
  126. package/testeranto/bundles/web/allTests/chunk-HPYA4YZC.mjs +0 -2283
  127. package/testeranto/bundles/web/allTests/chunk-U7AW26HL.mjs +0 -997
  128. package/testeranto/bundles/web/allTests/metafile.json +0 -25
  129. package/testeranto/bundles/web/allTests/src/lib/BaseSuite.test/web.test.html +0 -19
  130. package/testeranto/bundles/web/allTests/src/lib/BaseSuite.test/web.test.mjs +0 -440
  131. package/testeranto/bundles/web/allTests/src/lib/baseBuilder.test/baseBuilder.test.web.html +0 -19
  132. package/testeranto/bundles/web/allTests/src/lib/baseBuilder.test/baseBuilder.test.web.mjs +0 -244
  133. package/testeranto/reports/allTests/config.json +0 -104
  134. package/testeranto/reports/allTests/src/Pure.test/pure/lint_errors.txt +0 -0
  135. package/testeranto/reports/allTests/src/Pure.test/pure/message.txt +0 -2
  136. package/testeranto/reports/allTests/src/Pure.test/pure/prompt.txt +0 -13
  137. package/testeranto/reports/allTests/src/Pure.test/pure/type_errors.txt +0 -101
  138. package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/bdd_errors.txt +0 -1
  139. package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/logs.txt +0 -50
  140. package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/message.txt +0 -2
  141. package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/prompt.txt +0 -17
  142. package/testeranto/reports/allTests/src/components/pure/ProjectPageView.test/index/web/tests.json +0 -32
  143. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/bdd_errors.txt +0 -1
  144. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/lint_errors.txt +0 -0
  145. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/logs.txt +0 -52
  146. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/message.txt +0 -2
  147. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/prompt.txt +0 -13
  148. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/tests.json +0 -31
  149. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/type_errors.txt +0 -111
  150. package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/bdd_errors.txt +0 -1
  151. package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/lint_errors.txt +0 -0
  152. package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/message.txt +0 -2
  153. package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/prompt.txt +0 -14
  154. package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/tests.json +0 -31
  155. package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/type_errors.txt +0 -111
  156. package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/bdd_errors.txt +0 -1
  157. package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/lint_errors.txt +0 -0
  158. package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/logs.txt +0 -108
  159. package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/message.txt +0 -2
  160. package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/prompt.txt +0 -14
  161. package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/tests.json +0 -31
  162. package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/type_errors.txt +0 -111
  163. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/bdd_errors.txt +0 -1
  164. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/lint_errors.txt +0 -0
  165. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/logs.txt +0 -35
  166. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/message.txt +0 -2
  167. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/prompt.txt +0 -16
  168. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/tests.json +0 -77
  169. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/type_errors.txt +0 -62
  170. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/lint_errors.txt +0 -0
  171. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/message.txt +0 -2
  172. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/prompt.txt +0 -18
  173. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/type_errors.txt +0 -62
  174. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/bdd_errors.txt +0 -1
  175. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/lint_errors.txt +0 -0
  176. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/logs.txt +0 -69
  177. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/message.txt +0 -2
  178. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/prompt.txt +0 -16
  179. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/tests.json +0 -77
  180. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/type_errors.txt +0 -62
  181. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/bdd_errors.txt +0 -1
  182. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/lint_errors.txt +0 -0
  183. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/logs.txt +0 -700
  184. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/message.txt +0 -2
  185. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/prompt.txt +0 -16
  186. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/tests.json +0 -164
  187. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/type_errors.txt +0 -138
  188. package/testeranto/reports/allTests/src/lib/core.test/core.test/node/lint_errors.txt +0 -21
  189. package/testeranto/reports/allTests/src/lib/core.test/core.test/node/logs.txt +0 -7
  190. package/testeranto/reports/allTests/src/lib/core.test/core.test/node/message.txt +0 -2
  191. package/testeranto/reports/allTests/src/lib/core.test/core.test/node/prompt.txt +0 -18
  192. package/testeranto/reports/allTests/src/lib/core.test/core.test/node/type_errors.txt +0 -63
  193. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/bdd_errors.txt +0 -1
  194. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/lint_errors.txt +0 -20
  195. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/logs.txt +0 -31
  196. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/message.txt +0 -2
  197. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/prompt.txt +0 -16
  198. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/tests.json +0 -134
  199. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/type_errors.txt +0 -76
  200. package/testeranto/reports/allTests/summary.json +0 -79
  201. package/testeranto/reportsnode_build_errors +0 -20
  202. package/testeranto/reportspure_build_errors +0 -343
  203. package/testeranto/reportsweb_build_errors +0 -25
@@ -1,425 +0,0 @@
1
- import { createRequire } from 'module';const require = createRequire(import.meta.url);
2
- import {
3
- Pure_default
4
- } from "../../../chunk-KHDVEHF7.mjs";
5
- import {
6
- BaseGiven,
7
- BaseSuite,
8
- BaseThen,
9
- BaseWhen
10
- } from "../../../chunk-VMUSFSZM.mjs";
11
-
12
- // src/lib/BaseSuite.test/mock.ts
13
- var MockGiven = class extends BaseGiven {
14
- constructor(name, features, whens, thens) {
15
- super(
16
- name,
17
- features,
18
- whens,
19
- thens,
20
- async () => ({ testStore: true, testSelection: false }),
21
- // givenCB
22
- {}
23
- // initialValues
24
- );
25
- }
26
- async givenThat() {
27
- return { testStore: true, testSelection: false };
28
- }
29
- uberCatcher(e) {
30
- console.error("Given error 2:", e);
31
- }
32
- };
33
- var MockWhen = class extends BaseWhen {
34
- async andWhen(store, whenCB, testResource, pm) {
35
- console.log(
36
- "[DEBUG] MockWhen - andWhen - input store:",
37
- JSON.stringify(store)
38
- );
39
- const newStore = {
40
- ...store,
41
- testSelection: true
42
- // Ensure testSelection is set for assertions
43
- };
44
- console.log("[DEBUG] MockWhen - andWhen - calling whenCB");
45
- const result = await whenCB(newStore);
46
- console.log("[DEBUG] MockWhen - andWhen - result:", JSON.stringify(result));
47
- return result;
48
- }
49
- addArtifact(name, content) {
50
- return this;
51
- }
52
- };
53
- var MockThen = class extends BaseThen {
54
- async butThen(store, thenCB, testResourceConfiguration, pm) {
55
- console.log(
56
- "[DEBUG] MockThen - butThen - input store:",
57
- JSON.stringify(store)
58
- );
59
- if (!store) {
60
- throw new Error("Store is undefined in butThen");
61
- }
62
- const testSelection = {
63
- name: store.name,
64
- index: store.index,
65
- testSelection: store.testSelection || false,
66
- error: store.error ? true : void 0
67
- };
68
- console.log(
69
- "[DEBUG] MockThen - passing testSelection:",
70
- JSON.stringify(testSelection)
71
- );
72
- try {
73
- const result = await thenCB(testSelection);
74
- console.log(
75
- "[DEBUG] MockThen - received result:",
76
- JSON.stringify(result)
77
- );
78
- if (!result || typeof result.testSelection === "undefined") {
79
- throw new Error(
80
- `Invalid test selection result: ${JSON.stringify(result)}`
81
- );
82
- }
83
- return result;
84
- } catch (e) {
85
- console.error("[ERROR] MockThen - butThen failed:", e);
86
- throw e;
87
- }
88
- }
89
- };
90
- var MockSuite = class extends BaseSuite {
91
- constructor(name, index) {
92
- if (!name) {
93
- throw new Error("MockSuite requires a non-empty name");
94
- }
95
- console.log("[DEBUG] Creating MockSuite with name:", name, "index:", index);
96
- const suiteName = name || "testSuite";
97
- super(suiteName, index, {
98
- testGiven: new MockGiven(
99
- "testGiven",
100
- ["testFeature"],
101
- [new MockWhen("testWhen", () => Promise.resolve({ testStore: true }))],
102
- [
103
- new MockThen(
104
- "testThen",
105
- async () => Promise.resolve({ testSelection: true })
106
- )
107
- ]
108
- )
109
- });
110
- console.log("[DEBUG] MockSuite created:", this.name, this.index);
111
- }
112
- };
113
-
114
- // src/lib/BaseSuite.test/test.ts
115
- var specification = (Suite, Given, When, Then) => [
116
- Suite.Default("BaseSuite Core Functionality Tests", {
117
- // Test initialization and basic properties
118
- initialization: Given.Default(
119
- ["BaseSuite should initialize with correct name and index"],
120
- [],
121
- [Then.SuiteNameMatches("testSuite"), Then.SuiteIndexMatches(0)]
122
- )
123
- // // Test execution flow
124
- // execution: Given.Default(
125
- // ["BaseSuite should execute all phases successfully"],
126
- // [When.RunSuite()],
127
- // [Then.StoreValid()]
128
- // ),
129
- // // Test multiple features
130
- // multipleFeatures: Given.Default(
131
- // ["BaseSuite should handle multiple features"],
132
- // [When.AddFeature("additionalFeature")],
133
- // [
134
- // Then.FeaturesIncludes("testFeature"),
135
- // Then.FeaturesIncludes("additionalFeature"),
136
- // Then.FeatureCountMatches(2),
137
- // ]
138
- // ),
139
- // // Test error handling
140
- // errorHandling: Given.Default(
141
- // ["BaseSuite should handle errors gracefully"],
142
- // [When.RunSuiteWithError()],
143
- // [Then.ErrorCountMatches(1), Then.FailedFlagSet()]
144
- // ),
145
- })
146
- // Suite.Default("Comprehensive Integration", {
147
- // fullStackTest: Given.Default(
148
- // ["All components should work together"],
149
- // [
150
- // When.addArtifact(Promise.resolve("test")),
151
- // When.modifySpecs((specs) => [...specs, "extra"]),
152
- // When.modifyJobs((jobs) => [...jobs, {}]),
153
- // ],
154
- // [
155
- // Then.specsModified(1),
156
- // Then.jobsModified(1),
157
- // Then.artifactsTracked(),
158
- // Then.testRunSuccessful(),
159
- // ]
160
- // ),
161
- // }),
162
- ];
163
- var implementation = {
164
- suites: {
165
- Default: "BaseSuite Comprehensive Test Suite"
166
- },
167
- givens: {
168
- Default: () => {
169
- const suite = new MockSuite("testSuite", 0);
170
- console.log("[DEBUG] Created test suite:", suite.name, suite.index);
171
- return suite;
172
- }
173
- },
174
- whens: {
175
- addArtifact: (artifact) => (suite) => {
176
- suite.artifacts.push(artifact);
177
- return suite;
178
- },
179
- modifySpecs: (modifier) => (suite) => {
180
- suite.specs = modifier(suite.specs);
181
- return suite;
182
- },
183
- modifyJobs: (modifier) => (suite) => {
184
- suite.testJobs = modifier(suite.testJobs);
185
- return suite;
186
- },
187
- RunSuite: () => async (suite) => {
188
- console.log("[DEBUG] Running RunSuite");
189
- const mockConfig = {
190
- name: "test",
191
- fs: "/tmp",
192
- ports: [3e3],
193
- environment: {},
194
- timeout: 5e3,
195
- retries: 3
196
- };
197
- const mockArtifactory = (key, value) => {
198
- };
199
- const mockTLog = (...args) => {
200
- };
201
- const mockPM = {
202
- server: null,
203
- testResourceConfiguration: mockConfig,
204
- start: async () => {
205
- },
206
- stop: async () => {
207
- },
208
- testArtiFactoryfileWriter: () => {
209
- },
210
- $: () => {
211
- },
212
- click: () => {
213
- },
214
- closePage: () => {
215
- },
216
- createWriteStream: async () => ""
217
- };
218
- return await suite.run(
219
- null,
220
- mockConfig,
221
- mockArtifactory,
222
- mockTLog,
223
- mockPM
224
- );
225
- },
226
- RunSuiteWithError: () => async (suite) => {
227
- try {
228
- await suite.run(
229
- null,
230
- {},
231
- // Invalid config
232
- () => {
233
- },
234
- () => {
235
- },
236
- {}
237
- );
238
- } catch (e) {
239
- }
240
- return suite;
241
- },
242
- AddFeature: (feature) => (suite) => {
243
- const firstGivenKey = Object.keys(suite.givens)[0];
244
- if (firstGivenKey) {
245
- suite.givens[firstGivenKey].features.push(feature);
246
- }
247
- return suite;
248
- }
249
- },
250
- thens: {
251
- SuiteNameMatches: (expectedName) => (suite) => {
252
- console.log(
253
- "[DEBUG] SuiteNameMatches - expected:",
254
- expectedName,
255
- "actual:",
256
- suite?.name
257
- );
258
- if (!suite?.name) {
259
- throw new Error(`Suite name is undefined. Expected: ${expectedName}`);
260
- }
261
- if (suite.name !== expectedName) {
262
- throw new Error(
263
- `Expected suite name '${expectedName}', got '${suite.name}'`
264
- );
265
- }
266
- return suite;
267
- },
268
- SuiteIndexMatches: (expectedIndex) => (suite) => {
269
- if (suite.index !== expectedIndex) {
270
- throw new Error(
271
- `Expected suite index ${expectedIndex}, got ${suite.index}`
272
- );
273
- }
274
- return suite;
275
- },
276
- FeaturesIncludes: (feature) => (suite) => {
277
- if (!suite.features().includes(feature)) {
278
- throw new Error(`Expected features to include ${feature}`);
279
- }
280
- return suite;
281
- },
282
- FeatureCountMatches: (expectedCount) => (suite) => {
283
- const actualCount = suite.features().length;
284
- if (actualCount !== expectedCount) {
285
- throw new Error(
286
- `Expected ${expectedCount} features, got ${actualCount}`
287
- );
288
- }
289
- return suite;
290
- },
291
- StoreValid: () => (suite) => {
292
- if (!suite.store?.testStore) {
293
- throw new Error("Expected valid store after execution");
294
- }
295
- return suite;
296
- },
297
- NoErrorsOccurred: () => (suite) => {
298
- if (suite.failed || suite.fails > 0) {
299
- throw new Error("Expected no errors to occur during execution");
300
- }
301
- return suite;
302
- },
303
- ErrorCountMatches: (expectedCount) => (suite) => {
304
- if (suite.fails !== expectedCount) {
305
- throw new Error(
306
- `Expected ${expectedCount} errors, got ${suite.fails}`
307
- );
308
- }
309
- return suite;
310
- },
311
- FailedFlagSet: () => (suite) => {
312
- if (!suite.failed) {
313
- throw new Error("Expected failed flag to be set after error");
314
- }
315
- return suite;
316
- },
317
- AllTestsCompleted: () => (suite) => {
318
- if (!suite.store) {
319
- throw new Error("Expected all tests to be completed");
320
- }
321
- return suite;
322
- },
323
- CleanExit: () => (suite) => {
324
- if (suite.failed && suite.fails === 0) {
325
- throw new Error("Expected clean exit state");
326
- }
327
- return suite;
328
- },
329
- specsModified: (expectedCount) => (suite) => {
330
- if (suite.specs.length !== expectedCount) {
331
- throw new Error(`Expected ${expectedCount} modified specs`);
332
- }
333
- return suite;
334
- },
335
- jobsModified: (expectedCount) => (suite) => {
336
- if (suite.testJobs.length !== expectedCount) {
337
- throw new Error(`Expected ${expectedCount} modified jobs`);
338
- }
339
- return suite;
340
- },
341
- artifactsTracked: () => (suite) => {
342
- if (suite.artifacts.length === 0) {
343
- throw new Error("Expected artifacts to be tracked");
344
- }
345
- return suite;
346
- },
347
- testRunSuccessful: () => (suite) => {
348
- if (suite.failed) {
349
- throw new Error("Expected test run to be successful");
350
- }
351
- return suite;
352
- }
353
- }
354
- };
355
- var testAdapter = {
356
- beforeEach: async (subject, initializer, testResource, initialValues, pm) => {
357
- console.log("[DEBUG] Running beforeEach with subject:", subject);
358
- try {
359
- const suite = await initializer();
360
- if (!suite) {
361
- throw new Error("Initializer returned undefined suite");
362
- }
363
- console.log("[DEBUG] beforeEach result:", {
364
- name: suite.name,
365
- index: suite.index,
366
- store: suite.store
367
- });
368
- return {
369
- name: suite.name,
370
- index: suite.index,
371
- testStore: true,
372
- testSelection: false,
373
- ...suite.store || {}
374
- };
375
- } catch (e) {
376
- console.error("Given error:", e);
377
- throw e;
378
- }
379
- },
380
- andWhen: async (store, whenCB, testResource, pm) => whenCB(store, pm),
381
- butThen: async (store, thenCB, testResource, pm) => {
382
- console.log(
383
- "[DEBUG] butThen - input store:",
384
- JSON.stringify(store, null, 2)
385
- );
386
- const testSelection = {
387
- testSelection: store.testSelection || false,
388
- error: store.error ? true : void 0
389
- };
390
- console.log(
391
- "[DEBUG] butThen - created testSelection:",
392
- JSON.stringify(testSelection, null, 2)
393
- );
394
- try {
395
- const result = await thenCB(testSelection);
396
- console.log("[DEBUG] butThen - result:", JSON.stringify(result, null, 2));
397
- if (!result || typeof result.testSelection === "undefined") {
398
- throw new Error(
399
- `Invalid test selection result: ${JSON.stringify(result)}`
400
- );
401
- }
402
- return result;
403
- } catch (e) {
404
- console.error("Then error:", e.toString());
405
- console.error("Full store state:", JSON.stringify(store, null, 2));
406
- throw e;
407
- }
408
- },
409
- afterEach: (store) => store,
410
- afterAll: (store, pm) => {
411
- },
412
- assertThis: (result) => !!result,
413
- beforeAll: async (input, testResource, pm) => input
414
- };
415
-
416
- // src/lib/BaseSuite.test/pure.test.ts
417
- var pure_test_default = Pure_default(
418
- BaseSuite,
419
- specification,
420
- implementation,
421
- testAdapter
422
- );
423
- export {
424
- pure_test_default as default
425
- };