testeranto 0.114.1 → 0.125.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 (396) hide show
  1. package/.aider.chat.history.md +97001 -0
  2. package/.aider.conf.yml +5 -0
  3. package/.aider.input.history +9 -0
  4. package/.aider.tags.cache.v3/b7/e6/5be87b62aeaf2bc244ff41c1b61a.val +0 -0
  5. package/.aider.tags.cache.v3/cache.db +0 -0
  6. package/.aider.tags.cache.v3/e3/e6/3501625caf5d5eb171f0d248462e.val +0 -0
  7. package/.aider.tags.cache.v3/ec/c0/161c249c35be853cc40cf11f9267.val +0 -0
  8. package/README.md +15 -1
  9. package/bundle.js +1 -1
  10. package/dist/common/src/Init.js +31 -0
  11. package/dist/common/src/Node.js +49 -0
  12. package/dist/common/src/PM/base.js +230 -0
  13. package/dist/common/src/PM/main.js +1026 -0
  14. package/dist/common/src/PM/node.js +161 -0
  15. package/dist/common/{PM/node.js → src/PM/pure.js} +27 -18
  16. package/dist/common/{PM → src/PM}/web.js +14 -47
  17. package/dist/common/{Node.js → src/Pure.js} +11 -9
  18. package/dist/common/{SubPackages/react/component/web.js → src/SubPackages/react/component/index.js} +5 -4
  19. package/dist/common/src/SubPackages/react/component/node.js +10 -0
  20. package/dist/common/src/SubPackages/react/component/pure.js +10 -0
  21. package/dist/common/{SubPackages/react/jsx → src/SubPackages/react/component}/web.js +2 -2
  22. package/dist/common/src/SubPackages/react/jsx/index.js +64 -0
  23. package/dist/common/src/SubPackages/react/jsx/pure.js +10 -0
  24. package/dist/common/src/SubPackages/react/jsx/web.js +10 -0
  25. package/dist/common/{SubPackages/react-dom/component/web.js → src/SubPackages/react-dom/component/dynamic.js} +8 -14
  26. package/dist/common/src/SubPackages/react-dom/component/node.js +10 -0
  27. package/dist/common/src/SubPackages/react-dom/component/pure.js +10 -0
  28. package/dist/common/src/SubPackages/react-dom/component/static.js +26 -0
  29. package/dist/common/src/SubPackages/react-dom/component/web.js +16 -0
  30. package/dist/common/src/SubPackages/react-dom/jsx/dynamic.js +31 -0
  31. package/dist/common/src/SubPackages/react-dom/jsx/node.js +10 -0
  32. package/dist/common/src/SubPackages/react-dom/jsx/pure.js +10 -0
  33. package/dist/common/src/SubPackages/react-dom/jsx/static.js +59 -0
  34. package/dist/common/src/SubPackages/react-dom/jsx/web.js +16 -0
  35. package/dist/common/src/SubPackages/react-test-renderer/component/index.js +15 -0
  36. package/dist/common/src/SubPackages/react-test-renderer/component/pure.js +8 -0
  37. package/dist/common/src/SubPackages/react-test-renderer/component/test/implementation.js +57 -0
  38. package/dist/common/src/SubPackages/react-test-renderer/component/test/node.js +10 -0
  39. package/dist/common/src/SubPackages/react-test-renderer/component/test/pure.js +10 -0
  40. package/dist/common/src/SubPackages/react-test-renderer/component/test/web.js +10 -0
  41. package/dist/common/src/SubPackages/react-test-renderer/jsx/pure.js +10 -0
  42. package/dist/common/{Web.js → src/Web.js} +1 -4
  43. package/dist/common/src/build.js +223 -0
  44. package/dist/common/{defaultConfig.js → src/defaultConfig.js} +1 -3
  45. package/dist/common/{esbuildConfigs → src/esbuildConfigs}/index.js +1 -1
  46. package/dist/common/{esbuildConfigs → src/esbuildConfigs}/inputFilesPlugin.js +7 -3
  47. package/dist/common/{esbuildConfigs → src/esbuildConfigs}/node.js +7 -4
  48. package/dist/common/src/esbuildConfigs/pure.js +41 -0
  49. package/dist/common/{esbuildConfigs → src/esbuildConfigs}/web.js +8 -5
  50. package/dist/common/src/examples/react/component/index.js +33 -0
  51. package/dist/common/src/examples/react/component/test.js +36 -0
  52. package/dist/common/src/init-docs.js +9 -0
  53. package/dist/common/{lib → src/lib}/abstractBase.js +99 -95
  54. package/dist/common/{lib → src/lib}/basebuilder.js +24 -20
  55. package/dist/common/{lib → src/lib}/classBuilder.js +8 -5
  56. package/dist/common/{lib → src/lib}/core.js +10 -60
  57. package/dist/common/{lib → src/lib}/index.js +7 -2
  58. package/dist/common/{run.js → src/run.js} +12 -4
  59. package/dist/common/src/utils.js +65 -0
  60. package/dist/common/testeranto.config.js +41 -0
  61. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  62. package/dist/module/src/Init.js +26 -0
  63. package/dist/module/src/Node.js +42 -0
  64. package/dist/module/src/PM/base.js +223 -0
  65. package/dist/module/src/PM/main.js +986 -0
  66. package/dist/module/src/PM/node.js +154 -0
  67. package/dist/module/{PM/node.js → src/PM/pure.js} +25 -16
  68. package/dist/module/{PM → src/PM}/web.js +14 -47
  69. package/dist/module/src/Project.js +120 -0
  70. package/dist/module/{Node.js → src/Pure.js} +9 -7
  71. package/dist/module/{ReportClient.js → src/ReportClient.js} +1 -1
  72. package/dist/module/{SubPackages/react/component/web.js → src/SubPackages/react/component/index.js} +3 -4
  73. package/dist/module/src/SubPackages/react/component/node.js +5 -0
  74. package/dist/module/src/SubPackages/react/component/pure.js +5 -0
  75. package/dist/module/{SubPackages/react/jsx → src/SubPackages/react/component}/web.js +3 -3
  76. package/dist/module/src/SubPackages/react/jsx/index.js +58 -0
  77. package/dist/module/{SubPackages → src/SubPackages}/react/jsx/node.js +1 -1
  78. package/dist/module/src/SubPackages/react/jsx/pure.js +5 -0
  79. package/dist/module/src/SubPackages/react/jsx/web.js +5 -0
  80. package/dist/module/{SubPackages/react-dom/component/web.js → src/SubPackages/react-dom/component/dynamic.js} +5 -13
  81. package/dist/module/src/SubPackages/react-dom/component/node.js +5 -0
  82. package/dist/module/src/SubPackages/react-dom/component/pure.js +5 -0
  83. package/dist/module/src/SubPackages/react-dom/component/static.js +22 -0
  84. package/dist/module/src/SubPackages/react-dom/component/web.js +11 -0
  85. package/dist/module/{SubPackages/react-dom/jsx/node.js → src/SubPackages/react-dom/jsx/dynamic.js} +3 -7
  86. package/dist/module/src/SubPackages/react-dom/jsx/node.js +5 -0
  87. package/dist/module/src/SubPackages/react-dom/jsx/pure.js +5 -0
  88. package/dist/module/src/SubPackages/react-dom/jsx/static.js +53 -0
  89. package/dist/module/src/SubPackages/react-dom/jsx/web.js +11 -0
  90. package/dist/module/src/SubPackages/react-test-renderer/component/index.js +14 -0
  91. package/dist/module/src/SubPackages/react-test-renderer/component/pure.js +3 -0
  92. package/dist/module/src/SubPackages/react-test-renderer/component/test/implementation.js +54 -0
  93. package/dist/module/src/SubPackages/react-test-renderer/component/test/node.js +5 -0
  94. package/dist/module/src/SubPackages/react-test-renderer/component/test/pure.js +5 -0
  95. package/dist/module/src/SubPackages/react-test-renderer/component/test/web.js +5 -0
  96. package/dist/module/src/SubPackages/react-test-renderer/jsx/pure.js +5 -0
  97. package/dist/module/{TestReport.js → src/TestReport.js} +26 -14
  98. package/dist/module/{Web.js → src/Web.js} +1 -4
  99. package/dist/module/src/build.js +185 -0
  100. package/dist/module/{defaultConfig.js → src/defaultConfig.js} +1 -3
  101. package/dist/module/{esbuildConfigs → src/esbuildConfigs}/index.js +1 -1
  102. package/dist/module/{esbuildConfigs → src/esbuildConfigs}/inputFilesPlugin.js +7 -3
  103. package/dist/module/{esbuildConfigs → src/esbuildConfigs}/node.js +7 -4
  104. package/dist/module/src/esbuildConfigs/pure.js +36 -0
  105. package/dist/module/{esbuildConfigs → src/esbuildConfigs}/web.js +8 -5
  106. package/dist/module/src/examples/react/component/index.js +26 -0
  107. package/dist/module/src/examples/react/component/test.js +32 -0
  108. package/dist/module/src/init-docs.js +4 -0
  109. package/dist/module/{lib → src/lib}/abstractBase.js +99 -95
  110. package/dist/module/{lib → src/lib}/basebuilder.js +24 -20
  111. package/dist/module/{lib → src/lib}/classBuilder.js +8 -5
  112. package/dist/module/{lib → src/lib}/core.js +10 -60
  113. package/dist/module/{lib → src/lib}/index.js +7 -2
  114. package/dist/module/{run.js → src/run.js} +12 -4
  115. package/dist/module/src/utils.js +53 -0
  116. package/dist/module/testeranto.config.js +39 -0
  117. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  118. package/dist/prebuild/Project.css +11367 -0
  119. package/dist/prebuild/Project.js +24643 -0
  120. package/dist/prebuild/ReportClient.js +1 -1
  121. package/dist/prebuild/TestReport.js +13 -12
  122. package/dist/prebuild/build.mjs +217 -106
  123. package/dist/prebuild/init-docs.mjs +29 -83
  124. package/dist/prebuild/run.mjs +803 -686
  125. package/dist/tsconfig.tsbuildinfo +1 -1
  126. package/dist/types/src/Init.d.ts +2 -0
  127. package/dist/types/src/Node.d.ts +9 -0
  128. package/dist/types/src/PM/base.d.ts +34 -0
  129. package/dist/types/{PM → src/PM}/index.d.ts +21 -22
  130. package/dist/types/src/PM/main.d.ts +47 -0
  131. package/dist/types/src/PM/node.d.ts +38 -0
  132. package/dist/types/{PM/node.d.ts → src/PM/pure.d.ts} +16 -17
  133. package/dist/types/{PM → src/PM}/web.d.ts +10 -15
  134. package/dist/types/src/Pure.d.ts +9 -0
  135. package/dist/types/src/SubPackages/react/component/index.d.ts +4 -0
  136. package/dist/types/src/SubPackages/react/component/node.d.ts +4 -0
  137. package/dist/types/src/SubPackages/react/component/pure.d.ts +4 -0
  138. package/dist/types/src/SubPackages/react/component/web.d.ts +4 -0
  139. package/dist/types/src/SubPackages/react/jsx/index.d.ts +5 -0
  140. package/dist/types/src/SubPackages/react/jsx/node.d.ts +4 -0
  141. package/dist/types/src/SubPackages/react/jsx/pure.d.ts +4 -0
  142. package/dist/types/src/SubPackages/react/jsx/web.d.ts +4 -0
  143. package/dist/types/src/SubPackages/react-dom/component/dynamic.d.ts +20 -0
  144. package/dist/types/src/SubPackages/react-dom/component/node.d.ts +4 -0
  145. package/dist/types/src/SubPackages/react-dom/component/pure.d.ts +4 -0
  146. package/dist/types/src/SubPackages/react-dom/component/static.d.ts +9 -0
  147. package/dist/types/src/SubPackages/react-dom/component/web.d.ts +4 -0
  148. package/dist/types/src/SubPackages/react-dom/jsx/dynamic.d.ts +5 -0
  149. package/dist/types/src/SubPackages/react-dom/jsx/node.d.ts +4 -0
  150. package/dist/types/src/SubPackages/react-dom/jsx/pure.d.ts +4 -0
  151. package/dist/types/src/SubPackages/react-dom/jsx/static.d.ts +5 -0
  152. package/dist/types/src/SubPackages/react-dom/jsx/web.d.ts +5 -0
  153. package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/MemoExoticComponent/node.d.ts +1 -1
  154. package/dist/types/src/SubPackages/react-test-renderer/component/index.d.ts +5 -0
  155. package/dist/types/src/SubPackages/react-test-renderer/component/interface.d.ts +3 -0
  156. package/dist/types/src/SubPackages/react-test-renderer/component/node.d.ts +4 -0
  157. package/dist/types/src/SubPackages/react-test-renderer/component/pure.d.ts +4 -0
  158. package/dist/types/src/SubPackages/react-test-renderer/component/test/implementation.d.ts +4 -0
  159. package/dist/types/src/SubPackages/react-test-renderer/component/test/node.d.ts +3 -0
  160. package/dist/types/src/SubPackages/react-test-renderer/component/test/pure.d.ts +4 -0
  161. package/dist/types/src/SubPackages/react-test-renderer/component/test/web.d.ts +3 -0
  162. package/dist/types/src/SubPackages/react-test-renderer/component/web.d.ts +4 -0
  163. package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/fc/node.d.ts +1 -1
  164. package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/fc/web.d.ts +1 -1
  165. package/dist/types/src/SubPackages/react-test-renderer/jsx/index.d.ts +11 -0
  166. package/dist/types/src/SubPackages/react-test-renderer/jsx/node.d.ts +4 -0
  167. package/dist/types/src/SubPackages/react-test-renderer/jsx/pure.d.ts +4 -0
  168. package/dist/types/src/SubPackages/react-test-renderer/jsx/web.d.ts +4 -0
  169. package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/node.d.ts +1 -1
  170. package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/web.d.ts +1 -1
  171. package/dist/types/src/Types.d.ts +88 -0
  172. package/dist/types/src/Web.d.ts +9 -0
  173. package/dist/types/src/defaultConfig.d.ts +3 -0
  174. package/dist/types/src/esbuildConfigs/index.d.ts +4 -0
  175. package/dist/types/{esbuildConfigs → src/esbuildConfigs}/inputFilesPlugin.d.ts +2 -1
  176. package/dist/types/src/esbuildConfigs/node.d.ts +4 -0
  177. package/dist/types/src/esbuildConfigs/pure.d.ts +4 -0
  178. package/dist/types/src/esbuildConfigs/web.d.ts +4 -0
  179. package/dist/types/src/examples/react/component/index.d.ts +13 -0
  180. package/dist/types/src/examples/react/component/test.d.ts +17 -0
  181. package/dist/types/{lib → src/lib}/abstractBase.d.ts +47 -34
  182. package/dist/types/{lib → src/lib}/basebuilder.d.ts +7 -9
  183. package/dist/types/src/lib/classBuilder.d.ts +9 -0
  184. package/dist/types/src/lib/core.d.ts +7 -0
  185. package/dist/types/{lib → src/lib}/index.d.ts +14 -36
  186. package/dist/types/src/lib/types.d.ts +15 -0
  187. package/dist/types/src/utils.d.ts +18 -0
  188. package/dist/types/testeranto.config.d.ts +3 -0
  189. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  190. package/eslint.config.mjs +111 -0
  191. package/package.json +33 -12
  192. package/src/Init.ts +29 -75
  193. package/src/Node.ts +42 -46
  194. package/src/PM/base.ts +299 -0
  195. package/src/PM/index.ts +28 -21
  196. package/src/PM/main.ts +569 -819
  197. package/src/PM/node.ts +88 -44
  198. package/src/PM/pure.ts +209 -0
  199. package/src/PM/web.ts +19 -121
  200. package/src/Project.tsx +200 -0
  201. package/src/Pure.ts +69 -0
  202. package/src/ReportClient.tsx +8 -3
  203. package/src/SubPackages/react/component/index.ts +28 -0
  204. package/src/SubPackages/react/component/node.ts +12 -82
  205. package/src/SubPackages/react/component/pure.ts +17 -0
  206. package/src/SubPackages/react/component/web.ts +12 -81
  207. package/src/SubPackages/react/jsx/index.ts +56 -52
  208. package/src/SubPackages/react/jsx/node.ts +12 -29
  209. package/src/SubPackages/react/jsx/pure.ts +23 -0
  210. package/src/SubPackages/react/jsx/web.ts +17 -36
  211. package/src/SubPackages/react-dom/component/dynamic.ts +107 -0
  212. package/src/SubPackages/react-dom/component/node.ts +11 -116
  213. package/src/SubPackages/react-dom/component/pure.ts +17 -0
  214. package/src/SubPackages/react-dom/component/static.ts +41 -0
  215. package/src/SubPackages/react-dom/component/web.ts +7 -113
  216. package/src/SubPackages/react-dom/jsx/dynamic.ts +46 -0
  217. package/src/SubPackages/react-dom/jsx/node.ts +10 -58
  218. package/src/SubPackages/react-dom/jsx/pure.ts +18 -0
  219. package/src/SubPackages/react-dom/jsx/static.ts +87 -0
  220. package/src/SubPackages/react-dom/jsx/web.ts +7 -135
  221. package/src/SubPackages/react-test-renderer/component/index.ts +27 -51
  222. package/src/SubPackages/react-test-renderer/component/interface.ts +7 -5
  223. package/src/SubPackages/react-test-renderer/component/node.ts +7 -25
  224. package/src/SubPackages/react-test-renderer/component/pure.ts +18 -0
  225. package/src/SubPackages/react-test-renderer/component/test/implementation.ts +63 -0
  226. package/src/SubPackages/react-test-renderer/component/test/node.ts +14 -0
  227. package/src/SubPackages/react-test-renderer/component/test/pure.ts +14 -0
  228. package/src/SubPackages/react-test-renderer/component/test/web.ts +14 -0
  229. package/src/SubPackages/react-test-renderer/component/web.ts +7 -23
  230. package/src/SubPackages/react-test-renderer/jsx/index.ts +13 -46
  231. package/src/SubPackages/react-test-renderer/jsx/node.ts +9 -15
  232. package/src/SubPackages/react-test-renderer/jsx/pure.ts +31 -0
  233. package/src/SubPackages/react-test-renderer/jsx/web.ts +9 -14
  234. package/src/TestReport.tsx +37 -19
  235. package/src/Types.ts +114 -140
  236. package/src/Web.ts +13 -48
  237. package/src/build.ts +153 -143
  238. package/src/defaultConfig.ts +3 -5
  239. package/src/esbuildConfigs/index.ts +3 -3
  240. package/src/esbuildConfigs/inputFilesPlugin.ts +9 -7
  241. package/src/esbuildConfigs/node.ts +10 -6
  242. package/src/esbuildConfigs/pure.ts +72 -0
  243. package/src/esbuildConfigs/web.ts +11 -7
  244. package/src/examples/react/component/index.tsx +35 -0
  245. package/src/examples/react/component/test.ts +83 -0
  246. package/src/init-docs.ts +2 -15
  247. package/src/lib/abstractBase.ts +188 -260
  248. package/src/lib/basebuilder.ts +47 -48
  249. package/src/lib/classBuilder.ts +28 -35
  250. package/src/lib/core.ts +35 -102
  251. package/src/lib/index.ts +37 -65
  252. package/src/lib/types.ts +23 -98
  253. package/src/run.ts +18 -5
  254. package/src/utils.ts +73 -40
  255. package/testeranto/Project.css +11367 -0
  256. package/testeranto/Project.js +24643 -0
  257. package/testeranto/ReportClient.css +11367 -0
  258. package/testeranto/ReportClient.js +24641 -0
  259. package/testeranto/TestReport.css +11367 -0
  260. package/testeranto/TestReport.js +27485 -0
  261. package/testeranto/bundles/node/react/metafile.json +627 -0
  262. package/testeranto/bundles/node/react/src/SubPackages/react-test-renderer/component/test/node.mjs +24687 -0
  263. package/testeranto/bundles/pure/react/metafile.json +8 -0
  264. package/testeranto/bundles/pure/react/src/SubPackages/react-test-renderer/component/test/pure.mjs +24625 -0
  265. package/testeranto/bundles/web/react/metafile.json +8 -0
  266. package/testeranto/bundles/web/react/src/SubPackages/react-test-renderer/component/test/web.html +19 -0
  267. package/testeranto/bundles/web/react/src/SubPackages/react-test-renderer/component/test/web.mjs +21290 -0
  268. package/testeranto/index.html +28 -0
  269. package/testeranto/reports/react/config.json +22 -0
  270. package/testeranto/reports/react/index.html +24 -0
  271. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/node/node/console_log.txt +0 -0
  272. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/bdd_errors.txt +1 -0
  273. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/featurePrompt.txt +0 -0
  274. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/lint_errors.json +3381 -0
  275. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/littleBoard.html +20 -0
  276. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/log.txt +40 -0
  277. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/prompt.txt +24 -0
  278. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/tests.json +132 -0
  279. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/pure/pure/type_errors.txt +17 -0
  280. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/bdd_errors.txt +1 -0
  281. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/console_log.txt +1 -0
  282. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/lint_errors.json +2947 -0
  283. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/littleBoard.html +20 -0
  284. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/log.txt +40 -0
  285. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/prompt.txt +23 -0
  286. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/tests.json +132 -0
  287. package/testeranto/reports/react/src/SubPackages/react-test-renderer/component/test/web/web/type_errors.txt +18 -0
  288. package/testeranto/reports/react/summary.json +8 -0
  289. package/testeranto.config.ts +45 -0
  290. package/tsc.log +53 -76
  291. package/type-fix.txt +2 -0
  292. package/dist/common/Init.js +0 -68
  293. package/dist/common/PM/main.js +0 -1176
  294. package/dist/common/SubPackages/react/component/node.js +0 -19
  295. package/dist/common/SubPackages/react/jsx/index.js +0 -21
  296. package/dist/common/SubPackages/react-dom/component/node.js +0 -88
  297. package/dist/common/SubPackages/react-dom/jsx/node.js +0 -39
  298. package/dist/common/SubPackages/react-dom/jsx/web.js +0 -128
  299. package/dist/common/SubPackages/react-test-renderer/component/index.js +0 -2
  300. package/dist/common/build.js +0 -222
  301. package/dist/common/init-docs.js +0 -53
  302. package/dist/common/puppeteerConfiger.js +0 -24
  303. package/dist/common/utils.js +0 -43
  304. package/dist/module/Init.js +0 -63
  305. package/dist/module/PM/main.js +0 -1136
  306. package/dist/module/SubPackages/react/component/node.js +0 -14
  307. package/dist/module/SubPackages/react/jsx/index.js +0 -15
  308. package/dist/module/SubPackages/react-dom/component/node.js +0 -80
  309. package/dist/module/SubPackages/react-dom/jsx/web.js +0 -90
  310. package/dist/module/SubPackages/react-test-renderer/component/index.js +0 -1
  311. package/dist/module/build.js +0 -184
  312. package/dist/module/init-docs.js +0 -15
  313. package/dist/module/puppeteerConfiger.js +0 -19
  314. package/dist/module/utils.js +0 -29
  315. package/dist/types/Init.d.ts +0 -2
  316. package/dist/types/Node.d.ts +0 -12
  317. package/dist/types/PM/main.d.ts +0 -66
  318. package/dist/types/SubPackages/react/component/node.d.ts +0 -7
  319. package/dist/types/SubPackages/react/component/web.d.ts +0 -7
  320. package/dist/types/SubPackages/react/jsx/index.d.ts +0 -12
  321. package/dist/types/SubPackages/react/jsx/node.d.ts +0 -4
  322. package/dist/types/SubPackages/react/jsx/web.d.ts +0 -4
  323. package/dist/types/SubPackages/react-dom/component/node.d.ts +0 -11
  324. package/dist/types/SubPackages/react-dom/component/web.d.ts +0 -20
  325. package/dist/types/SubPackages/react-dom/jsx/node.d.ts +0 -7
  326. package/dist/types/SubPackages/react-dom/jsx/web.d.ts +0 -5
  327. package/dist/types/SubPackages/react-test-renderer/component/index.d.ts +0 -13
  328. package/dist/types/SubPackages/react-test-renderer/component/interface.d.ts +0 -9
  329. package/dist/types/SubPackages/react-test-renderer/component/node.d.ts +0 -4
  330. package/dist/types/SubPackages/react-test-renderer/component/web.d.ts +0 -4
  331. package/dist/types/SubPackages/react-test-renderer/jsx/index.d.ts +0 -16
  332. package/dist/types/SubPackages/react-test-renderer/jsx/node.d.ts +0 -9
  333. package/dist/types/SubPackages/react-test-renderer/jsx/web.d.ts +0 -9
  334. package/dist/types/Types.d.ts +0 -61
  335. package/dist/types/Web.d.ts +0 -9
  336. package/dist/types/defaultConfig.d.ts +0 -3
  337. package/dist/types/esbuildConfigs/index.d.ts +0 -4
  338. package/dist/types/esbuildConfigs/node.d.ts +0 -4
  339. package/dist/types/esbuildConfigs/web.d.ts +0 -4
  340. package/dist/types/lib/classBuilder.d.ts +0 -7
  341. package/dist/types/lib/core.d.ts +0 -7
  342. package/dist/types/lib/types.d.ts +0 -14
  343. package/dist/types/puppeteerConfiger.d.ts +0 -4
  344. package/dist/types/utils.d.ts +0 -15
  345. package/src/puppeteerConfiger.ts +0 -26
  346. /package/dist/common/{PM → src/PM}/index.js +0 -0
  347. /package/dist/common/{ReportServer.js → src/ReportServer.js} +0 -0
  348. /package/dist/common/{SubPackages → src/SubPackages}/react/jsx/node.js +0 -0
  349. /package/dist/common/{SubPackages → src/SubPackages}/react-dom/jsx/index.js +0 -0
  350. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/MemoExoticComponent/node.js +0 -0
  351. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/component/interface.js +0 -0
  352. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/component/node.js +0 -0
  353. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/component/web.js +0 -0
  354. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/fc/node.js +0 -0
  355. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/fc/web.js +0 -0
  356. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx/index.js +0 -0
  357. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx/node.js +0 -0
  358. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx/web.js +0 -0
  359. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/index.js +0 -0
  360. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/node.js +0 -0
  361. /package/dist/common/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/web.js +0 -0
  362. /package/dist/common/{Types.js → src/Types.js} +0 -0
  363. /package/dist/common/{esbuildConfigs → src/esbuildConfigs}/eslint-formatter-testeranto.js +0 -0
  364. /package/dist/common/{esbuildConfigs → src/esbuildConfigs}/featuresPlugin.js +0 -0
  365. /package/dist/common/{lib → src/lib}/types.js +0 -0
  366. /package/dist/common/{web.html.js → src/web.html.js} +0 -0
  367. /package/dist/module/{Footer.js → src/Footer.js} +0 -0
  368. /package/dist/module/{PM → src/PM}/index.js +0 -0
  369. /package/dist/module/{ReportServer.js → src/ReportServer.js} +0 -0
  370. /package/dist/module/{SubPackages → src/SubPackages}/react-dom/jsx/index.js +0 -0
  371. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/MemoExoticComponent/node.js +0 -0
  372. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/component/interface.js +0 -0
  373. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/component/node.js +0 -0
  374. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/component/web.js +0 -0
  375. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/fc/node.js +0 -0
  376. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/fc/web.js +0 -0
  377. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx/index.js +0 -0
  378. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx/node.js +0 -0
  379. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx/web.js +0 -0
  380. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/index.js +0 -0
  381. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/node.js +0 -0
  382. /package/dist/module/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/web.js +0 -0
  383. /package/dist/module/{Types.js → src/Types.js} +0 -0
  384. /package/dist/module/{esbuildConfigs → src/esbuildConfigs}/eslint-formatter-testeranto.js +0 -0
  385. /package/dist/module/{esbuildConfigs → src/esbuildConfigs}/featuresPlugin.js +0 -0
  386. /package/dist/module/{lib → src/lib}/types.js +0 -0
  387. /package/dist/module/{web.html.js → src/web.html.js} +0 -0
  388. /package/dist/types/{ReportServer.d.ts → src/ReportServer.d.ts} +0 -0
  389. /package/dist/types/{SubPackages → src/SubPackages}/react-dom/jsx/index.d.ts +0 -0
  390. /package/dist/types/{SubPackages → src/SubPackages}/react-test-renderer/jsx-promised/index.d.ts +0 -0
  391. /package/dist/types/{build.d.ts → src/build.d.ts} +0 -0
  392. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/eslint-formatter-testeranto.d.ts +0 -0
  393. /package/dist/types/{esbuildConfigs → src/esbuildConfigs}/featuresPlugin.d.ts +0 -0
  394. /package/dist/types/{init-docs.d.ts → src/init-docs.d.ts} +0 -0
  395. /package/dist/types/{run.d.ts → src/run.d.ts} +0 -0
  396. /package/dist/types/{web.html.d.ts → src/web.html.d.ts} +0 -0
@@ -2,9 +2,9 @@ import path from "path";
2
2
  import baseEsBuildConfig from "./index.js";
3
3
  import inputFilesPlugin from "./inputFilesPlugin.js";
4
4
  import featuresPlugin from "./featuresPlugin.js";
5
- export default (config, entryPoints) => {
6
- const { inputFilesPluginFactory, register } = inputFilesPlugin("web", entryPoints);
7
- return Object.assign(Object.assign({}, baseEsBuildConfig(config)), { outdir: config.outdir + "/web", alias: {
5
+ export default (config, entryPoints, testName) => {
6
+ const { inputFilesPluginFactory, register } = inputFilesPlugin("web", testName);
7
+ return Object.assign(Object.assign({}, baseEsBuildConfig(config)), { outdir: `testeranto/bundles/web/${testName}`, alias: {
8
8
  react: path.resolve("./node_modules/react"),
9
9
  }, metafile: true, external: [
10
10
  "path",
@@ -29,7 +29,10 @@ export default (config, entryPoints) => {
29
29
  inputFilesPluginFactory,
30
30
  {
31
31
  name: "rebuild-notify",
32
- setup(build) {
32
+ setup: (build) => {
33
+ build.onStart(() => {
34
+ console.log(`> web build starting...`);
35
+ });
33
36
  build.onEnd((result) => {
34
37
  console.log(`> web build ended with ${result.errors.length} errors`);
35
38
  if (result.errors.length > 0) {
@@ -40,6 +43,6 @@ export default (config, entryPoints) => {
40
43
  });
41
44
  },
42
45
  },
43
- ...(config.nodePlugins.map((p) => p(register, entryPoints)) || []),
46
+ ...((config.webPlugins || []).map((p) => p(register, entryPoints)) || []),
44
47
  ] });
45
48
  };
@@ -0,0 +1,26 @@
1
+ import React from "react";
2
+ export class ClassicalComponent extends React.Component {
3
+ constructor(props) {
4
+ super(props);
5
+ this.state = {
6
+ count: 0,
7
+ };
8
+ }
9
+ render() {
10
+ return (React.createElement("div", { style: { border: "3px solid black" } },
11
+ React.createElement("h1", { id: "theHeader" }, "Hello Marcus"),
12
+ React.createElement("pre", { id: "theProps" }, JSON.stringify(this.props)),
13
+ React.createElement("p", null,
14
+ "foo: ",
15
+ this.props.foo),
16
+ React.createElement("pre", { id: "theStat" }, JSON.stringify(this.state)),
17
+ React.createElement("p", null,
18
+ "count: ",
19
+ this.state.count,
20
+ " times"),
21
+ React.createElement("button", { id: "theButton", onClick: async () => {
22
+ this.setState({ count: this.state.count + 1 });
23
+ } }, "Click")));
24
+ }
25
+ }
26
+ export default ClassicalComponent;
@@ -0,0 +1,32 @@
1
+ export const specification = (Suite, Given, When, Then) => {
2
+ return [
3
+ Suite.Default("a classical react component", {
4
+ test0: Given.AnEmptyState([`I click 4 times and the count is 3`], [
5
+ When.IClickTheButton(),
6
+ When.IClickTheButton(),
7
+ When.IClickTheButton(),
8
+ When.IClickTheHeader(),
9
+ // When.IClickTheButton(),
10
+ ], [
11
+ Then.ThePropsIs({ foo: "bar", children: [] }),
12
+ Then.TheStatusIs({ count: 3 }),
13
+ ]),
14
+ test1: Given.AnEmptyState([`Count is 1 by default`], [When.IClickTheButton()], [
15
+ Then.ThePropsIs({ foo: "bar", children: [] }),
16
+ Then.TheStatusIs({ count: 1 }),
17
+ ]),
18
+ test2: Given.AnEmptyState([`0`], [
19
+ When.IClickTheButton(),
20
+ When.IClickTheButton(),
21
+ When.IClickTheButton(),
22
+ When.IClickTheButton(),
23
+ When.IClickTheButton(),
24
+ When.IClickTheButton(),
25
+ When.IClickTheButton(),
26
+ When.IClickTheButton(),
27
+ When.IClickTheButton(),
28
+ ], [Then.TheStatusIs({ count: 9 })]),
29
+ test3: Given.AnEmptyState([`0`], [When.IClickTheButton(), When.IClickTheButton()], [Then.TheStatusIs({ count: 2 })]),
30
+ }, []),
31
+ ];
32
+ };
@@ -0,0 +1,4 @@
1
+ import Init from "./Init";
2
+ console.log("Initializing a testeranto project");
3
+ Init();
4
+ console.log("testeranto project initialized");
@@ -4,7 +4,7 @@ export class BaseSuite {
4
4
  this.index = index;
5
5
  this.givens = givens;
6
6
  this.checks = checks;
7
- this.fails = [];
7
+ this.fails = 0;
8
8
  }
9
9
  features() {
10
10
  const features = Object.keys(this.givens)
@@ -13,18 +13,17 @@ export class BaseSuite {
13
13
  .filter((value, index, array) => {
14
14
  return array.indexOf(value) === index;
15
15
  });
16
- // .reduce((mm, lm) => {
17
- // mm[lm] = lm;
18
- // return mm;
19
- // }, {});
20
16
  return features || [];
21
17
  }
22
18
  toObj() {
23
19
  const givens = Object.keys(this.givens).map((k) => this.givens[k].toObj());
20
+ const checks = Object.keys(this.checks).map((k) => this.checks[k].toObj());
24
21
  return {
25
22
  name: this.name,
26
23
  givens,
24
+ checks,
27
25
  fails: this.fails,
26
+ failed: this.failed,
28
27
  features: this.features(),
29
28
  };
30
29
  }
@@ -32,46 +31,50 @@ export class BaseSuite {
32
31
  return new Promise((res) => res(s));
33
32
  }
34
33
  assertThat(t) {
35
- return t;
34
+ return !!t;
36
35
  }
37
36
  afterAll(store, artifactory, pm) {
38
37
  return store;
39
38
  }
40
39
  async run(input, testResourceConfiguration, artifactory, tLog, pm) {
41
40
  this.testResourceConfiguration = testResourceConfiguration;
42
- tLog("test resources: ", JSON.stringify(testResourceConfiguration));
41
+ // tLog("test resources: ", JSON.stringify(testResourceConfiguration));
43
42
  const suiteArtifactory = (fPath, value) => artifactory(`suite-${this.index}-${this.name}/${fPath}`, value);
44
43
  // console.log("\nSuite:", this.index, this.name);
45
44
  tLog("\nSuite:", this.index, this.name);
46
45
  const sNdx = this.index;
47
46
  const sName = this.name;
47
+ const beforeAllProxy = new Proxy(pm, {
48
+ get(target, prop, receiver) {
49
+ if (prop === "customScreenShot") {
50
+ return (opts, p) => target.customScreenShot(Object.assign(Object.assign({}, opts), {
51
+ // path: `${filepath}/${opts.path}`,
52
+ path: `suite-${sNdx}/beforeAll/${opts.path}` }), p);
53
+ }
54
+ if (prop === "writeFileSync") {
55
+ return (fp, contents) => target[prop](`suite-${sNdx}/beforeAll/${fp}`, contents);
56
+ }
57
+ /* @ts-ignore:next-line */
58
+ return Reflect.get(...arguments);
59
+ },
60
+ });
61
+ const subject = await this.setup(input, suiteArtifactory, testResourceConfiguration, beforeAllProxy);
48
62
  for (const [gKey, g] of Object.entries(this.givens)) {
49
- // console.log("gKey", gKey);
50
- const beforeAllProxy = new Proxy(pm, {
51
- get(target, prop, receiver) {
52
- if (prop === "customScreenShot") {
53
- return (opts, p) => target.customScreenShot(Object.assign(Object.assign({}, opts), {
54
- // path: `${filepath}/${opts.path}`,
55
- path: `suite-${sNdx}/beforeAll/${opts.path}` }), p);
56
- }
57
- if (prop === "writeFileSync") {
58
- return (fp, contents) => target[prop](`suite-${sNdx}/beforeAll/${fp}`, contents);
59
- }
60
- /* @ts-ignore:next-line */
61
- return Reflect.get(...arguments);
62
- },
63
- });
64
- const subject = await this.setup(input, suiteArtifactory, testResourceConfiguration, beforeAllProxy);
65
63
  const giver = this.givens[gKey];
66
64
  try {
67
65
  this.store = await giver.give(subject, gKey, testResourceConfiguration, this.assertThat, suiteArtifactory, tLog, pm, sNdx);
68
66
  }
69
67
  catch (e) {
70
- console.error(e);
71
- this.fails.push(giver);
68
+ this.failed = true;
69
+ this.fails = this.fails + 1;
70
+ // console.error(e);
71
+ // this.fails.push(giver);
72
72
  // return this;
73
73
  }
74
74
  }
75
+ for (const [ndx, thater] of this.checks.entries()) {
76
+ await thater.check(subject, thater.name, testResourceConfiguration, this.assertThat, suiteArtifactory, tLog, pm);
77
+ }
75
78
  try {
76
79
  this.afterAll(this.store, artifactory,
77
80
  // afterAllProxy
@@ -82,17 +85,6 @@ export class BaseSuite {
82
85
  // this.fails.push(this);
83
86
  // return this;
84
87
  }
85
- // for (const [ndx, thater] of this.checks.entries()) {
86
- // await thater.check(
87
- // subject,
88
- // thater.name,
89
- // testResourceConfiguration,
90
- // this.assertThat,
91
- // suiteArtifactory,
92
- // tLog,
93
- // pm
94
- // );
95
- // }
96
88
  // @TODO fix me
97
89
  // for (const k of Object.keys(this.givens)) {
98
90
  // const giver = this.givens[k];
@@ -109,9 +101,7 @@ export class BaseSuite {
109
101
  }
110
102
  }
111
103
  export class BaseGiven {
112
- constructor(name, features, whens, thens, givenCB, initialValues
113
- // key: string
114
- ) {
104
+ constructor(name, features, whens, thens, givenCB, initialValues) {
115
105
  this.name = name;
116
106
  this.features = features;
117
107
  this.whens = whens;
@@ -119,10 +109,7 @@ export class BaseGiven {
119
109
  this.givenCB = givenCB;
120
110
  this.initialValues = initialValues;
121
111
  }
122
- beforeAll(store,
123
- // artifactory: ITestArtifactory
124
- // subject,
125
- initializer, artifactory, testResource, initialValues, pm) {
112
+ beforeAll(store) {
126
113
  return store;
127
114
  }
128
115
  toObj() {
@@ -132,7 +119,7 @@ export class BaseGiven {
132
119
  whens: this.whens.map((w) => w.toObj()),
133
120
  thens: this.thens.map((t) => t.toObj()),
134
121
  error: this.error ? [this.error, this.error.stack] : null,
135
- // fail: this.fail ? [this.fail] : false,
122
+ failed: this.failed,
136
123
  features: this.features,
137
124
  };
138
125
  }
@@ -144,29 +131,35 @@ export class BaseGiven {
144
131
  tLog(`\n ${this.key}`);
145
132
  tLog(`\n Given: ${this.name}`);
146
133
  const givenArtifactory = (fPath, value) => artifactory(`given-${key}/${fPath}`, value);
134
+ const beforeEachProxy = new Proxy(pm, {
135
+ get(target, prop, receiver) {
136
+ if (prop === "writeFileSync") {
137
+ return (fp, contents) => target[prop](`suite-${suiteNdx}/given-${key}/when/beforeEach/${fp}`, contents);
138
+ }
139
+ if (prop === "customScreenShot") {
140
+ return (opts, p) => target.customScreenShot(Object.assign(Object.assign({}, opts), { path: `suite-${suiteNdx}/given-${key}/when/beforeEach/${opts.path}` }), p);
141
+ }
142
+ if (prop === "screencast") {
143
+ return (opts, p) => target.screencast(Object.assign(Object.assign({}, opts), { path: `suite-${suiteNdx}/given-${key}/when/beforeEach/${opts.path}` }), p);
144
+ }
145
+ /* @ts-ignore:next-line */
146
+ return Reflect.get(...arguments);
147
+ },
148
+ });
149
+ this.uberCatcher((e) => {
150
+ console.error(e);
151
+ this.error = e.error;
152
+ tLog(e.stack);
153
+ });
147
154
  try {
148
- // tLog(`\n Given this.store`, this.store);
149
- const beforeEachProxy = new Proxy(pm, {
150
- get(target, prop, receiver) {
151
- if (prop === "writeFileSync") {
152
- return (fp, contents) => target[prop](`suite-${suiteNdx}/given-${key}/when/beforeEach/${fp}`, contents);
153
- }
154
- if (prop === "customScreenShot") {
155
- return (opts, p) => target.customScreenShot(Object.assign(Object.assign({}, opts), { path: `suite-${suiteNdx}/given-${key}/when/beforeEach/${opts.path}` }), p);
156
- }
157
- if (prop === "screencast") {
158
- return (opts, p) => target.screencast(Object.assign(Object.assign({}, opts), { path: `suite-${suiteNdx}/given-${key}/when/beforeEach/${opts.path}` }), p);
159
- }
160
- /* @ts-ignore:next-line */
161
- return Reflect.get(...arguments);
162
- },
163
- });
164
- this.uberCatcher((e) => {
165
- console.error(e);
166
- this.error = e.error;
167
- tLog(e.stack);
168
- });
169
155
  this.store = await this.givenThat(subject, testResourceConfiguration, givenArtifactory, this.givenCB, this.initialValues, beforeEachProxy);
156
+ }
157
+ catch (e) {
158
+ this.error = e;
159
+ throw e;
160
+ }
161
+ try {
162
+ // tLog(`\n Given this.store`, this.store);
170
163
  for (const [whenNdx, whenStep] of this.whens.entries()) {
171
164
  await whenStep.test(this.store, testResourceConfiguration, tLog, pm, `suite-${suiteNdx}/given-${key}/when/${whenNdx}`);
172
165
  }
@@ -176,11 +169,10 @@ export class BaseGiven {
176
169
  }
177
170
  }
178
171
  catch (e) {
179
- console.error(e);
180
- this.error = e;
172
+ // this.error = e;
173
+ this.failed = true;
181
174
  tLog(e.stack);
182
- // tLog("\u0007"); // bell
183
- // throw e;
175
+ throw e;
184
176
  }
185
177
  finally {
186
178
  try {
@@ -201,7 +193,10 @@ export class BaseGiven {
201
193
  afterEachProxy);
202
194
  }
203
195
  catch (e) {
204
- console.error("afterEach failed! no error will be recorded!", e);
196
+ this.failed = e;
197
+ throw e;
198
+ // console.error("afterEach failed!", e);
199
+ // this.error = e.message;
205
200
  }
206
201
  }
207
202
  return this.store;
@@ -220,7 +215,6 @@ export class BaseWhen {
220
215
  }
221
216
  async test(store, testResourceConfiguration, tLog, pm, filepath) {
222
217
  tLog(" When:", this.name);
223
- const name = this.name;
224
218
  const andWhenProxy = new Proxy(pm, {
225
219
  get(target, prop, receiver) {
226
220
  if (prop === "customScreenShot") {
@@ -263,7 +257,17 @@ export class BaseThen {
263
257
  };
264
258
  }
265
259
  async test(store, testResourceConfiguration, tLog, pm, filepath) {
266
- tLog(" Then:", this.name);
260
+ this.go = async (s) => {
261
+ tLog(" Then!!!:", this.name);
262
+ try {
263
+ await this.thenCB(s);
264
+ }
265
+ catch (e) {
266
+ console.log("test failed 1", e);
267
+ this.error = e;
268
+ throw e;
269
+ }
270
+ };
267
271
  try {
268
272
  const butThenProxy = new Proxy(pm, {
269
273
  get(target, prop, receiver) {
@@ -277,45 +281,45 @@ export class BaseThen {
277
281
  return Reflect.get(...arguments);
278
282
  },
279
283
  });
280
- return this.butThen(store, this.thenCB, testResourceConfiguration, butThenProxy).catch((e) => {
281
- this.error = true;
284
+ return this.butThen(store, this.go, testResourceConfiguration, butThenProxy).catch((e) => {
285
+ this.error = e;
282
286
  throw e;
283
287
  });
284
288
  }
285
289
  catch (e) {
286
- console.log("test failed", e);
287
- this.error = e.message;
290
+ console.log("test failed 2", e);
291
+ this.error = e;
288
292
  throw e;
289
293
  }
290
294
  }
295
+ check() { }
291
296
  }
292
297
  export class BaseCheck {
293
- constructor(name, features, checkCB, whens, thens) {
298
+ constructor(name, features, checker, x, checkCB) {
294
299
  this.name = name;
295
300
  this.features = features;
296
301
  this.checkCB = checkCB;
297
- this.whens = whens;
298
- this.thens = thens;
302
+ this.checker = checker;
299
303
  }
300
- async afterEach(store, key, cb, pm) {
301
- return;
304
+ toObj() {
305
+ return {
306
+ key: this.key,
307
+ name: this.name,
308
+ functionAsString: this.checkCB.toString(),
309
+ features: this.features,
310
+ };
311
+ }
312
+ async afterEach(store, key, artifactory, pm) {
313
+ return store;
314
+ }
315
+ beforeAll(store) {
316
+ return store;
302
317
  }
303
318
  async check(subject, key, testResourceConfiguration, tester, artifactory, tLog, pm) {
319
+ this.key = key;
304
320
  tLog(`\n Check: ${this.name}`);
305
- const store = await this.checkThat(subject, testResourceConfiguration, artifactory, pm);
306
- await this.checkCB(Object.entries(this.whens).reduce((a, [key, when]) => {
307
- a[key] = async (payload) => {
308
- return await when(payload, testResourceConfiguration).test(store, testResourceConfiguration, tLog, pm, "x");
309
- };
310
- return a;
311
- }, {}), Object.entries(this.thens).reduce((a, [key, then]) => {
312
- a[key] = async (payload) => {
313
- const t = await then(payload, testResourceConfiguration).test(store, testResourceConfiguration, tLog, pm);
314
- tester(t);
315
- };
316
- return a;
317
- }, {}));
318
- await this.afterEach(store, key, () => { }, pm);
321
+ this.store = await this.checkThat(subject, testResourceConfiguration, artifactory, this.checkCB, this.initialValues, pm);
322
+ await this.checker(this.store, pm);
319
323
  return;
320
324
  }
321
325
  }
@@ -1,6 +1,5 @@
1
1
  export class BaseBuilder {
2
2
  constructor(input, suitesOverrides, givenOverides, whenOverides, thenOverides, checkOverides, testResourceRequirement, testSpecification) {
3
- this.input = input;
4
3
  this.artifacts = [];
5
4
  this.artifacts = [];
6
5
  this.testResourceRequirement = testResourceRequirement;
@@ -26,23 +25,22 @@ export class BaseBuilder {
26
25
  },
27
26
  runner,
28
27
  receiveTestResourceConfig: async function (puppetMaster) {
28
+ const start = await puppetMaster.start();
29
29
  const logFilePath = "log.txt";
30
30
  const access = await puppetMaster.createWriteStream(logFilePath);
31
- const tLog = (...l) => {
32
- puppetMaster.write(access, `${l.toString()}\n`);
31
+ const tLog = async (...l) => {
32
+ const x = await puppetMaster.write(access, `${l.toString()}\n`);
33
+ // console.log("x", x);
33
34
  };
34
35
  const suiteDone = await runner(puppetMaster, tLog);
35
- const logPromise = new Promise((res, rej) => {
36
- puppetMaster.end(access);
36
+ const logPromise = new Promise(async (res, rej) => {
37
+ await puppetMaster.end(access);
37
38
  res(true);
38
39
  });
39
- const numberOfFailures = Object.keys(suiteDone.givens).filter((k) => {
40
- return suiteDone.givens[k].error;
41
- }).length;
42
- puppetMaster.writeFileSync(`bdd_errors.txt`, numberOfFailures.toString());
43
- const o = this.toObj();
44
- puppetMaster.writeFileSync(`littleBoard.html`, `
45
- <!DOCTYPE html>
40
+ const fails = suiteDone.fails;
41
+ const b = await puppetMaster.writeFileSync(`bdd_errors.txt`, fails.toString());
42
+ await puppetMaster.writeFileSync(`littleBoard.html`, `
43
+ <!DOCTYPE html>
46
44
  <html lang="en">
47
45
 
48
46
  <head>
@@ -52,19 +50,19 @@ export class BaseBuilder {
52
50
  <meta name="viewport" content="width=device-width, initial-scale=1" />
53
51
  <meta name="author" content="" />
54
52
 
55
- <link rel="stylesheet" href="/kokomoBay/docs/TestReport.css" />
56
- <script src="/kokomoBay/docs/TestReport.js"></script>
53
+ <link rel="stylesheet" href="/kokomoBay/testeranto/TestReport.css" />
54
+ <script src="/kokomoBay/testeranto/TestReport.js"></script>
57
55
 
58
56
  </head>
59
57
 
60
- <body>
61
- <h1>Test report</h1>
62
- <div id="root"/>
63
- </body>
58
+ <body>
59
+ <div id="root"/>
60
+ </body>
64
61
  `);
65
- puppetMaster.writeFileSync(`tests.json`, JSON.stringify(this.toObj(), null, 2));
62
+ await puppetMaster.writeFileSync(`tests.json`, JSON.stringify(this.toObj(), null, 2));
66
63
  return {
67
- failed: numberOfFailures,
64
+ failed: fails > 0,
65
+ fails,
68
66
  artifacts: this.artifacts || [],
69
67
  logPromise,
70
68
  features: suiteDone.features(),
@@ -73,6 +71,12 @@ export class BaseBuilder {
73
71
  };
74
72
  });
75
73
  }
74
+ // testsJson() {
75
+ // puppetMaster.writeFileSync(
76
+ // `tests.json`,
77
+ // JSON.stringify({ features: suiteDone.features() }, null, 2)
78
+ // );
79
+ // }
76
80
  Specs() {
77
81
  return this.specs;
78
82
  }
@@ -8,8 +8,11 @@ export class ClassBuilder extends BaseBuilder {
8
8
  return a;
9
9
  }, {});
10
10
  const classyGivens = Object.entries(testImplementation.givens).reduce((a, [key, g]) => {
11
- a[key] = (features, whens, thens, givEn) => {
12
- return new givenKlasser.prototype.constructor(key, features, whens, thens, testImplementation.givens[key], givEn);
11
+ a[key] = (features, whens, thens) => {
12
+ // console.log("givEn", givEn.toString());
13
+ return new givenKlasser.prototype.constructor(key, features, whens, thens, testImplementation.givens[key]
14
+ // givEn
15
+ );
13
16
  };
14
17
  return a;
15
18
  }, {});
@@ -25,9 +28,9 @@ export class ClassBuilder extends BaseBuilder {
25
28
  };
26
29
  return a;
27
30
  }, {});
28
- const classyChecks = Object.entries(testImplementation.checks).reduce((a, [key, z]) => {
29
- a[key] = (somestring, features, callback) => {
30
- return new checkKlasser.prototype.constructor(somestring, features, callback, classyWhens, classyThens);
31
+ const classyChecks = Object.entries(testImplementation.checks).reduce((a, [key, chEck]) => {
32
+ a[key] = (name, features, checker) => {
33
+ return new checkKlasser.prototype.constructor(key, features, chEck, checker);
31
34
  };
32
35
  return a;
33
36
  }, {});
@@ -6,16 +6,10 @@ export default class Testeranto extends ClassBuilder {
6
6
  const fullTestInterface = DefaultTestInterface(testInterface);
7
7
  super(testImplementation, testSpecification, input, class extends BaseSuite {
8
8
  afterAll(store, artifactory, pm) {
9
- return fullTestInterface.afterAll(store,
10
- // (fPath: string, value: unknown) =>
11
- // // TODO does not work?
12
- // {
13
- // artifactory(`afterAll4-${this.name}/${fPath}`, value);
14
- // },
15
- pm);
9
+ return fullTestInterface.afterAll(store, pm);
16
10
  }
17
11
  assertThat(t) {
18
- fullTestInterface.assertThis(t);
12
+ return fullTestInterface.assertThis(t);
19
13
  }
20
14
  async setup(s, artifactory, tr, pm) {
21
15
  return (fullTestInterface.beforeAll ||
@@ -29,15 +23,10 @@ export default class Testeranto extends ClassBuilder {
29
23
  this.uberCatcher = uberCatcher;
30
24
  }
31
25
  async givenThat(subject, testResource, artifactory, initializer, initialValues, pm) {
32
- return fullTestInterface.beforeEach(subject, initializer,
33
- // artifactory,
34
- testResource, initialValues, pm);
26
+ return fullTestInterface.beforeEach(subject, initializer, testResource, initialValues, pm);
35
27
  }
36
28
  afterEach(store, key, artifactory, pm) {
37
- return new Promise((res) => res(fullTestInterface.afterEach(store, key,
38
- // (fPath: string, value: unknown) =>
39
- // artifactory(`after/${fPath}`, value),
40
- pm)));
29
+ return new Promise((res) => res(fullTestInterface.afterEach(store, key, pm)));
41
30
  }
42
31
  }, class When extends BaseWhen {
43
32
  async andWhen(store, whenCB, testResource, pm) {
@@ -47,20 +36,6 @@ export default class Testeranto extends ClassBuilder {
47
36
  catch (e) {
48
37
  throw e;
49
38
  }
50
- // return fullTestInterface
51
- // .andWhen(store, whenCB, testResource, pm)
52
- // .catch((e) => {
53
- // throw e;
54
- // });
55
- // return new Promise((res, rej) => {
56
- // fullTestInterface.andWhen(store, whenCB, testResource, pm);
57
- // });
58
- // return await fullTestInterface.andWhen(
59
- // store,
60
- // whenCB,
61
- // testResource,
62
- // pm
63
- // );
64
39
  }
65
40
  }, class Then extends BaseThen {
66
41
  async butThen(store, thenCB, testResource, pm) {
@@ -72,42 +47,17 @@ export default class Testeranto extends ClassBuilder {
72
47
  console.log(" ERROR ", e);
73
48
  throw e;
74
49
  });
75
- // try {
76
- // console.log("mark 4");
77
- // return await fullTestInterface.butThen(
78
- // store,
79
- // thenCB,
80
- // testResource,
81
- // pm
82
- // );
83
- // } catch (e) {
84
- // console.log("mar123");
85
- // throw e;
86
- // }
87
- // return await fullTestInterface.butThen(
88
- // store,
89
- // thenCB,
90
- // testResourceConfiguration,
91
- // pm
92
- // );
93
50
  }
94
51
  }, class Check extends BaseCheck {
95
- constructor(name, features, checkCallback, whens, thens, initialValues) {
96
- super(name, features, checkCallback, whens, thens);
97
- this.initialValues = initialValues;
52
+ constructor(name, features, checkCallback, x, i, c) {
53
+ super(name, features, checkCallback, x, c);
54
+ this.initialValues = i;
98
55
  }
99
- async checkThat(subject, testResourceConfiguration, artifactory, pm) {
100
- return fullTestInterface.beforeEach(subject, this.initialValues,
101
- // (fPath: string, value: unknown) =>
102
- // artifactory(`before/${fPath}`, value),
103
- testResourceConfiguration, this.initialValues, pm);
56
+ async checkThat(subject, testResourceConfiguration, artifactory, initializer, initialValues, pm) {
57
+ return fullTestInterface.beforeEach(subject, initializer, testResourceConfiguration, initialValues, pm);
104
58
  }
105
59
  afterEach(store, key, artifactory, pm) {
106
- return new Promise((res) => res(fullTestInterface.afterEach(store, key,
107
- // (fPath: string, value: unknown) =>
108
- // // TODO does not work?
109
- // artifactory(`afterEach2-${this.name}/${fPath}`, value),
110
- pm)));
60
+ return new Promise((res) => res(fullTestInterface.afterEach(store, key, pm)));
111
61
  }
112
62
  }, testResourceRequirement);
113
63
  }
@@ -5,8 +5,13 @@ export const BaseTestInterface = {
5
5
  },
6
6
  afterEach: async (s) => s,
7
7
  afterAll: (store) => undefined,
8
- butThen: async (store, thenCb) => thenCb(store),
9
- andWhen: (a) => a,
8
+ butThen: async (store, thenCb) => {
9
+ try {
10
+ thenCb(store);
11
+ }
12
+ catch (e) { }
13
+ },
14
+ andWhen: async (a) => a,
10
15
  assertThis: () => null,
11
16
  };
12
17
  export const DefaultTestInterface = (p) => {