testeranto 0.146.2 → 0.146.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/dist/common/src/Node.js +9 -6
  2. package/dist/common/src/PM/PM_WithEslintAndTsc.js +75 -58
  3. package/dist/common/src/PM/main.js +131 -79
  4. package/dist/common/src/PM/node.js +1 -14
  5. package/dist/common/src/PM/nodeSidecar.js +0 -1
  6. package/dist/common/src/Pure.js +17 -1
  7. package/dist/common/src/Pure.test.js +172 -0
  8. package/dist/common/src/build.js +0 -1
  9. package/dist/common/src/esbuildConfigs/consoleDetectorPlugin.js +22 -11
  10. package/dist/common/src/esbuildConfigs/nativeImportDetectorPlugin.js +24 -0
  11. package/dist/common/src/esbuildConfigs/pure.js +2 -1
  12. package/dist/common/src/esbuildConfigs/rebuildPlugin.js +1 -4
  13. package/dist/common/src/lib/BaseSuite.js +89 -0
  14. package/dist/common/src/lib/BaseSuite.test/node.test.js +9 -0
  15. package/dist/common/src/lib/BaseSuite.test/pure.test.js +9 -0
  16. package/dist/common/src/lib/BaseSuite.test/test.js +232 -0
  17. package/dist/common/src/lib/BaseSuite.test/web.test.js +9 -0
  18. package/dist/common/src/lib/abstractBase.js +1 -90
  19. package/dist/common/src/lib/abstractBase.test/MockGiven.js +17 -0
  20. package/dist/common/src/lib/abstractBase.test/MockThen.js +13 -0
  21. package/dist/common/src/lib/abstractBase.test/MockWhen.js +13 -0
  22. package/dist/common/src/lib/abstractBase.test/implementation.js +42 -0
  23. package/dist/common/src/lib/abstractBase.test/index.js +17 -0
  24. package/dist/common/src/lib/abstractBase.test/interface.js +12 -0
  25. package/dist/common/src/lib/abstractBase.test/specification.js +19 -0
  26. package/dist/common/src/lib/abstractBase.test/types.js +2 -0
  27. package/dist/common/src/lib/baseBuilder.test/TestBaseBuilder.js +36 -0
  28. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +97 -0
  29. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.interface.js +17 -0
  30. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.node.js +11 -0
  31. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.pure.js +11 -0
  32. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.specification.js +13 -0
  33. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.types.js +2 -0
  34. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.web.js +11 -0
  35. package/dist/common/src/lib/basebuilder.js +2 -20
  36. package/dist/common/src/lib/classBuilder.test/TestClassBuilder.js +41 -0
  37. package/dist/common/src/lib/classBuilder.test/classBuilder.test.implementation.js +182 -0
  38. package/dist/common/src/lib/classBuilder.test/classBuilder.test.interface.js +17 -0
  39. package/dist/common/src/lib/classBuilder.test/classBuilder.test.js +11 -0
  40. package/dist/common/src/lib/classBuilder.test/classBuilder.test.specification.js +41 -0
  41. package/dist/common/src/lib/classBuilder.test/classBuilder.test.types.js +2 -0
  42. package/dist/common/src/lib/core.js +4 -13
  43. package/dist/common/src/lib/core.test/MockCore.js +25 -0
  44. package/dist/common/src/lib/core.test/core.test.implementation.js +102 -0
  45. package/dist/common/src/lib/core.test/core.test.interface.js +18 -0
  46. package/dist/common/src/lib/core.test/core.test.js +17 -0
  47. package/dist/common/src/lib/core.test/core.test.specification.js +33 -0
  48. package/dist/common/src/lib/core.test/core.test.types.js +2 -0
  49. package/dist/common/src/lib/pmProxy.js +9 -166
  50. package/dist/common/src/lib/pmProxy.test/implementation.js +76 -0
  51. package/dist/common/src/lib/pmProxy.test/index.js +15 -0
  52. package/dist/common/src/lib/pmProxy.test/interface.js +37 -0
  53. package/dist/common/src/lib/pmProxy.test/mockPM.js +34 -0
  54. package/dist/common/src/lib/pmProxy.test/mockPMBase.js +115 -0
  55. package/dist/common/src/lib/pmProxy.test/specification.js +39 -0
  56. package/dist/common/src/lib/pmProxy.test/types.js +2 -0
  57. package/dist/common/src/run.js +6 -6
  58. package/dist/common/testeranto.config.js +33 -18
  59. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  60. package/dist/module/src/Node.js +9 -6
  61. package/dist/module/src/PM/PM_WithEslintAndTsc.js +75 -58
  62. package/dist/module/src/PM/main.js +131 -79
  63. package/dist/module/src/PM/node.js +1 -14
  64. package/dist/module/src/PM/nodeSidecar.js +0 -1
  65. package/dist/module/src/Pure.js +17 -1
  66. package/dist/module/src/Pure.test.js +167 -0
  67. package/dist/module/src/build.js +0 -1
  68. package/dist/module/src/esbuildConfigs/consoleDetectorPlugin.js +19 -11
  69. package/dist/module/src/esbuildConfigs/nativeImportDetectorPlugin.js +21 -0
  70. package/dist/module/src/esbuildConfigs/pure.js +2 -1
  71. package/dist/module/src/esbuildConfigs/rebuildPlugin.js +1 -4
  72. package/dist/module/src/lib/BaseSuite.js +85 -0
  73. package/dist/module/src/lib/BaseSuite.test/node.test.js +4 -0
  74. package/dist/module/src/lib/BaseSuite.test/pure.test.js +4 -0
  75. package/dist/module/src/lib/BaseSuite.test/test.js +227 -0
  76. package/dist/module/src/lib/BaseSuite.test/web.test.js +4 -0
  77. package/dist/module/src/lib/abstractBase.js +1 -89
  78. package/dist/module/src/lib/abstractBase.test/MockGiven.js +13 -0
  79. package/dist/module/src/lib/abstractBase.test/MockThen.js +9 -0
  80. package/dist/module/src/lib/abstractBase.test/MockWhen.js +9 -0
  81. package/dist/module/src/lib/abstractBase.test/implementation.js +39 -0
  82. package/dist/module/src/lib/abstractBase.test/index.js +12 -0
  83. package/dist/module/src/lib/abstractBase.test/interface.js +9 -0
  84. package/dist/module/src/lib/abstractBase.test/specification.js +15 -0
  85. package/dist/module/src/lib/abstractBase.test/types.js +1 -0
  86. package/dist/module/src/lib/baseBuilder.test/TestBaseBuilder.js +32 -0
  87. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +94 -0
  88. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.interface.js +14 -0
  89. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.node.js +6 -0
  90. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.pure.js +6 -0
  91. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.specification.js +9 -0
  92. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.types.js +1 -0
  93. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.web.js +6 -0
  94. package/dist/module/src/lib/basebuilder.js +2 -20
  95. package/dist/module/src/lib/classBuilder.test/TestClassBuilder.js +37 -0
  96. package/dist/module/src/lib/classBuilder.test/classBuilder.test.implementation.js +179 -0
  97. package/dist/module/src/lib/classBuilder.test/classBuilder.test.interface.js +14 -0
  98. package/dist/module/src/lib/classBuilder.test/classBuilder.test.js +6 -0
  99. package/dist/module/src/lib/classBuilder.test/classBuilder.test.specification.js +37 -0
  100. package/dist/module/src/lib/classBuilder.test/classBuilder.test.types.js +1 -0
  101. package/dist/module/src/lib/core.js +3 -12
  102. package/dist/module/src/lib/core.test/MockCore.js +18 -0
  103. package/dist/module/src/lib/core.test/core.test.implementation.js +99 -0
  104. package/dist/module/src/lib/core.test/core.test.interface.js +15 -0
  105. package/dist/module/src/lib/core.test/core.test.js +12 -0
  106. package/dist/module/src/lib/core.test/core.test.specification.js +29 -0
  107. package/dist/module/src/lib/core.test/core.test.types.js +1 -0
  108. package/dist/module/src/lib/pmProxy.js +9 -166
  109. package/dist/module/src/lib/pmProxy.test/implementation.js +73 -0
  110. package/dist/module/src/lib/pmProxy.test/index.js +10 -0
  111. package/dist/module/src/lib/pmProxy.test/interface.js +34 -0
  112. package/dist/module/src/lib/pmProxy.test/mockPM.js +30 -0
  113. package/dist/module/src/lib/pmProxy.test/mockPMBase.js +111 -0
  114. package/dist/module/src/lib/pmProxy.test/specification.js +35 -0
  115. package/dist/module/src/lib/pmProxy.test/types.js +1 -0
  116. package/dist/module/src/run.js +6 -6
  117. package/dist/module/testeranto.config.js +33 -18
  118. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  119. package/dist/prebuild/Project.js +16 -15
  120. package/dist/prebuild/TestReport.js +14 -12
  121. package/dist/prebuild/build.mjs +34 -34
  122. package/dist/prebuild/run.mjs +259 -173
  123. package/dist/tsconfig.tsbuildinfo +1 -1
  124. package/dist/types/src/PM/PM_WithEslintAndTsc.d.ts +2 -1
  125. package/dist/types/src/PM/main.d.ts +5 -2
  126. package/dist/types/src/Pure.d.ts +2 -2
  127. package/dist/types/src/Pure.test.d.ts +36 -0
  128. package/dist/types/src/Types.d.ts +7 -6
  129. package/dist/types/src/Web.d.ts +1 -1
  130. package/dist/types/src/esbuildConfigs/consoleDetectorPlugin.d.ts +1 -1
  131. package/dist/types/src/esbuildConfigs/nativeImportDetectorPlugin.d.ts +2 -0
  132. package/dist/types/src/lib/BaseSuite.d.ts +39 -0
  133. package/dist/types/src/lib/BaseSuite.test/node.test.d.ts +3 -0
  134. package/dist/types/src/lib/BaseSuite.test/pure.test.d.ts +3 -0
  135. package/dist/types/src/lib/BaseSuite.test/test.d.ts +42 -0
  136. package/dist/types/src/lib/BaseSuite.test/web.test.d.ts +3 -0
  137. package/dist/types/src/lib/abstractBase.d.ts +1 -36
  138. package/dist/types/src/lib/abstractBase.test/MockGiven.d.ts +7 -0
  139. package/dist/types/src/lib/abstractBase.test/MockThen.d.ts +6 -0
  140. package/dist/types/src/lib/abstractBase.test/MockWhen.d.ts +6 -0
  141. package/dist/types/src/lib/abstractBase.test/implementation.d.ts +3 -0
  142. package/dist/types/src/lib/abstractBase.test/index.d.ts +3 -0
  143. package/dist/types/src/lib/abstractBase.test/interface.d.ts +3 -0
  144. package/dist/types/src/lib/abstractBase.test/specification.d.ts +3 -0
  145. package/dist/types/src/lib/abstractBase.test/types.d.ts +39 -0
  146. package/dist/types/src/lib/baseBuilder.test/TestBaseBuilder.d.ts +15 -0
  147. package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.implementation.d.ts +3 -0
  148. package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.interface.d.ts +3 -0
  149. package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.node.d.ts +3 -0
  150. package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.pure.d.ts +3 -0
  151. package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.specification.d.ts +3 -0
  152. package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.types.d.ts +20 -0
  153. package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.web.d.ts +3 -0
  154. package/dist/types/src/lib/classBuilder.test/TestClassBuilder.d.ts +21 -0
  155. package/dist/types/src/lib/classBuilder.test/classBuilder.test.d.ts +3 -0
  156. package/dist/types/src/lib/classBuilder.test/classBuilder.test.implementation.d.ts +3 -0
  157. package/dist/types/src/lib/classBuilder.test/classBuilder.test.interface.d.ts +3 -0
  158. package/dist/types/src/lib/classBuilder.test/classBuilder.test.specification.d.ts +3 -0
  159. package/dist/types/src/lib/classBuilder.test/classBuilder.test.types.d.ts +56 -0
  160. package/dist/types/src/lib/core.d.ts +1 -1
  161. package/dist/types/src/lib/core.test/MockCore.d.ts +10 -0
  162. package/dist/types/src/lib/core.test/core.test.d.ts +3 -0
  163. package/dist/types/src/lib/core.test/core.test.implementation.d.ts +3 -0
  164. package/dist/types/src/lib/core.test/core.test.interface.d.ts +3 -0
  165. package/dist/types/src/lib/core.test/core.test.specification.d.ts +3 -0
  166. package/dist/types/src/lib/core.test/core.test.types.d.ts +46 -0
  167. package/dist/types/src/lib/index.d.ts +2 -1
  168. package/dist/types/src/lib/pmProxy.d.ts +11 -6
  169. package/dist/types/src/lib/pmProxy.test/implementation.d.ts +3 -0
  170. package/dist/types/src/lib/pmProxy.test/index.d.ts +7 -0
  171. package/dist/types/src/lib/pmProxy.test/interface.d.ts +3 -0
  172. package/dist/types/src/lib/pmProxy.test/mockPM.d.ts +10 -0
  173. package/dist/types/src/lib/pmProxy.test/mockPMBase.d.ts +39 -0
  174. package/dist/types/src/lib/pmProxy.test/specification.d.ts +3 -0
  175. package/dist/types/src/lib/pmProxy.test/types.d.ts +42 -0
  176. package/dist/types/src/lib/types.d.ts +2 -1
  177. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  178. package/docs.html +35 -33
  179. package/index.html +23 -30
  180. package/package.json +8 -18
  181. package/src/lib/basebuilder.ts +0 -24
  182. package/testeranto/Project.css +1 -26
  183. package/testeranto/Project.js +3337 -385
  184. package/testeranto/TestReport.css +1 -26
  185. package/testeranto/TestReport.js +43 -16
  186. package/testeranto/bundles/node/allTests/metafile.json +1 -1
  187. package/testeranto/bundles/pure/allTests/metafile.json +1 -1
  188. package/testeranto/bundles/web/allTests/metafile.json +1 -1
  189. package/testeranto/index.html +1 -1
  190. package/testeranto/reports/allTests/index.html +1 -1
  191. package/testeranto/reports/allTests/src/Pure.test/pure/index.html +1 -1
  192. package/testeranto/reports/allTests/src/Pure.test/pure/lint_errors.json +137 -1539
  193. package/testeranto/reports/allTests/src/Pure.test/pure/logs.txt +2 -2
  194. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/index.html +1 -1
  195. package/testeranto/reports/allTests/src/lib/BaseSuite.test/node.test/node/lint_errors.json +58 -620
  196. package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/index.html +1 -1
  197. package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/lint_errors.json +58 -620
  198. package/testeranto/reports/allTests/src/lib/BaseSuite.test/pure.test/pure/logs.txt +2 -2
  199. package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/index.html +1 -1
  200. package/testeranto/reports/allTests/src/lib/BaseSuite.test/web.test/web/lint_errors.json +58 -620
  201. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/index.html +1 -1
  202. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.node/node/lint_errors.json +104 -966
  203. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/index.html +1 -1
  204. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/lint_errors.json +104 -966
  205. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/index.html +1 -1
  206. package/testeranto/reports/allTests/src/lib/baseBuilder.test/baseBuilder.test.web/web/lint_errors.json +104 -966
  207. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/index.html +1 -1
  208. package/testeranto/reports/allTests/src/lib/classBuilder.test/classBuilder.test/node/lint_errors.json +63 -791
  209. package/testeranto/reports/allTests/src/lib/core.test/core.test/node/index.html +1 -1
  210. package/testeranto/reports/allTests/src/lib/core.test/core.test/node/lint_errors.json +39 -416
  211. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/index.html +1 -1
  212. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/lint_errors.json +156 -1724
  213. package/testeranto/reports/allTests/src/lib/pmProxy.test/index/node/logs.txt +3 -3
  214. package/testeranto.config.ts +1 -1
  215. package/tsc.log +36 -38
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.implementation = void 0;
4
+ /* eslint-disable @typescript-eslint/no-unused-vars */
5
+ const stream_1 = require("stream");
6
+ const TestClassBuilder_1 = require("./TestClassBuilder");
7
+ const classBuilder_test_specification_1 = require("./classBuilder.test.specification");
8
+ exports.implementation = {
9
+ suites: {
10
+ Default: "ClassBuilder test suite",
11
+ },
12
+ givens: {
13
+ Default: () => {
14
+ return new TestClassBuilder_1.TestClassBuilder(exports.implementation, // Use the current implementation
15
+ classBuilder_test_specification_1.specification, // Use the current specification
16
+ {}, // Default input
17
+ class {
18
+ }, // suiteKlasser
19
+ class {
20
+ }, // givenKlasser
21
+ class {
22
+ }, // whenKlasser
23
+ class {
24
+ }, // thenKlasser
25
+ class {
26
+ }, // checkKlasser
27
+ { ports: [] } // Default resource requirements
28
+ );
29
+ },
30
+ WithCustomInput: (input) => {
31
+ return new TestClassBuilder_1.TestClassBuilder(exports.implementation, classBuilder_test_specification_1.specification, input, class {
32
+ }, class {
33
+ }, class {
34
+ }, class {
35
+ }, class {
36
+ }, { ports: [] });
37
+ },
38
+ WithResourceRequirements: (requirements) => {
39
+ return new TestClassBuilder_1.TestClassBuilder(exports.implementation, classBuilder_test_specification_1.specification, {}, class {
40
+ }, class {
41
+ }, class {
42
+ }, class {
43
+ }, class {
44
+ }, requirements);
45
+ },
46
+ WithCustomImplementation: (impl) => {
47
+ return new TestClassBuilder_1.TestClassBuilder(impl, classBuilder_test_specification_1.specification, {}, class {
48
+ }, class {
49
+ }, class {
50
+ }, class {
51
+ }, class {
52
+ }, { ports: [] });
53
+ },
54
+ WithCustomSpecification: (spec) => {
55
+ return new TestClassBuilder_1.TestClassBuilder(exports.implementation, spec, {}, class {
56
+ }, class {
57
+ }, class {
58
+ }, class {
59
+ }, class {
60
+ }, { ports: [] });
61
+ },
62
+ },
63
+ whens: {
64
+ addArtifact: (artifact) => (builder) => {
65
+ builder.artifacts.push(artifact);
66
+ return builder;
67
+ },
68
+ setTestJobs: (jobs) => (builder) => {
69
+ builder.testJobs = jobs;
70
+ return builder;
71
+ },
72
+ modifySpecs: (modifier) => (builder) => {
73
+ builder.specs = modifier(builder.specs || []);
74
+ return builder;
75
+ },
76
+ modifyJobs: (modifier) => (builder) => {
77
+ builder.testJobs = modifier(builder.testJobs || []);
78
+ return builder;
79
+ },
80
+ triggerError: (message) => (builder) => {
81
+ throw new Error(message);
82
+ },
83
+ },
84
+ thens: {
85
+ initializedProperly: () => (builder) => {
86
+ if (!(builder instanceof TestClassBuilder_1.TestClassBuilder)) {
87
+ throw new Error("Builder was not properly initialized");
88
+ }
89
+ return builder;
90
+ },
91
+ specsGenerated: () => (builder) => {
92
+ if (!Array.isArray(builder.specs)) {
93
+ throw new Error("Specs were not generated");
94
+ }
95
+ return builder;
96
+ },
97
+ jobsCreated: () => (builder) => {
98
+ if (!Array.isArray(builder.testJobs)) {
99
+ throw new Error("Test jobs were not created");
100
+ }
101
+ return builder;
102
+ },
103
+ artifactsTracked: () => (builder) => {
104
+ if (!Array.isArray(builder.artifacts)) {
105
+ throw new Error("Artifacts array not initialized");
106
+ }
107
+ return builder;
108
+ },
109
+ resourceRequirementsSet: () => (builder) => {
110
+ if (!builder.testResourceRequirement) {
111
+ throw new Error("Resource requirements not set");
112
+ }
113
+ return builder;
114
+ },
115
+ suitesOverridesConfigured: () => (builder) => {
116
+ if (!builder.suitesOverrides) {
117
+ throw new Error("Suites overrides not configured");
118
+ }
119
+ return builder;
120
+ },
121
+ givensOverridesConfigured: () => (builder) => {
122
+ if (!builder.givenOverides) {
123
+ throw new Error("Givens overrides not configured");
124
+ }
125
+ return builder;
126
+ },
127
+ whensOverridesConfigured: () => (builder) => {
128
+ if (!builder.whenOverides) {
129
+ throw new Error("Whens overrides not configured");
130
+ }
131
+ return builder;
132
+ },
133
+ thensOverridesConfigured: () => (builder) => {
134
+ if (!builder.thenOverides) {
135
+ throw new Error("Thens overrides not configured");
136
+ }
137
+ return builder;
138
+ },
139
+ checksOverridesConfigured: () => (builder) => {
140
+ if (!builder.checkOverides) {
141
+ throw new Error("Checks overrides not configured");
142
+ }
143
+ return builder;
144
+ },
145
+ specsModified: (expectedCount) => (builder) => {
146
+ if (builder.specs.length <= expectedCount) {
147
+ throw new Error(`Expected at least ${expectedCount} modified specs`);
148
+ }
149
+ return builder;
150
+ },
151
+ jobsModified: (expectedCount) => (builder) => {
152
+ if (builder.testJobs.length <= expectedCount) {
153
+ throw new Error(`Expected at least ${expectedCount} modified jobs`);
154
+ }
155
+ return builder;
156
+ },
157
+ errorThrown: (expectedMessage) => (builder) => {
158
+ // This is handled by the test runner
159
+ return builder;
160
+ },
161
+ testRunSuccessful: () => async (builder) => {
162
+ try {
163
+ await builder.testRun({
164
+ testResourceConfiguration: {
165
+ name: "test",
166
+ fs: "/tmp",
167
+ ports: [],
168
+ },
169
+ });
170
+ return builder;
171
+ }
172
+ catch (e) {
173
+ throw new Error(`Test run failed: ${e.message}`);
174
+ }
175
+ },
176
+ },
177
+ checks: {
178
+ Default: () => new stream_1.PassThrough(),
179
+ ImplementationCheck: (validator) => validator(exports.implementation),
180
+ SpecificationCheck: (validator) => validator(classBuilder_test_specification_1.specification),
181
+ },
182
+ };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.testInterface = void 0;
4
+ exports.testInterface = {
5
+ beforeEach: async (subject, initializer) => {
6
+ return initializer();
7
+ },
8
+ andWhen: async (store, whenCB, testResource, utils) => {
9
+ return whenCB(store, utils);
10
+ },
11
+ butThen: async (store, thenCB, testResource, pm) => {
12
+ return thenCB(store, pm);
13
+ },
14
+ afterEach: (store) => store,
15
+ afterAll: () => { },
16
+ assertThis: (x) => { },
17
+ };
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const Node_1 = __importDefault(require("../../Node"));
7
+ const classBuilder_1 = require("../classBuilder");
8
+ const classBuilder_test_specification_1 = require("./classBuilder.test.specification");
9
+ const classBuilder_test_implementation_1 = require("./classBuilder.test.implementation");
10
+ const classBuilder_test_interface_1 = require("./classBuilder.test.interface");
11
+ exports.default = (0, Node_1.default)(classBuilder_1.ClassBuilder.prototype, classBuilder_test_specification_1.specification, classBuilder_test_implementation_1.implementation, classBuilder_test_interface_1.testInterface);
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.specification = void 0;
4
+ const specification = (Suite, Given, When, Then, Check) => {
5
+ return [
6
+ Suite.Default("Basic ClassBuilder Functionality", {
7
+ // Basic initialization tests
8
+ initialization: Given.Default(["ClassBuilder should initialize with default values"], [], [Then.initializedProperly()]),
9
+ customInput: Given.WithCustomInput({ custom: "input" }, [], [Then.initializedProperly()]),
10
+ resourceRequirements: Given.WithResourceRequirements({ ports: [3000, 3001] }, [], [Then.resourceRequirementsSet()]),
11
+ // Core functionality tests
12
+ specGeneration: Given.Default(["Should generate specs from test specification"], [], [Then.specsGenerated()]),
13
+ jobCreation: Given.Default(["Should create test jobs from specs"], [], [Then.jobsCreated()]),
14
+ artifactTracking: Given.Default(["Should track artifacts"], [When.addArtifact(Promise.resolve("test"))], [Then.artifactsTracked()]),
15
+ // Configuration tests
16
+ overridesConfiguration: Given.Default(["Should properly configure all overrides"], [], [
17
+ Then.suitesOverridesConfigured(),
18
+ Then.givensOverridesConfigured(),
19
+ Then.whensOverridesConfigured(),
20
+ Then.thensOverridesConfigured(),
21
+ Then.checksOverridesConfigured(),
22
+ ]),
23
+ }, []),
24
+ Suite.ExtendedSuite("Advanced ClassBuilder Functionality", {
25
+ // Custom implementations
26
+ customImplementation: Given.WithCustomImplementation(implementation, [], [Then.specsGenerated(), Then.jobsCreated()]),
27
+ customSpecification: Given.WithCustomSpecification(exports.specification, [], [Then.specsGenerated(), Then.jobsCreated()]),
28
+ // Dynamic modification tests
29
+ modifySpecs: Given.Default(["Should allow modifying specs"], [When.modifySpecs((specs) => [...specs, "extra"])], [Then.specsModified(1)]),
30
+ modifyJobs: Given.Default(["Should allow modifying jobs"], [When.modifyJobs((jobs) => [...jobs, {}])], [Then.jobsModified(1)]),
31
+ // Error handling
32
+ errorHandling: Given.Default(["Should properly handle errors"], [When.triggerError("test error")], [Then.errorThrown("test error")]),
33
+ // Full test run
34
+ testRun: Given.Default(["Should complete a full test run successfully"], [], [Then.testRunSuccessful()]),
35
+ }, [
36
+ Check.ImplementationCheck((impl) => impl !== null),
37
+ Check.SpecificationCheck((spec) => spec !== null),
38
+ ]),
39
+ ];
40
+ };
41
+ exports.specification = specification;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -5,10 +5,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
5
5
  const index_js_1 = require("./index.js");
6
6
  const abstractBase_js_1 = require("./abstractBase.js");
7
7
  const classBuilder_js_1 = require("./classBuilder.js");
8
- class Testeranto extends classBuilder_js_1.ClassBuilder {
8
+ const BaseSuite_js_1 = require("./BaseSuite.js");
9
+ class TesterantoCore extends classBuilder_js_1.ClassBuilder {
9
10
  constructor(input, testSpecification, testImplementation, testResourceRequirement = index_js_1.defaultTestResourceRequirement, testInterface, uberCatcher) {
10
11
  const fullTestInterface = (0, index_js_1.DefaultTestInterface)(testInterface);
11
- super(testImplementation, testSpecification, input, class extends abstractBase_js_1.BaseSuite {
12
+ super(testImplementation, testSpecification, input, class extends BaseSuite_js_1.BaseSuite {
12
13
  afterAll(store, artifactory, pm) {
13
14
  return fullTestInterface.afterAll(store, pm);
14
15
  }
@@ -35,16 +36,6 @@ class Testeranto extends classBuilder_js_1.ClassBuilder {
35
36
  }, class When extends abstractBase_js_1.BaseWhen {
36
37
  async andWhen(store, whenCB, testResource, pm) {
37
38
  return await fullTestInterface.andWhen(store, whenCB, testResource, pm);
38
- // try {
39
- // return await fullTestInterface.andWhen(
40
- // store,
41
- // whenCB,
42
- // testResource,
43
- // pm
44
- // );
45
- // } catch (e) {
46
- // console.log("mark22", e);
47
- // }
48
39
  }
49
40
  }, class Then extends abstractBase_js_1.BaseThen {
50
41
  async butThen(store, thenCB, testResource, pm) {
@@ -64,4 +55,4 @@ class Testeranto extends classBuilder_js_1.ClassBuilder {
64
55
  }, testResourceRequirement);
65
56
  }
66
57
  }
67
- exports.default = Testeranto;
58
+ exports.default = TesterantoCore;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MockCore = void 0;
7
+ const core_1 = __importDefault(require("../core"));
8
+ /**
9
+ * Concrete implementation of Testeranto for testing purposes
10
+ */
11
+ class MockCore extends core_1.default {
12
+ constructor(input, testSpecification, testImplementation, testResourceRequirement = { ports: [] }, testInterface = {}, uberCatcher = (cb) => cb()) {
13
+ super(input, testSpecification, testImplementation, testResourceRequirement, testInterface, uberCatcher);
14
+ }
15
+ async receiveTestResourceConfig(partialTestResource) {
16
+ return {
17
+ failed: false,
18
+ fails: 0,
19
+ artifacts: [],
20
+ logPromise: Promise.resolve(),
21
+ features: [],
22
+ };
23
+ }
24
+ }
25
+ exports.MockCore = MockCore;
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.implementation = void 0;
4
+ const MockCore_1 = require("./MockCore");
5
+ const stream_1 = require("stream");
6
+ exports.implementation = {
7
+ suites: {
8
+ Default: "Testeranto test suite",
9
+ ExtendedSuite: "Extended Testeranto test suite",
10
+ },
11
+ givens: {
12
+ Default: () => {
13
+ return new MockCore_1.MockCore({}, // input
14
+ specification, // testSpecification
15
+ exports.implementation, // testImplementation
16
+ { ports: [] }, // testResourceRequirement
17
+ testInterface, // testInterface
18
+ (cb) => cb() // uberCatcher
19
+ );
20
+ },
21
+ WithCustomInput: (input) => {
22
+ return new MockCore_1.MockCore(input, specification, exports.implementation, { ports: [] }, testInterface, (cb) => cb());
23
+ },
24
+ WithResourceRequirements: (requirements) => {
25
+ return new MockCore_1.MockCore({}, specification, exports.implementation, requirements, testInterface, (cb) => cb());
26
+ },
27
+ WithCustomInterface: (customInterface) => {
28
+ return new MockCore_1.MockCore({}, specification, exports.implementation, { ports: [] }, Object.assign(Object.assign({}, testInterface), customInterface), (cb) => cb());
29
+ }
30
+ },
31
+ whens: {
32
+ addArtifact: (artifact) => (builder) => {
33
+ builder.artifacts.push(artifact);
34
+ return builder;
35
+ },
36
+ setTestJobs: (jobs) => (builder) => {
37
+ builder.testJobs = jobs;
38
+ return builder;
39
+ },
40
+ modifySpecs: (modifier) => (builder) => {
41
+ builder.specs = modifier(builder.specs || []);
42
+ return builder;
43
+ },
44
+ triggerError: (message) => (builder) => {
45
+ throw new Error(message);
46
+ },
47
+ },
48
+ thens: {
49
+ initializedProperly: () => (builder) => {
50
+ if (!(builder instanceof MockCore_1.MockCore)) {
51
+ throw new Error("Builder was not properly initialized");
52
+ }
53
+ return builder;
54
+ },
55
+ specsGenerated: () => (builder) => {
56
+ if (!Array.isArray(builder.specs)) {
57
+ throw new Error("Specs were not generated");
58
+ }
59
+ return builder;
60
+ },
61
+ jobsCreated: () => (builder) => {
62
+ if (!Array.isArray(builder.testJobs)) {
63
+ throw new Error("Test jobs were not created");
64
+ }
65
+ return builder;
66
+ },
67
+ artifactsTracked: () => (builder) => {
68
+ if (!Array.isArray(builder.artifacts)) {
69
+ throw new Error("Artifacts array not initialized");
70
+ }
71
+ return builder;
72
+ },
73
+ resourceRequirementsSet: () => (builder) => {
74
+ if (!builder.testResourceRequirement) {
75
+ throw new Error("Resource requirements not set");
76
+ }
77
+ return builder;
78
+ },
79
+ interfaceConfigured: () => (builder) => {
80
+ if (!builder.testInterface) {
81
+ throw new Error("Test interface not configured");
82
+ }
83
+ return builder;
84
+ },
85
+ errorThrown: (expectedMessage) => (builder) => {
86
+ // Handled by test runner
87
+ return builder;
88
+ },
89
+ testRunSuccessful: () => async (builder) => {
90
+ try {
91
+ await builder.receiveTestResourceConfig("");
92
+ return builder;
93
+ }
94
+ catch (e) {
95
+ throw new Error(`Test run failed: ${e.message}`);
96
+ }
97
+ },
98
+ },
99
+ checks: {
100
+ Default: () => new stream_1.PassThrough(),
101
+ },
102
+ };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.testInterface = void 0;
4
+ exports.testInterface = {
5
+ beforeEach: async (subject, initializer, testResource, initialValues, pm) => {
6
+ return initializer();
7
+ },
8
+ andWhen: async (store, whenCB, testResource, pm) => {
9
+ return whenCB(store, pm);
10
+ },
11
+ butThen: async (store, thenCB, testResource, pm) => {
12
+ return thenCB(store, pm);
13
+ },
14
+ afterEach: (store) => store,
15
+ afterAll: (store, pm) => { },
16
+ assertThis: (result) => !!result,
17
+ beforeAll: async (input, testResource, pm) => input
18
+ };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const Pure_1 = __importDefault(require("../../Pure"));
7
+ const core_test_specification_1 = require("./core.test.specification");
8
+ const core_test_implementation_1 = require("./core.test.implementation");
9
+ const core_test_interface_1 = require("./core.test.interface");
10
+ const MockCore_1 = require("./MockCore");
11
+ exports.default = (0, Pure_1.default)(MockCore_1.MockCore.prototype, // test subject
12
+ core_test_specification_1.specification, // test scenarios
13
+ core_test_implementation_1.implementation, // test operations
14
+ core_test_interface_1.testInterface, // test lifecycle hooks
15
+ { ports: [] }, // resource requirements
16
+ (cb) => cb() // error handler
17
+ );
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.specification = void 0;
4
+ const specification = (Suite, Given, When, Then, Check) => {
5
+ return [
6
+ Suite.Default("Testeranto Core Functionality", {
7
+ // Initialization tests
8
+ defaultInitialization: Given.Default(["Should initialize with default values"], [], [Then.initializedProperly()]),
9
+ customInputInitialization: Given.WithCustomInput({ test: "input" }, [], [Then.initializedProperly()]),
10
+ // Configuration tests
11
+ resourceConfig: Given.WithResourceRequirements({ ports: [3000, 3001] }, [], [Then.resourceRequirementsSet()]),
12
+ interfaceConfig: Given.WithCustomInterface({
13
+ assertThis: (x) => !!x,
14
+ beforeEach: async (s, i) => i()
15
+ }, [], [Then.interfaceConfigured()]),
16
+ // Core operations
17
+ specGeneration: Given.Default(["Should generate test specs"], [], [Then.specsGenerated()]),
18
+ jobCreation: Given.Default(["Should create test jobs"], [], [Then.jobsCreated()]),
19
+ artifactHandling: Given.Default(["Should track artifacts"], [When.addArtifact(Promise.resolve("test"))], [Then.artifactsTracked()])
20
+ }, []),
21
+ Suite.ExtendedSuite("Testeranto Advanced Features", {
22
+ // Error handling
23
+ errorPropagation: Given.Default(["Should propagate errors properly"], [When.triggerError("test error")], [Then.errorThrown("test error")]),
24
+ // Dynamic behavior
25
+ specModification: Given.Default(["Should allow spec modification"], [When.modifySpecs((specs) => [...specs, { name: "extra" }])], [Then.specsModified(1)]),
26
+ // Full lifecycle
27
+ testExecution: Given.Default(["Should execute full test lifecycle"], [], [Then.testRunSuccessful()]),
28
+ // Custom implementations
29
+ customImpl: Given.WithCustomImplementation(Object.assign(Object.assign({}, implementation), { suites: { Default: "Custom suite" } }), [], [Then.specsGenerated()])
30
+ }, [])
31
+ ];
32
+ };
33
+ exports.specification = specification;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });