@sun-asterisk/sungen 3.2.28 → 3.2.30

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 (486) hide show
  1. package/dist/capabilities/discover.d.ts +29 -0
  2. package/dist/capabilities/discover.d.ts.map +1 -1
  3. package/dist/capabilities/discover.js +144 -10
  4. package/dist/capabilities/discover.js.map +1 -1
  5. package/dist/capabilities/registry.d.ts +18 -0
  6. package/dist/capabilities/registry.d.ts.map +1 -1
  7. package/dist/capabilities/registry.js +25 -0
  8. package/dist/capabilities/registry.js.map +1 -1
  9. package/dist/cli/commands/audit.d.ts.map +1 -1
  10. package/dist/cli/commands/audit.js +9 -0
  11. package/dist/cli/commands/audit.js.map +1 -1
  12. package/dist/cli/commands/capability.js +1 -1
  13. package/dist/cli/commands/capability.js.map +1 -1
  14. package/dist/cli/commands/delivery.d.ts.map +1 -1
  15. package/dist/cli/commands/delivery.js +2 -1
  16. package/dist/cli/commands/delivery.js.map +1 -1
  17. package/dist/cli/commands/generate.d.ts.map +1 -1
  18. package/dist/cli/commands/generate.js +6 -2
  19. package/dist/cli/commands/generate.js.map +1 -1
  20. package/dist/cli/commands/inspect.js +1 -1
  21. package/dist/cli/commands/inspect.js.map +1 -1
  22. package/dist/cli/commands/results-merge.d.ts.map +1 -1
  23. package/dist/cli/commands/results-merge.js +9 -2
  24. package/dist/cli/commands/results-merge.js.map +1 -1
  25. package/dist/cli/commands/results-sanitize.d.ts +24 -0
  26. package/dist/cli/commands/results-sanitize.d.ts.map +1 -0
  27. package/dist/cli/commands/results-sanitize.js +126 -0
  28. package/dist/cli/commands/results-sanitize.js.map +1 -0
  29. package/dist/cli/commands/script-check.d.ts.map +1 -1
  30. package/dist/cli/commands/script-check.js +3 -1
  31. package/dist/cli/commands/script-check.js.map +1 -1
  32. package/dist/cli/commands/update.d.ts.map +1 -1
  33. package/dist/cli/commands/update.js +3 -0
  34. package/dist/cli/commands/update.js.map +1 -1
  35. package/dist/dashboard/templates/index.html +1 -1
  36. package/dist/exporters/api-testcase-formatter.d.ts +3 -6
  37. package/dist/exporters/api-testcase-formatter.d.ts.map +1 -1
  38. package/dist/exporters/api-testcase-formatter.js +7 -10
  39. package/dist/exporters/api-testcase-formatter.js.map +1 -1
  40. package/dist/exporters/feature-parser.d.ts +1 -1
  41. package/dist/exporters/feature-parser.js +1 -1
  42. package/dist/exporters/matrix/build.d.ts.map +1 -1
  43. package/dist/exporters/matrix/build.js +18 -3
  44. package/dist/exporters/matrix/build.js.map +1 -1
  45. package/dist/exporters/matrix/item-labels.d.ts +35 -0
  46. package/dist/exporters/matrix/item-labels.d.ts.map +1 -0
  47. package/dist/exporters/matrix/item-labels.js +90 -0
  48. package/dist/exporters/matrix/item-labels.js.map +1 -0
  49. package/dist/exporters/matrix/render-coverage-sheet.d.ts +14 -0
  50. package/dist/exporters/matrix/render-coverage-sheet.d.ts.map +1 -0
  51. package/dist/exporters/matrix/render-coverage-sheet.js +162 -0
  52. package/dist/exporters/matrix/render-coverage-sheet.js.map +1 -0
  53. package/dist/exporters/matrix/render-csv.d.ts.map +1 -1
  54. package/dist/exporters/matrix/render-csv.js +3 -1
  55. package/dist/exporters/matrix/render-csv.js.map +1 -1
  56. package/dist/exporters/matrix/render-overview-sheet.d.ts +20 -0
  57. package/dist/exporters/matrix/render-overview-sheet.d.ts.map +1 -0
  58. package/dist/exporters/matrix/render-overview-sheet.js +32 -0
  59. package/dist/exporters/matrix/render-overview-sheet.js.map +1 -0
  60. package/dist/exporters/matrix/render-testcase-sheet.d.ts +30 -0
  61. package/dist/exporters/matrix/render-testcase-sheet.d.ts.map +1 -0
  62. package/dist/exporters/matrix/render-testcase-sheet.js +156 -0
  63. package/dist/exporters/matrix/render-testcase-sheet.js.map +1 -0
  64. package/dist/exporters/matrix/render-xlsx.d.ts +41 -31
  65. package/dist/exporters/matrix/render-xlsx.d.ts.map +1 -1
  66. package/dist/exporters/matrix/render-xlsx.js +72 -425
  67. package/dist/exporters/matrix/render-xlsx.js.map +1 -1
  68. package/dist/exporters/matrix/result-totals.d.ts +23 -0
  69. package/dist/exporters/matrix/result-totals.d.ts.map +1 -0
  70. package/dist/exporters/matrix/result-totals.js +21 -0
  71. package/dist/exporters/matrix/result-totals.js.map +1 -0
  72. package/dist/exporters/matrix/testcase-summary-band.d.ts +30 -0
  73. package/dist/exporters/matrix/testcase-summary-band.d.ts.map +1 -0
  74. package/dist/exporters/matrix/testcase-summary-band.js +71 -0
  75. package/dist/exporters/matrix/testcase-summary-band.js.map +1 -0
  76. package/dist/exporters/matrix/wording.d.ts.map +1 -1
  77. package/dist/exporters/matrix/wording.js +13 -0
  78. package/dist/exporters/matrix/wording.js.map +1 -1
  79. package/dist/exporters/matrix/xlsx-cells.d.ts +38 -0
  80. package/dist/exporters/matrix/xlsx-cells.d.ts.map +1 -0
  81. package/dist/exporters/matrix/xlsx-cells.js +52 -0
  82. package/dist/exporters/matrix/xlsx-cells.js.map +1 -0
  83. package/dist/exporters/qa-env-secret-denylist.js +2 -2
  84. package/dist/exporters/qa-env-secret-denylist.js.map +1 -1
  85. package/dist/exporters/report-path-sanitizer.d.ts +38 -0
  86. package/dist/exporters/report-path-sanitizer.d.ts.map +1 -0
  87. package/dist/exporters/report-path-sanitizer.js +137 -0
  88. package/dist/exporters/report-path-sanitizer.js.map +1 -0
  89. package/dist/exporters/result-variants.d.ts.map +1 -1
  90. package/dist/exporters/result-variants.js +2 -1
  91. package/dist/exporters/result-variants.js.map +1 -1
  92. package/dist/exporters/sensitive-key.d.ts +31 -0
  93. package/dist/exporters/sensitive-key.d.ts.map +1 -0
  94. package/dist/exporters/sensitive-key.js +50 -0
  95. package/dist/exporters/sensitive-key.js.map +1 -0
  96. package/dist/exporters/test-data-resolver.d.ts +4 -1
  97. package/dist/exporters/test-data-resolver.d.ts.map +1 -1
  98. package/dist/exporters/test-data-resolver.js +12 -2
  99. package/dist/exporters/test-data-resolver.js.map +1 -1
  100. package/dist/exporters/xlsx-report-builder.d.ts +12 -1
  101. package/dist/exporters/xlsx-report-builder.d.ts.map +1 -1
  102. package/dist/exporters/xlsx-report-builder.js +10 -2
  103. package/dist/exporters/xlsx-report-builder.js.map +1 -1
  104. package/dist/generators/gherkin-parser/index.d.ts +10 -0
  105. package/dist/generators/gherkin-parser/index.d.ts.map +1 -1
  106. package/dist/generators/gherkin-parser/index.js +20 -12
  107. package/dist/generators/gherkin-parser/index.js.map +1 -1
  108. package/dist/generators/gherkin-parser/parent-scope-clause.d.ts +54 -0
  109. package/dist/generators/gherkin-parser/parent-scope-clause.d.ts.map +1 -0
  110. package/dist/generators/gherkin-parser/parent-scope-clause.js +109 -0
  111. package/dist/generators/gherkin-parser/parent-scope-clause.js.map +1 -0
  112. package/dist/generators/test-generator/adapters/adapter-interface.d.ts +23 -18
  113. package/dist/generators/test-generator/adapters/adapter-interface.d.ts.map +1 -1
  114. package/dist/generators/test-generator/adapters/appium/appium-adapter.d.ts +4 -19
  115. package/dist/generators/test-generator/adapters/appium/appium-adapter.d.ts.map +1 -1
  116. package/dist/generators/test-generator/adapters/appium/appium-adapter.js.map +1 -1
  117. package/dist/generators/test-generator/adapters/appium/os-support.d.ts +53 -0
  118. package/dist/generators/test-generator/adapters/appium/os-support.d.ts.map +1 -0
  119. package/dist/generators/test-generator/adapters/appium/os-support.js +200 -0
  120. package/dist/generators/test-generator/adapters/appium/os-support.js.map +1 -0
  121. package/dist/generators/test-generator/adapters/appium/templates/after-all.hbs +18 -0
  122. package/dist/generators/test-generator/adapters/appium/templates/after-each.hbs +18 -0
  123. package/dist/generators/test-generator/adapters/appium/templates/before-all.hbs +18 -0
  124. package/dist/generators/test-generator/adapters/appium/templates/steps/actions/alert-fill-action.hbs +9 -2
  125. package/dist/generators/test-generator/adapters/appium/templates/steps/actions/capture-variable.hbs +24 -1
  126. package/dist/generators/test-generator/adapters/appium/templates/steps/actions/click-at-position-action.hbs +1 -0
  127. package/dist/generators/test-generator/adapters/appium/templates/steps/actions/click-element-with-text.hbs +1 -1
  128. package/dist/generators/test-generator/adapters/appium/templates/steps/actions/double-click-action.hbs +7 -0
  129. package/dist/generators/test-generator/adapters/appium/templates/steps/actions/frame-enter-action.hbs +3 -6
  130. package/dist/generators/test-generator/adapters/appium/templates/steps/actions/hover-action.hbs +6 -2
  131. package/dist/generators/test-generator/adapters/appium/templates/steps/actions/hover-element-with-text.hbs +4 -3
  132. package/dist/generators/test-generator/adapters/appium/templates/steps/actions/table-paginate-action.hbs +3 -0
  133. package/dist/generators/test-generator/adapters/appium/templates/steps/actions/unknown-element-action.hbs +9 -0
  134. package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/have-value-assertion.hbs +34 -1
  135. package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/label-value-assertion.hbs +14 -6
  136. package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/visible-assertion.hbs +1 -1
  137. package/dist/generators/test-generator/adapters/appium/templates/steps/gestures/go-back-action.hbs +21 -0
  138. package/dist/generators/test-generator/adapters/appium/templates/steps/gestures/long-press-action.hbs +4 -0
  139. package/dist/generators/test-generator/adapters/appium/templates/steps/gestures/pinch-zoom-action.hbs +4 -0
  140. package/dist/generators/test-generator/adapters/appium/templates/steps/gestures/set-geolocation-action.hbs +16 -0
  141. package/dist/generators/test-generator/adapters/appium/templates/steps/partials/locator.hbs +9 -1
  142. package/dist/generators/test-generator/adapters/appium/templates/test-file.hbs +62 -23
  143. package/dist/generators/test-generator/adapters/index.d.ts +1 -1
  144. package/dist/generators/test-generator/adapters/index.d.ts.map +1 -1
  145. package/dist/generators/test-generator/adapters/playwright/playwright-adapter.d.ts +4 -19
  146. package/dist/generators/test-generator/adapters/playwright/playwright-adapter.d.ts.map +1 -1
  147. package/dist/generators/test-generator/adapters/playwright/playwright-adapter.js.map +1 -1
  148. package/dist/generators/test-generator/adapters/playwright/templates/after-all.hbs +19 -1
  149. package/dist/generators/test-generator/adapters/playwright/templates/after-each.hbs +18 -0
  150. package/dist/generators/test-generator/adapters/playwright/templates/before-all.hbs +19 -1
  151. package/dist/generators/test-generator/adapters/playwright/templates/imports.hbs +3 -0
  152. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/check-action.hbs +6 -1
  153. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/click-at-position-action.hbs +23 -0
  154. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/expand-action.hbs +8 -8
  155. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/fill-editor-action.hbs +7 -2
  156. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/table-action-in-row-nth.hbs +7 -2
  157. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/table-action-in-row.hbs +7 -2
  158. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/table-paginate-action.hbs +5 -0
  159. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/uncheck-action.hbs +3 -1
  160. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/unknown-element-action.hbs +1 -1
  161. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/wait-for-page.hbs +18 -1
  162. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/all-contain-assertion.hbs +32 -4
  163. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/all-contain-element.hbs +5 -2
  164. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/checked-assertion.hbs +5 -1
  165. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/column-cell-assertion.hbs +13 -2
  166. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/contain-text-assertion.hbs +1 -1
  167. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-with-role-variable-assertion.hbs +2 -2
  168. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-with-variable-assertion.hbs +1 -1
  169. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/have-text-assertion.hbs +1 -1
  170. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-with-role-variable-assertion.hbs +2 -2
  171. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-with-variable-assertion.hbs +1 -1
  172. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/not-checked-assertion.hbs +2 -1
  173. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/selected-assertion.hbs +21 -3
  174. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/state-with-filter-assertion.hbs +20 -2
  175. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/table-empty.hbs +4 -1
  176. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/table-match-data.hbs +4 -1
  177. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/table-row-count.hbs +4 -1
  178. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/table-row-exists.hbs +12 -4
  179. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/table-row-not-exists.hbs +14 -2
  180. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-role-variable-assertion.hbs +3 -3
  181. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-value-assertion.hbs +1 -1
  182. package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-variable-assertion.hbs +1 -1
  183. package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/checked-opts.hbs +8 -0
  184. package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator-base.hbs +8 -8
  185. package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator-nth.hbs +1 -1
  186. package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/id.hbs +1 -1
  187. package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/testid.hbs +1 -1
  188. package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator.hbs +8 -8
  189. package/dist/generators/test-generator/adapters/playwright/templates/test-file.hbs +10 -8
  190. package/dist/generators/test-generator/code-generator.d.ts +37 -0
  191. package/dist/generators/test-generator/code-generator.d.ts.map +1 -1
  192. package/dist/generators/test-generator/code-generator.js +165 -40
  193. package/dist/generators/test-generator/code-generator.js.map +1 -1
  194. package/dist/generators/test-generator/diagnostics.d.ts +116 -6
  195. package/dist/generators/test-generator/diagnostics.d.ts.map +1 -1
  196. package/dist/generators/test-generator/diagnostics.js +115 -5
  197. package/dist/generators/test-generator/diagnostics.js.map +1 -1
  198. package/dist/generators/test-generator/patterns/index.d.ts +57 -11
  199. package/dist/generators/test-generator/patterns/index.d.ts.map +1 -1
  200. package/dist/generators/test-generator/patterns/index.js +163 -21
  201. package/dist/generators/test-generator/patterns/index.js.map +1 -1
  202. package/dist/generators/test-generator/patterns/types.d.ts +8 -0
  203. package/dist/generators/test-generator/patterns/types.d.ts.map +1 -1
  204. package/dist/generators/test-generator/patterns/with-parent-scope.d.ts +18 -0
  205. package/dist/generators/test-generator/patterns/with-parent-scope.d.ts.map +1 -0
  206. package/dist/generators/test-generator/patterns/with-parent-scope.js +40 -0
  207. package/dist/generators/test-generator/patterns/with-parent-scope.js.map +1 -0
  208. package/dist/generators/test-generator/step-mapper.d.ts +103 -10
  209. package/dist/generators/test-generator/step-mapper.d.ts.map +1 -1
  210. package/dist/generators/test-generator/step-mapper.js +266 -45
  211. package/dist/generators/test-generator/step-mapper.js.map +1 -1
  212. package/dist/generators/test-generator/template-engine.d.ts +4 -19
  213. package/dist/generators/test-generator/template-engine.d.ts.map +1 -1
  214. package/dist/generators/test-generator/template-engine.js +17 -12
  215. package/dist/generators/test-generator/template-engine.js.map +1 -1
  216. package/dist/generators/test-generator/utils/data-resolver.d.ts +7 -0
  217. package/dist/generators/test-generator/utils/data-resolver.d.ts.map +1 -1
  218. package/dist/generators/test-generator/utils/data-resolver.js +19 -2
  219. package/dist/generators/test-generator/utils/data-resolver.js.map +1 -1
  220. package/dist/generators/test-generator/utils/dialog-scope-identity.d.ts +41 -0
  221. package/dist/generators/test-generator/utils/dialog-scope-identity.d.ts.map +1 -0
  222. package/dist/generators/test-generator/utils/dialog-scope-identity.js +61 -0
  223. package/dist/generators/test-generator/utils/dialog-scope-identity.js.map +1 -0
  224. package/dist/generators/test-generator/utils/escape-js-string.d.ts +17 -0
  225. package/dist/generators/test-generator/utils/escape-js-string.d.ts.map +1 -0
  226. package/dist/generators/test-generator/utils/escape-js-string.js +29 -0
  227. package/dist/generators/test-generator/utils/escape-js-string.js.map +1 -0
  228. package/dist/generators/test-generator/utils/nearest-match.d.ts +24 -0
  229. package/dist/generators/test-generator/utils/nearest-match.d.ts.map +1 -0
  230. package/dist/generators/test-generator/utils/nearest-match.js +56 -0
  231. package/dist/generators/test-generator/utils/nearest-match.js.map +1 -0
  232. package/dist/generators/test-generator/utils/selector-entry-fields.d.ts +58 -0
  233. package/dist/generators/test-generator/utils/selector-entry-fields.d.ts.map +1 -0
  234. package/dist/generators/test-generator/utils/selector-entry-fields.js +119 -0
  235. package/dist/generators/test-generator/utils/selector-entry-fields.js.map +1 -0
  236. package/dist/generators/test-generator/utils/selector-entry-walk.d.ts +25 -0
  237. package/dist/generators/test-generator/utils/selector-entry-walk.d.ts.map +1 -0
  238. package/dist/generators/test-generator/utils/selector-entry-walk.js +54 -0
  239. package/dist/generators/test-generator/utils/selector-entry-walk.js.map +1 -0
  240. package/dist/generators/test-generator/utils/selector-nth-validation.d.ts +59 -0
  241. package/dist/generators/test-generator/utils/selector-nth-validation.d.ts.map +1 -0
  242. package/dist/generators/test-generator/utils/selector-nth-validation.js +91 -0
  243. package/dist/generators/test-generator/utils/selector-nth-validation.js.map +1 -0
  244. package/dist/generators/test-generator/utils/selector-resolver.d.ts +53 -2
  245. package/dist/generators/test-generator/utils/selector-resolver.d.ts.map +1 -1
  246. package/dist/generators/test-generator/utils/selector-resolver.js +273 -27
  247. package/dist/generators/test-generator/utils/selector-resolver.js.map +1 -1
  248. package/dist/generators/test-generator/utils/selector-type-validation.d.ts +51 -0
  249. package/dist/generators/test-generator/utils/selector-type-validation.d.ts.map +1 -0
  250. package/dist/generators/test-generator/utils/selector-type-validation.js +77 -0
  251. package/dist/generators/test-generator/utils/selector-type-validation.js.map +1 -0
  252. package/dist/harness/audit.d.ts +3 -1
  253. package/dist/harness/audit.d.ts.map +1 -1
  254. package/dist/harness/audit.js +51 -28
  255. package/dist/harness/audit.js.map +1 -1
  256. package/dist/harness/capability-plan.d.ts +4 -0
  257. package/dist/harness/capability-plan.d.ts.map +1 -1
  258. package/dist/harness/capability-plan.js +32 -2
  259. package/dist/harness/capability-plan.js.map +1 -1
  260. package/dist/harness/catalog/drivers.yaml +1 -1
  261. package/dist/harness/catalog/universal-viewpoints.yaml +145 -0
  262. package/dist/harness/data-driven-lint.d.ts.map +1 -1
  263. package/dist/harness/data-driven-lint.js +217 -33
  264. package/dist/harness/data-driven-lint.js.map +1 -1
  265. package/dist/harness/parse.d.ts +6 -0
  266. package/dist/harness/parse.d.ts.map +1 -1
  267. package/dist/harness/parse.js +1 -1
  268. package/dist/harness/parse.js.map +1 -1
  269. package/dist/harness/repair.d.ts.map +1 -1
  270. package/dist/harness/repair.js +8 -1
  271. package/dist/harness/repair.js.map +1 -1
  272. package/dist/harness/script-check.d.ts +2 -2
  273. package/dist/harness/script-check.d.ts.map +1 -1
  274. package/dist/harness/script-check.js +186 -25
  275. package/dist/harness/script-check.js.map +1 -1
  276. package/dist/harness/sensors.d.ts +48 -0
  277. package/dist/harness/sensors.d.ts.map +1 -1
  278. package/dist/harness/sensors.js +26 -1
  279. package/dist/harness/sensors.js.map +1 -1
  280. package/dist/harness/viewpoint-ledger.d.ts +10 -0
  281. package/dist/harness/viewpoint-ledger.d.ts.map +1 -1
  282. package/dist/harness/viewpoint-ledger.js +23 -2
  283. package/dist/harness/viewpoint-ledger.js.map +1 -1
  284. package/dist/index.d.ts +2 -0
  285. package/dist/index.d.ts.map +1 -1
  286. package/dist/index.js +10 -1
  287. package/dist/index.js.map +1 -1
  288. package/dist/orchestrator/project-initializer.d.ts +6 -0
  289. package/dist/orchestrator/project-initializer.d.ts.map +1 -1
  290. package/dist/orchestrator/project-initializer.js +16 -0
  291. package/dist/orchestrator/project-initializer.js.map +1 -1
  292. package/dist/orchestrator/report-sanitize-reporter-install.d.ts +24 -0
  293. package/dist/orchestrator/report-sanitize-reporter-install.d.ts.map +1 -0
  294. package/dist/orchestrator/report-sanitize-reporter-install.js +161 -0
  295. package/dist/orchestrator/report-sanitize-reporter-install.js.map +1 -0
  296. package/dist/orchestrator/templates/ai-src/commands/delivery.md +4 -3
  297. package/dist/orchestrator/templates/ai-src/commands/run-test.md +9 -1
  298. package/dist/orchestrator/templates/ai-src/skills/sungen-api-coverage-model/SKILL.md +10 -0
  299. package/dist/orchestrator/templates/ai-src/skills/sungen-delivery/SKILL.md +14 -5
  300. package/dist/orchestrator/templates/ai-src/skills/sungen-error-mapping/SKILL.md +62 -3
  301. package/dist/orchestrator/templates/ai-src/skills/sungen-gherkin-syntax/SKILL.md +126 -11
  302. package/dist/orchestrator/templates/ai-src/skills/sungen-mobile-gestures/SKILL.md +16 -1
  303. package/dist/orchestrator/templates/ai-src/skills/sungen-selector-fix/SKILL.md +12 -0
  304. package/dist/orchestrator/templates/ai-src/skills/sungen-selector-keys/SKILL.md +19 -5
  305. package/dist/orchestrator/templates/ai-src/skills/sungen-tc-generation/SKILL.md +88 -2
  306. package/dist/orchestrator/templates/ai-src/skills/sungen-tc-review/SKILL.md +62 -5
  307. package/dist/orchestrator/templates/ai-src/skills/sungen-test-design-techniques/SKILL.md +13 -0
  308. package/dist/orchestrator/templates/ai-src/skills/sungen-viewpoint/SKILL.md +59 -10
  309. package/dist/orchestrator/templates/ai-src/skills/sungen-viewpoint/group-f-mobile-native.md +419 -0
  310. package/dist/orchestrator/templates/playwright.config.ts +7 -0
  311. package/dist/orchestrator/templates/readme.md +1 -1
  312. package/dist/orchestrator/templates/specs-checked-state.d.ts +83 -0
  313. package/dist/orchestrator/templates/specs-checked-state.d.ts.map +1 -0
  314. package/dist/orchestrator/templates/specs-checked-state.js +261 -0
  315. package/dist/orchestrator/templates/specs-checked-state.js.map +1 -0
  316. package/dist/orchestrator/templates/specs-checked-state.ts +324 -0
  317. package/dist/orchestrator/templates/specs-pw-shape-reporter.ts +0 -0
  318. package/dist/orchestrator/templates/specs-report-path-sanitize-reporter.d.ts +36 -0
  319. package/dist/orchestrator/templates/specs-report-path-sanitize-reporter.d.ts.map +1 -0
  320. package/dist/orchestrator/templates/specs-report-path-sanitize-reporter.js +155 -0
  321. package/dist/orchestrator/templates/specs-report-path-sanitize-reporter.js.map +1 -0
  322. package/dist/orchestrator/templates/specs-report-path-sanitize-reporter.ts +142 -0
  323. package/dist/orchestrator/templates/specs-url-assert.d.ts +50 -25
  324. package/dist/orchestrator/templates/specs-url-assert.d.ts.map +1 -1
  325. package/dist/orchestrator/templates/specs-url-assert.js +65 -24
  326. package/dist/orchestrator/templates/specs-url-assert.js.map +1 -1
  327. package/dist/orchestrator/templates/specs-url-assert.ts +101 -28
  328. package/dist/orchestrator/templates/wdio.conf.ts +105 -1
  329. package/dist/utils/selector-types.d.ts +43 -1
  330. package/dist/utils/selector-types.d.ts.map +1 -1
  331. package/dist/utils/selector-types.js +51 -7
  332. package/dist/utils/selector-types.js.map +1 -1
  333. package/package.json +3 -3
  334. package/src/capabilities/discover.ts +146 -10
  335. package/src/capabilities/registry.ts +30 -0
  336. package/src/cli/commands/audit.ts +9 -0
  337. package/src/cli/commands/capability.ts +1 -1
  338. package/src/cli/commands/delivery.ts +2 -1
  339. package/src/cli/commands/generate.ts +5 -2
  340. package/src/cli/commands/inspect.ts +1 -1
  341. package/src/cli/commands/results-merge.ts +9 -2
  342. package/src/cli/commands/results-sanitize.ts +98 -0
  343. package/src/cli/commands/script-check.ts +3 -1
  344. package/src/cli/commands/update.ts +3 -0
  345. package/src/dashboard/templates/index.html +1 -1
  346. package/src/exporters/api-testcase-formatter.ts +5 -7
  347. package/src/exporters/feature-parser.ts +1 -1
  348. package/src/exporters/matrix/build.ts +17 -3
  349. package/src/exporters/matrix/item-labels.ts +78 -0
  350. package/src/exporters/matrix/render-coverage-sheet.ts +170 -0
  351. package/src/exporters/matrix/render-csv.ts +3 -1
  352. package/src/exporters/matrix/render-overview-sheet.ts +51 -0
  353. package/src/exporters/matrix/render-testcase-sheet.ts +178 -0
  354. package/src/exporters/matrix/render-xlsx.ts +67 -448
  355. package/src/exporters/matrix/result-totals.ts +37 -0
  356. package/src/exporters/matrix/testcase-summary-band.ts +74 -0
  357. package/src/exporters/matrix/wording.ts +13 -0
  358. package/src/exporters/matrix/xlsx-cells.ts +56 -0
  359. package/src/exporters/qa-env-secret-denylist.ts +1 -1
  360. package/src/exporters/report-path-sanitizer.ts +144 -0
  361. package/src/exporters/result-variants.ts +2 -1
  362. package/src/exporters/sensitive-key.ts +48 -0
  363. package/src/exporters/test-data-resolver.ts +12 -2
  364. package/src/exporters/xlsx-report-builder.ts +16 -2
  365. package/src/generators/gherkin-parser/index.ts +22 -11
  366. package/src/generators/gherkin-parser/parent-scope-clause.ts +130 -0
  367. package/src/generators/test-generator/adapters/adapter-interface.ts +25 -3
  368. package/src/generators/test-generator/adapters/appium/appium-adapter.ts +4 -4
  369. package/src/generators/test-generator/adapters/appium/os-support.ts +176 -0
  370. package/src/generators/test-generator/adapters/appium/templates/after-all.hbs +18 -0
  371. package/src/generators/test-generator/adapters/appium/templates/after-each.hbs +18 -0
  372. package/src/generators/test-generator/adapters/appium/templates/before-all.hbs +18 -0
  373. package/src/generators/test-generator/adapters/appium/templates/steps/actions/alert-fill-action.hbs +9 -2
  374. package/src/generators/test-generator/adapters/appium/templates/steps/actions/capture-variable.hbs +24 -1
  375. package/src/generators/test-generator/adapters/appium/templates/steps/actions/click-at-position-action.hbs +1 -0
  376. package/src/generators/test-generator/adapters/appium/templates/steps/actions/click-element-with-text.hbs +1 -1
  377. package/src/generators/test-generator/adapters/appium/templates/steps/actions/double-click-action.hbs +7 -0
  378. package/src/generators/test-generator/adapters/appium/templates/steps/actions/frame-enter-action.hbs +3 -6
  379. package/src/generators/test-generator/adapters/appium/templates/steps/actions/hover-action.hbs +6 -2
  380. package/src/generators/test-generator/adapters/appium/templates/steps/actions/hover-element-with-text.hbs +4 -3
  381. package/src/generators/test-generator/adapters/appium/templates/steps/actions/table-paginate-action.hbs +3 -0
  382. package/src/generators/test-generator/adapters/appium/templates/steps/actions/unknown-element-action.hbs +9 -0
  383. package/src/generators/test-generator/adapters/appium/templates/steps/assertions/have-value-assertion.hbs +34 -1
  384. package/src/generators/test-generator/adapters/appium/templates/steps/assertions/label-value-assertion.hbs +14 -6
  385. package/src/generators/test-generator/adapters/appium/templates/steps/assertions/visible-assertion.hbs +1 -1
  386. package/src/generators/test-generator/adapters/appium/templates/steps/gestures/go-back-action.hbs +21 -0
  387. package/src/generators/test-generator/adapters/appium/templates/steps/gestures/long-press-action.hbs +4 -0
  388. package/src/generators/test-generator/adapters/appium/templates/steps/gestures/pinch-zoom-action.hbs +4 -0
  389. package/src/generators/test-generator/adapters/appium/templates/steps/gestures/set-geolocation-action.hbs +16 -0
  390. package/src/generators/test-generator/adapters/appium/templates/steps/partials/locator.hbs +9 -1
  391. package/src/generators/test-generator/adapters/appium/templates/test-file.hbs +62 -23
  392. package/src/generators/test-generator/adapters/index.ts +1 -1
  393. package/src/generators/test-generator/adapters/playwright/playwright-adapter.ts +4 -4
  394. package/src/generators/test-generator/adapters/playwright/templates/after-all.hbs +19 -1
  395. package/src/generators/test-generator/adapters/playwright/templates/after-each.hbs +18 -0
  396. package/src/generators/test-generator/adapters/playwright/templates/before-all.hbs +19 -1
  397. package/src/generators/test-generator/adapters/playwright/templates/imports.hbs +3 -0
  398. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/check-action.hbs +6 -1
  399. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/click-at-position-action.hbs +23 -0
  400. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/expand-action.hbs +8 -8
  401. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/fill-editor-action.hbs +7 -2
  402. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/table-action-in-row-nth.hbs +7 -2
  403. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/table-action-in-row.hbs +7 -2
  404. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/table-paginate-action.hbs +5 -0
  405. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/uncheck-action.hbs +3 -1
  406. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/unknown-element-action.hbs +1 -1
  407. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/wait-for-page.hbs +18 -1
  408. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/all-contain-assertion.hbs +32 -4
  409. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/all-contain-element.hbs +5 -2
  410. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/checked-assertion.hbs +5 -1
  411. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/column-cell-assertion.hbs +13 -2
  412. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/contain-text-assertion.hbs +1 -1
  413. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-with-role-variable-assertion.hbs +2 -2
  414. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-with-variable-assertion.hbs +1 -1
  415. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/have-text-assertion.hbs +1 -1
  416. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-with-role-variable-assertion.hbs +2 -2
  417. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-with-variable-assertion.hbs +1 -1
  418. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/not-checked-assertion.hbs +2 -1
  419. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/selected-assertion.hbs +21 -3
  420. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/state-with-filter-assertion.hbs +20 -2
  421. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/table-empty.hbs +4 -1
  422. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/table-match-data.hbs +4 -1
  423. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/table-row-count.hbs +4 -1
  424. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/table-row-exists.hbs +12 -4
  425. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/table-row-not-exists.hbs +14 -2
  426. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-role-variable-assertion.hbs +3 -3
  427. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-value-assertion.hbs +1 -1
  428. package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-variable-assertion.hbs +1 -1
  429. package/src/generators/test-generator/adapters/playwright/templates/steps/partials/checked-opts.hbs +8 -0
  430. package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator-base.hbs +8 -8
  431. package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator-nth.hbs +1 -1
  432. package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/id.hbs +1 -1
  433. package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/testid.hbs +1 -1
  434. package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator.hbs +8 -8
  435. package/src/generators/test-generator/adapters/playwright/templates/test-file.hbs +10 -8
  436. package/src/generators/test-generator/code-generator.ts +181 -46
  437. package/src/generators/test-generator/diagnostics.ts +117 -6
  438. package/src/generators/test-generator/patterns/index.ts +175 -24
  439. package/src/generators/test-generator/patterns/types.ts +8 -0
  440. package/src/generators/test-generator/patterns/with-parent-scope.ts +41 -0
  441. package/src/generators/test-generator/step-mapper.ts +277 -43
  442. package/src/generators/test-generator/template-engine.ts +21 -21
  443. package/src/generators/test-generator/utils/data-resolver.ts +23 -2
  444. package/src/generators/test-generator/utils/dialog-scope-identity.ts +71 -0
  445. package/src/generators/test-generator/utils/escape-js-string.ts +24 -0
  446. package/src/generators/test-generator/utils/nearest-match.ts +55 -0
  447. package/src/generators/test-generator/utils/selector-entry-fields.ts +131 -0
  448. package/src/generators/test-generator/utils/selector-entry-walk.ts +58 -0
  449. package/src/generators/test-generator/utils/selector-nth-validation.ts +99 -0
  450. package/src/generators/test-generator/utils/selector-resolver.ts +333 -28
  451. package/src/generators/test-generator/utils/selector-type-validation.ts +87 -0
  452. package/src/harness/audit.ts +55 -30
  453. package/src/harness/capability-plan.ts +33 -1
  454. package/src/harness/catalog/drivers.yaml +1 -1
  455. package/src/harness/catalog/universal-viewpoints.yaml +145 -0
  456. package/src/harness/data-driven-lint.ts +192 -32
  457. package/src/harness/parse.ts +7 -1
  458. package/src/harness/repair.ts +8 -1
  459. package/src/harness/script-check.ts +186 -21
  460. package/src/harness/sensors.ts +75 -1
  461. package/src/harness/viewpoint-ledger.ts +26 -5
  462. package/src/index.ts +7 -0
  463. package/src/orchestrator/project-initializer.ts +17 -0
  464. package/src/orchestrator/report-sanitize-reporter-install.ts +109 -0
  465. package/src/orchestrator/templates/ai-src/commands/delivery.md +4 -3
  466. package/src/orchestrator/templates/ai-src/commands/run-test.md +9 -1
  467. package/src/orchestrator/templates/ai-src/skills/sungen-api-coverage-model/SKILL.md +10 -0
  468. package/src/orchestrator/templates/ai-src/skills/sungen-delivery/SKILL.md +14 -5
  469. package/src/orchestrator/templates/ai-src/skills/sungen-error-mapping/SKILL.md +62 -3
  470. package/src/orchestrator/templates/ai-src/skills/sungen-gherkin-syntax/SKILL.md +126 -11
  471. package/src/orchestrator/templates/ai-src/skills/sungen-mobile-gestures/SKILL.md +16 -1
  472. package/src/orchestrator/templates/ai-src/skills/sungen-selector-fix/SKILL.md +12 -0
  473. package/src/orchestrator/templates/ai-src/skills/sungen-selector-keys/SKILL.md +19 -5
  474. package/src/orchestrator/templates/ai-src/skills/sungen-tc-generation/SKILL.md +88 -2
  475. package/src/orchestrator/templates/ai-src/skills/sungen-tc-review/SKILL.md +62 -5
  476. package/src/orchestrator/templates/ai-src/skills/sungen-test-design-techniques/SKILL.md +13 -0
  477. package/src/orchestrator/templates/ai-src/skills/sungen-viewpoint/SKILL.md +59 -10
  478. package/src/orchestrator/templates/ai-src/skills/sungen-viewpoint/group-f-mobile-native.md +419 -0
  479. package/src/orchestrator/templates/playwright.config.ts +7 -0
  480. package/src/orchestrator/templates/readme.md +1 -1
  481. package/src/orchestrator/templates/specs-checked-state.ts +324 -0
  482. package/src/orchestrator/templates/specs-pw-shape-reporter.ts +0 -0
  483. package/src/orchestrator/templates/specs-report-path-sanitize-reporter.ts +142 -0
  484. package/src/orchestrator/templates/specs-url-assert.ts +101 -28
  485. package/src/orchestrator/templates/wdio.conf.ts +105 -1
  486. package/src/utils/selector-types.ts +54 -5
@@ -1,14 +1,42 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StepMapper = void 0;
4
+ const parent_scope_clause_1 = require("../gherkin-parser/parent-scope-clause");
4
5
  const template_engine_1 = require("./template-engine");
5
6
  const adapters_1 = require("./adapters");
6
7
  const patterns_1 = require("./patterns");
7
8
  const selector_resolver_1 = require("./utils/selector-resolver");
8
9
  const data_resolver_1 = require("./utils/data-resolver");
10
+ const dialog_scope_identity_1 = require("./utils/dialog-scope-identity");
9
11
  const unsupported_step_code_1 = require("./patterns/unsupported-step-code");
12
+ const mask_refs_for_matching_1 = require("./utils/mask-refs-for-matching");
13
+ const selector_type_validation_1 = require("./utils/selector-type-validation");
10
14
  const app_profile_1 = require("./app-profile");
11
15
  const registry_1 = require("../../capabilities/registry");
16
+ /**
17
+ * The correction SG-W001 owes a project that gated a platform driver away.
18
+ *
19
+ * Gating (plan `260903-1654` phase 11) keeps a mobile-only pattern out of a web project's registry.
20
+ * Right isolation — but `platformMiss` then has nothing to catch, so a mobile-only step falls
21
+ * through to SG-W001, whose sentence "sungen has no step form for it" is FALSE: the form exists in
22
+ * a vocabulary this project declined. Ungated, the author would have seen SG-W020 naming the
23
+ * alternative.
24
+ *
25
+ * It states only what discovery knows. Which STEP the skipped driver owned is unknowable here — the
26
+ * patterns were never loaded — and a static list of off-platform step texts would rot on the next
27
+ * pattern anyone adds, putting a second wrong sentence where the first one was.
28
+ *
29
+ * Returns '' when nothing was gated, so every project that predates the platform profile keeps the
30
+ * message it has today, word for word.
31
+ */
32
+ function offPlatformHint() {
33
+ const gated = registry_1.capabilityRegistry.gatedDrivers();
34
+ if (!gated.length)
35
+ return '';
36
+ const platform = registry_1.capabilityRegistry.gatedForPlatform();
37
+ const names = gated.map(([pkg, serves]) => `${pkg} (${serves})`).join(', ');
38
+ return `this project declares platform: ${platform}, so ${names} was not loaded; a ${gated[0][1]}-only step form exists but is out of scope here. Per-platform vocabulary: docs/spec/step-support-matrix.md.`;
39
+ }
12
40
  /**
13
41
  * StepMapper - Orchestrates step-to-code conversion using pattern registry
14
42
  * Refactored from 907 lines to < 200 lines
@@ -50,7 +78,9 @@ class StepMapper {
50
78
  this.platform = adapter.frameworkName === 'appium' ? 'mobile' : 'web';
51
79
  this.templateEngine = new template_engine_1.TemplateEngine(templatesDir);
52
80
  this.patternRegistry = new patterns_1.PatternRegistry();
53
- this.selectorResolver = new selector_resolver_1.SelectorResolver(undefined, options.screenName);
81
+ // `platform` is set just above from the ADAPTER — the resolver needs it to decline the
82
+ // list-member auto-infer that has no mobile equivalent (#665).
83
+ this.selectorResolver = new selector_resolver_1.SelectorResolver(undefined, options.screenName, this.platform);
54
84
  this.dataResolver = new data_resolver_1.DataResolver(undefined, options.screenName, options.runtimeData);
55
85
  // App profile (qa/app.yaml) — loaded after PatternRegistry so capability discovery has
56
86
  // populated the preset registry (driver-ui ships native/radix/antd). Missing file →
@@ -73,8 +103,9 @@ class StepMapper {
73
103
  /**
74
104
  * Set feature context for data and selector resolution
75
105
  */
76
- setFeatureContext(featureName, featurePath) {
106
+ setFeatureContext(featureName, featurePath, featurePlatform) {
77
107
  this.featureName = featureName;
108
+ this.featurePlatform = featurePlatform;
78
109
  this.featurePath = featurePath;
79
110
  this.selectorResolver.setFeatureContext(featureName);
80
111
  // One StepMapper serves every feature in a run, so the step counter that names the
@@ -140,6 +171,17 @@ class StepMapper {
140
171
  registerCaptured(name) {
141
172
  this.dataResolver.registerCaptured(name);
142
173
  }
174
+ /**
175
+ * Register the head of a variable bound by the feature's `@beforeAll` hook. Feature-scoped: it
176
+ * survives setScenarioContext() so every scenario can read `{{head.*}}` as a runtime get().
177
+ */
178
+ registerFeatureCaptured(head) {
179
+ this.dataResolver.registerFeatureCaptured(head);
180
+ }
181
+ /** Drop feature-scoped captured vars — call once per feature, before its hooks and scenarios map. */
182
+ clearFeatureCaptured() {
183
+ this.dataResolver.clearFeatureCaptured();
184
+ }
143
185
  /**
144
186
  * Map a Gherkin step to Playwright code
145
187
  * Uses pattern registry first, falls back to AI if enabled
@@ -151,6 +193,7 @@ class StepMapper {
151
193
  if (keyword === 'Given' || keyword === 'When' || keyword === 'Then') {
152
194
  this.lastPrimaryKeyword = keyword;
153
195
  }
196
+ this.warnScopeClauseDiscarded(step);
154
197
  // SG-W015 — `see [X] card with {{n}}` where n is a bare number compiles to a TEXT
155
198
  // assertion (toHaveText('3')), not a count. An author reaching for "3 cards are shown"
156
199
  // gets an assertion that can only pass if the card's TEXT is the digit — a wrong test
@@ -225,19 +268,24 @@ class StepMapper {
225
268
  this.templateEngine.setBaseContext({ inFrame: true, frameSelector });
226
269
  // C1 — routed through the adapter instead of building `page.frameLocator(...)` inline:
227
270
  // the Appium adapter's own template performs its webview-context switch instead.
228
- const code = this.templateEngine.renderStep('frame-enter-action', { frameSelector });
271
+ // `frameRef` carries the name as WRITTEN in the Gherkin: the Appium twin can fail (#705),
272
+ // and its error has to quote the step the author would go and look at, not the resolved
273
+ // xpath they never typed.
274
+ const code = this.templateEngine.renderStep('frame-enter-action', { frameSelector, frameRef: selectorRef });
229
275
  return { code, comment: `Switch to ${selectorRef} frame` };
230
276
  }
231
277
  // Dialog scope directives — intercept before pattern matching
232
278
  if (/\buse dialog\b/i.test(step.text)) {
233
279
  this.inDialogScope = true;
234
- this.templateEngine.setBaseContext({ inDialog: true });
280
+ // setBaseContext MERGES — an earlier scope's root keys in the same scenario would
281
+ // otherwise leak into this unnamed one.
282
+ this.templateEngine.setBaseContext({ inDialog: true, dialogScopeKey: undefined });
235
283
  this.warnDialogScopeIgnoredOnMobile(step);
236
284
  return { code: '', comment: 'Enter dialog scope' };
237
285
  }
238
286
  if (/\b(?:close|dismiss|exit)\s+dialog\b/i.test(step.text)) {
239
287
  this.inDialogScope = false;
240
- this.templateEngine.setBaseContext({ inDialog: false });
288
+ this.templateEngine.setBaseContext({ inDialog: false, dialogScopeKey: undefined });
241
289
  return { code: '', comment: 'Exit dialog scope' };
242
290
  }
243
291
  // `is on [X] <type>` supports exactly two shapes: `page` (URL from the page-type selector
@@ -271,6 +319,7 @@ class StepMapper {
271
319
  dialogRootExpr: undefined,
272
320
  dialogRoleName: undefined,
273
321
  dialogFilterText: undefined,
322
+ dialogScopeKey: undefined,
274
323
  };
275
324
  if (step.selectorRef && step.dataRef) {
276
325
  // Case 3: [panel] dialog with {{value}}
@@ -302,6 +351,15 @@ class StepMapper {
302
351
  contextVars.dialogRoleName = step.selectorRef;
303
352
  }
304
353
  // Case 1: no selectorRef → plain page.getByRole('dialog')
354
+ // Record what this root IS, so a later step naming the same element is recognized as the
355
+ // root rather than nested inside it (issue #692). The declared entry when there is one;
356
+ // otherwise the named-dialog fallback the element itself will resolve to.
357
+ if (step.selectorRef) {
358
+ const entry = this.resolveDialogEntry(step.selectorRef);
359
+ contextVars.dialogScopeKey = entry
360
+ ? (0, dialog_scope_identity_1.locatorIdentityKey)(entry)
361
+ : (0, dialog_scope_identity_1.locatorIdentityKey)({ strategy: 'role', role: 'dialog', name: step.selectorRef });
362
+ }
305
363
  this.templateEngine.setBaseContext(contextVars);
306
364
  return { code: '', comment: `Enter dialog scope${step.selectorRef ? ': ' + step.selectorRef : ''}` };
307
365
  }
@@ -351,11 +409,18 @@ class StepMapper {
351
409
  this.checkDataRefConsumed(step, mappedStep);
352
410
  this.checkPageAssertionNoOpOnMobile(step, mappedStep);
353
411
  this.checkSetupNoOpOnMobile(step, mappedStep);
354
- this.checkPageAssertionFallback(step, mappedStep);
412
+ this.checkNavigationNoOpOnMobile(step, mappedStep);
413
+ this.checkPageStepFallback(step, mappedStep);
355
414
  this.checkDeclaredUrlHasNoQuery(step, mappedStep);
415
+ const positionDropped = this.checkClickPositionDropped(step, mappedStep);
416
+ if (positionDropped)
417
+ return positionDropped;
356
418
  const swallowed = this.checkAssertionClauseSwallowed(step, mappedStep);
357
419
  if (swallowed)
358
420
  return swallowed;
421
+ const badType = this.checkUnknownSelectorType(step, mappedStep);
422
+ if (badType)
423
+ return badType;
359
424
  return mappedStep;
360
425
  }
361
426
  // No pattern matched. The step is, by definition, vocabulary sungen does not have — so it
@@ -378,7 +443,13 @@ class StepMapper {
378
443
  });
379
444
  }
380
445
  else {
381
- reason = `step "${step.text}" matched no pattern — sungen has no step form for it. Rephrase using a supported step form (see the sungen-gherkin-syntax reference), or tag the scenario @manual if the check cannot be automated.`;
446
+ // Two shapes, because the ORIGINAL CLAUSE is what was wrong. Appending a correction to
447
+ // "sungen has no step form for it" leaves the reader a sentence that contradicts itself one
448
+ // clause later. When the gate dropped a vocabulary, that clause is simply not written.
449
+ const hint = offPlatformHint();
450
+ reason = hint
451
+ ? `step "${step.text}" matched no pattern here — ${hint} If that is not what you meant, rephrase using a supported step form (see the sungen-gherkin-syntax reference), or tag the scenario @manual if the check cannot be automated.`
452
+ : `step "${step.text}" matched no pattern — sungen has no step form for it. Rephrase using a supported step form (see the sungen-gherkin-syntax reference), or tag the scenario @manual if the check cannot be automated.`;
382
453
  this.diagnostics?.add('SG-W001', reason, {
383
454
  feature: this.featureName,
384
455
  step: step.text,
@@ -401,20 +472,9 @@ class StepMapper {
401
472
  * falls back to the legacy named-dialog root, so behavior is unchanged for those entries.
402
473
  */
403
474
  renderDialogRoot(selectorRef, opts = {}) {
404
- let resolved;
405
- try {
406
- resolved = this.selectorResolver.resolveSelector(selectorRef, this.featureName, 'dialog', 0);
407
- }
408
- catch {
409
- return undefined;
410
- }
475
+ const resolved = this.resolveDialogEntry(selectorRef);
411
476
  if (!resolved)
412
477
  return undefined;
413
- // `type: role` + a `locator:` field collapses to strategy 'css', which the locator partial
414
- // has no case for — normalize it to the raw-locator strategy it actually means.
415
- if (resolved.strategy === 'css' && resolved.locator) {
416
- resolved = { ...resolved, strategy: 'locator', value: resolved.locator };
417
- }
418
478
  if (!StepMapper.DIALOG_ROOT_STRATEGIES.includes(resolved.strategy))
419
479
  return undefined;
420
480
  if (opts.nonRoleOnly && resolved.strategy === 'role')
@@ -429,22 +489,47 @@ class StepMapper {
429
489
  return expr || undefined;
430
490
  }
431
491
  /**
432
- * SG-W013 — a page assertion whose path came from a fallback rather than from a `type: page`
433
- * selector entry. Both resolvers degrade quietly when `[Ref]` does not resolve: `see [X] page`
434
- * falls back to the feature's own path, `is on [X] page` to `/<ref>/`. Before the assertion was
435
- * anchored that produced a test which always PASSED; anchored, it produces one that can never
436
- * pass. Neither is the assertion the author wrote, and nothing said so.
492
+ * The selectors.yaml entry behind a dialog reference, normalized the way the `locator` partial
493
+ * needs it. Shared by `renderDialogRoot` (which turns it into the root expression) and the
494
+ * scope-entry path (which keys off it to recognize the root again later — issue #692).
495
+ */
496
+ resolveDialogEntry(selectorRef) {
497
+ let resolved;
498
+ try {
499
+ resolved = this.selectorResolver.resolveSelector(selectorRef, this.featureName, 'dialog', 0);
500
+ }
501
+ catch {
502
+ return undefined;
503
+ }
504
+ if (!resolved)
505
+ return undefined;
506
+ // `type: role` + a `locator:` field collapses to strategy 'css', which the locator partial
507
+ // has no case for — normalize it to the raw-locator strategy it actually means.
508
+ if (resolved.strategy === 'css' && resolved.locator) {
509
+ resolved = { ...resolved, strategy: 'locator', value: resolved.locator };
510
+ }
511
+ return resolved;
512
+ }
513
+ /**
514
+ * SG-W013 — a page STEP whose path came from a fallback rather than from a `type: page`
515
+ * selector entry. Every resolver degrades quietly when `[Ref]` does not resolve: `see [X] page`
516
+ * and `wait for [X] page` fall back to the feature's own path, `is on [X] page` to `/<ref>/`.
517
+ * Before the match was anchored that produced a test which always PASSED; anchored, it produces
518
+ * one that can never pass — an assertion that always fails, or, since #677 anchored the wait
519
+ * too, a wait that can only time out. None is the step the author wrote, and nothing said so.
437
520
  *
438
- * Detected here rather than in the resolver on purpose: `MappedStep` carries only
439
- * `{code, comment, imports}`, and the resolvers live in the driver packages while the collector
440
- * lives in core. Re-asking the SAME resolver the step-mapper already owns costs three lines and
521
+ * Detected here rather than in the resolver on purpose: the resolvers live in the driver packages
522
+ * while the collector lives in core (the mapped step now also names its pattern and carries the
523
+ * resolver's data, but the fallback itself is only visible by re-resolving the selector). Re-asking the SAME resolver the step-mapper already owns costs three lines and
441
524
  * duplicates no logic — the alternative is widening the adapter contract for every driver.
442
525
  */
443
- checkPageAssertionFallback(step, mapped) {
526
+ checkPageStepFallback(step, mapped) {
444
527
  if (!this.diagnostics || !step.selectorRef || step.elementType !== 'page')
445
528
  return;
446
- if (!/\b(?:urlMatches|expectPage)\(/.test(mapped.code || ''))
447
- return; // both URL-assertion shapes (#662)
529
+ // every shape that compiles a page path into an ANCHORED match: the two assertions (#662)
530
+ // and the wait (#677). A step that emitted none of them has no path to get wrong.
531
+ if (!/\b(?:urlMatches|expectPage|waitForPage)\(/.test(mapped.code || ''))
532
+ return;
448
533
  let resolvedAsPage = false;
449
534
  try {
450
535
  const resolved = this.selectorResolver.resolveSelector(step.selectorRef, this.featureName, step.elementType, step.nth);
@@ -455,7 +540,7 @@ class StepMapper {
455
540
  }
456
541
  if (resolvedAsPage)
457
542
  return;
458
- this.diagnostics.add('SG-W013', `page assertion for "[${step.selectorRef}]" has no "type: page" selector entry, so it asserts a FALLBACK path — the anchored assertion cannot match the real URL. Declare the page, e.g. "${step.selectorRef.toLowerCase()}:\\n type: page\\n value: '/your/path'"`, { feature: this.featureName, step: step.text });
543
+ this.diagnostics.add('SG-W013', `page step "[${step.selectorRef}]" has no "type: page" selector entry, so it targets a FALLBACK path — the anchored match can never reach the real URL (an assertion always fails; a wait can only time out). Declare the page, e.g. "${step.selectorRef.toLowerCase()}:\\n type: page\\n value: '/your/path'"`, { feature: this.featureName, step: step.text });
459
544
  }
460
545
  /**
461
546
  * SG-W014 — `[X] page with {{v}}` where the value carries neither a query nor a fragment, so the
@@ -502,6 +587,43 @@ class StepMapper {
502
587
  * Deliberately narrow — it fires only on the bare-visibility shape, so a pattern that genuinely
503
588
  * consumed the clause (`is-hidden`, `contains`, `matches-format`, the state family) is untouched.
504
589
  */
590
+ /**
591
+ * SG-E027 (#711) — the step names an entry whose `type:` is not a selector type, so the resolver
592
+ * fell to its placeholder default and this step compiled to `getByPlaceholder('<the value>')`:
593
+ * a locator that cannot match, which would fail much later as a timeout naming placeholder text
594
+ * the author never wrote. Compile it to a `throw` instead — the same reasoning as SG-E023 above,
595
+ * that a step which reads as a check and can only ever fail obscurely is worse than one that
596
+ * fails loudly and says why.
597
+ *
598
+ * The DIAGNOSTIC is not added here. `SelectorResolver.loadNewSelectorFile` already reported this
599
+ * entry once for the whole file; re-reporting per step would print the same line twenty times for
600
+ * one typo. This method only replaces the code, so the compile-time message and the runtime
601
+ * failure stay one fact reported once.
602
+ *
603
+ * A resolve throw means the key is missing entirely — a different defect that the resolver's own
604
+ * error already owns — and an auto-inferred selector stamps no `selectorType`, so both skip.
605
+ */
606
+ checkUnknownSelectorType(step, mapped) {
607
+ if (!step.selectorRef)
608
+ return null;
609
+ let selectorType;
610
+ try {
611
+ selectorType = this.selectorResolver.resolveSelector(step.selectorRef, this.featureName, step.elementType, step.nth).selectorType;
612
+ }
613
+ catch {
614
+ return null; // missing key — the resolver's own error owns that
615
+ }
616
+ if (selectorType === undefined || (0, selector_type_validation_1.isKnownSelectorType)(selectorType))
617
+ return null;
618
+ const reason = `step "${step.text}" names selector "${step.selectorRef}", whose selectors.yaml `
619
+ + `entry declares type: "${String(selectorType)}" — not a selector type, so the entry `
620
+ + `resolved to a placeholder locator that cannot match. See SG-E027 for the valid types and `
621
+ + `the nearest spelling to what was written.`;
622
+ return {
623
+ code: (0, unsupported_step_code_1.unsupportedStepCode)(reason),
624
+ comment: `Unknown selector type "${String(selectorType)}" — see SG-E027: ${step.text}`,
625
+ };
626
+ }
505
627
  checkAssertionClauseSwallowed(step, mapped) {
506
628
  const code = mapped.code || '';
507
629
  // Bare visibility: nothing but a visible/displayed assertion on one locator.
@@ -543,6 +665,32 @@ class StepMapper {
543
665
  comment: `Assertion clause dropped — see SG-E023: ${step.text}`,
544
666
  };
545
667
  }
668
+ checkClickPositionDropped(step, mapped) {
669
+ // Refs are masked; so is every quoted VALUE except a preset name — `with "Engineer at position 3"`
670
+ // is a text filter, not a position, while a mistyped `at postion "top-left"` must stay visible.
671
+ const masked = (0, mask_refs_for_matching_1.maskRefsForMatching)(step.text)
672
+ .replace(/"([^"]*)"/g, (quoted, inner) => (/^(?:top|bottom)-(?:left|right)$/i.test(inner.trim()) ? quoted : '"~"'));
673
+ if (!/\bclick/i.test(masked) || !StepMapper.CLICK_POSITION_HINT.test(masked))
674
+ return null;
675
+ // Already refused upstream (off-platform SG-W020, a dropped state clause, a missing template…):
676
+ // that refusal names the real cause; this guard only exists to stop a SILENT centre click.
677
+ if (/^throw new Error\("\[sungen\]/.test(mapped.code.trim()))
678
+ return null;
679
+ const refused = mapped.templateData?.positionError;
680
+ if (mapped.pattern === 'click-element-at-position' && !refused)
681
+ return null;
682
+ const reason = refused
683
+ ? `step "${step.text}": ${refused}`
684
+ : `step "${step.text}" asks for a click position but compiled through the "${mapped.pattern ?? 'unknown'}" `
685
+ + 'step form, which clicks the element\'s centre — the position would be silently dropped. Write '
686
+ + 'it as `click [X] <type> at position "<preset>"` or `… at offset x=<n>px|%, y=<n>px|%` on its own: '
687
+ + '`try to click`, a `with {{v}}` text filter and `… and accept [OK] alert` do not take a position.';
688
+ this.diagnostics?.add('SG-E026', reason, { feature: this.featureName, step: step.text });
689
+ return {
690
+ code: (0, unsupported_step_code_1.unsupportedStepCode)(reason),
691
+ comment: `Click position dropped — see SG-E026: ${step.text}`,
692
+ };
693
+ }
546
694
  checkDataRefConsumed(step, mapped) {
547
695
  if (!step.dataRef || !this.diagnostics)
548
696
  return;
@@ -615,6 +763,66 @@ class StepMapper {
615
763
  /**
616
764
  * Create pattern context for generators
617
765
  */
766
+ /**
767
+ * Whether a mapped step emits anything that actually RUNS.
768
+ *
769
+ * Comments are stripped — block comments as well as line ones, because a template written with
770
+ * `/* … *\/` would otherwise read as executable code and silence the no-op diagnostics exactly
771
+ * when they were needed. Keyed on the emitted CODE rather than on a template name (MappedStep
772
+ * does not carry one), so any future template that degrades to a comment is caught without being
773
+ * enumerated anywhere.
774
+ *
775
+ * Shared by the SG-W022 / SG-W023 / SG-W026 checks — the three of them ask the same question, and
776
+ * three copies of this would drift.
777
+ */
778
+ emitsExecutableCode(mapped) {
779
+ return Boolean((mapped.code || '')
780
+ .replace(/\/\*[\s\S]*?\*\//g, '')
781
+ .split('\n')
782
+ .map((l) => l.replace(/\/\/.*$/, '').trim())
783
+ .filter(Boolean)
784
+ .join(''));
785
+ }
786
+ /**
787
+ * SG-W026 — a mobile ACTIVE-NAVIGATION step that emitted no executable code, so a promised screen
788
+ * change never happens.
789
+ *
790
+ * `When User open [Settings] page` compiles to the one-line `navigation` template: a comment
791
+ * noting the app was already launched by the wdio capabilities. The step reads as "go to Settings"
792
+ * and goes nowhere. Pair it with `Then User see [X] page` — itself a no-op, reported as SG-W022 —
793
+ * and the whole scenario passes without ever touching the app.
794
+ *
795
+ * This completes a class that was handled in halves: `route-assertion` already throws loudly and
796
+ * `page-assertion` already reports W022; `navigation` alone was silent.
797
+ *
798
+ * Scoped to the ACTIVE forms. `is on [X] page` and its mobile `screen` twin are mobile's
799
+ * app-LAUNCH anchor, whose empty output is correct and documented as such where IS_ON_TYPES is
800
+ * defined — warning there would cry wolf on every valid mobile feature, and a diagnostic that
801
+ * cries wolf gets filtered out, taking the real ones with it. The exclusion is matched on
802
+ * `is on` FIRST, before the open/navigate test, because "the user is on the page they opened"
803
+ * phrasings contain both.
804
+ *
805
+ * Deliberately NOT a `throw`, for the same reason as SG-W023: an unfulfilled navigation weakens
806
+ * the scenario rather than inverting an assertion, and throwing would break every mobile suite
807
+ * already carrying one of these steps. `generate --strict` is the opt-in that makes it fail.
808
+ */
809
+ checkNavigationNoOpOnMobile(step, mapped) {
810
+ if (this.platform !== 'mobile' || !this.diagnostics)
811
+ return;
812
+ const text = step.text.toLowerCase();
813
+ // The anchor is checked first and wins: it is legitimately empty on mobile.
814
+ if (/\bis\s+on\b/.test(text))
815
+ return;
816
+ if (!/\bopens?\b|\bnavigates?\s+to\b|\bgo(es)?\s+to\b/.test(text))
817
+ return;
818
+ // Only the navigation TARGET forms — `open [X] page|screen`. `open [X] dialog`/`menu` is a tap
819
+ // on a control, which compiles to real code and never reaches here anyway.
820
+ if (step.elementType && !['page', 'screen'].includes(step.elementType))
821
+ return;
822
+ if (this.emitsExecutableCode(mapped))
823
+ return;
824
+ this.diagnostics.add('SG-W026', 'this navigation step compiled to a COMMENT — a native app is already launched by the wdio capabilities, so nothing navigates and the following steps run against whatever screen the app happens to be on. Change screens the way a user does, with a tap/gesture on the control that opens it (`When User tap [Settings] button`), and assert a marker on the new screen; keep `is on [X] screen` only as the feature\'s opening anchor', { feature: this.featureName, step: step.text });
825
+ }
618
826
  /**
619
827
  * SG-W023 — a mobile SETUP step that emitted no executable code, so a declared precondition is
620
828
  * never actually established.
@@ -649,13 +857,7 @@ class StepMapper {
649
857
  // Strip comments; whatever remains is what actually runs. Block comments too — a template written
650
858
  // with `/* … */` would otherwise read as executable code and silence this check exactly when it
651
859
  // was needed.
652
- const executable = (mapped.code || '')
653
- .replace(/\/\*[\s\S]*?\*\//g, '')
654
- .split('\n')
655
- .map((l) => l.replace(/\/\/.*$/, '').trim())
656
- .filter(Boolean)
657
- .join('');
658
- if (executable)
860
+ if (this.emitsExecutableCode(mapped))
659
861
  return;
660
862
  const remedy = isBackendState
661
863
  ? 'backend state is not app state — reset it through a test API/script, or bind a `@query:` precondition, the same way the web adapter has to'
@@ -688,16 +890,24 @@ class StepMapper {
688
890
  // Strip comments; whatever remains is what actually runs. Block comments are handled as well as
689
891
  // line ones: a template written with `/* … */` would otherwise read as executable code and
690
892
  // silently defeat this check — the diagnostic would go quiet exactly when it was needed.
691
- const executable = (mapped.code || '')
692
- .replace(/\/\*[\s\S]*?\*\//g, '')
693
- .split('\n')
694
- .map((l) => l.replace(/\/\/.*$/, '').trim())
695
- .filter(Boolean)
696
- .join('');
697
- if (executable)
893
+ if (this.emitsExecutableCode(mapped))
698
894
  return;
699
895
  this.diagnostics.add('SG-W022', 'a native app has no URL, so this page assertion compiled to a COMMENT — it asserts nothing and the scenario passes regardless. Assert a marker that is actually on the screen instead (`Then User see [Some Element] ...`), or tag the scenario @manual', { feature: this.featureName, step: step.text });
700
896
  }
897
+ /**
898
+ * SG-W028 — a trailing `in [X] <word>` scope clause whose `<word>` is not a container type.
899
+ *
900
+ * The clause is dropped, and everything downstream takes the FIRST `[ref]` and the FIRST
901
+ * `{{data}}` it finds, so the sentence compiles clean while the assertion silently widens to the
902
+ * whole screen (#667). Unlike an unrecognized STEP, which at least raises SG-W001, a partially
903
+ * understood step used to say nothing at all — and a check that runs against more than it names
904
+ * passes for the wrong reason in exactly the list-of-identical-cards case it was written for.
905
+ */
906
+ warnScopeClauseDiscarded(step) {
907
+ if (!step.unsupportedScopeType)
908
+ return;
909
+ this.diagnostics?.add('SG-W028', `\`${step.unsupportedScopeType}\` is not a container type, so the scope clause was DROPPED and this step runs against the whole page, not the named container. Supported: ${parent_scope_clause_1.PARENT_CONTAINER_TYPES.join(', ')}`, { feature: this.featureName, step: step.text });
910
+ }
701
911
  /**
702
912
  * SG-W021 — dialog scope is a no-op on the Appium adapter.
703
913
  *
@@ -725,6 +935,7 @@ class StepMapper {
725
935
  renderLocator: (resolved) => this.templateEngine.renderStep('locator', resolved),
726
936
  appProfile: this.appProfile,
727
937
  platform: this.platform,
938
+ featurePlatform: this.featurePlatform,
728
939
  adapterName: this.adapterName,
729
940
  diagnostics: this.diagnostics,
730
941
  baseURL: this.baseURL,
@@ -740,4 +951,14 @@ exports.StepMapper = StepMapper;
740
951
  /** Strategies the `locator` partial renders into a usable ROOT expression. Anything else
741
952
  * (mobile native strategies) has no meaning as a Playwright dialog root. */
742
953
  StepMapper.DIALOG_ROOT_STRATEGIES = ['locator', 'testid', 'role', 'id', 'label', 'text', 'placeholder'];
954
+ /**
955
+ * A click step that names a POSITION (`at position "top-left"`, `at offset x=…, y=…`) must compile
956
+ * through the positioned-click form with a position it understood. Anything else — a typo in the
957
+ * keyword, a value the grammar rejects, or a combination another click form claims first (`try to
958
+ * click … at position`, `… at offset … and accept [OK] alert`, `… with {{v}} … at position`) —
959
+ * would otherwise click the element's CENTRE and pass, which for a backdrop-dismiss test is the
960
+ * one outcome that proves nothing. Owned by the compiler rather than the driver so it holds no
961
+ * matter which pattern wins.
962
+ */
963
+ StepMapper.CLICK_POSITION_HINT = /\bat\s+(?:position|offset)\b|\bat\s+\w+\s+(?:"(?:top|bottom)-(?:left|right)"|x\s*=)|\b(?:top|bottom)[- ](?:left|right)\b|\bat\s+x\s*=/i;
743
964
  //# sourceMappingURL=step-mapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"step-mapper.js","sourceRoot":"","sources":["../../../src/generators/test-generator/step-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-mapper.js","sourceRoot":"","sources":["../../../src/generators/test-generator/step-mapper.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { RenderImportsOptions } from './adapters/adapter-interface';
1
+ import type { RenderImportsOptions, HookRenderData } from './adapters/adapter-interface';
2
2
  export declare class TemplateEngine {
3
3
  private templates;
4
4
  private templatesDir;
@@ -59,24 +59,9 @@ export declare class TemplateEngine {
59
59
  code: string;
60
60
  }>;
61
61
  }): string;
62
- renderBeforeAll(data: {
63
- steps: Array<{
64
- comment?: string;
65
- code: string;
66
- }>;
67
- }): string;
68
- renderAfterEach(data: {
69
- steps: Array<{
70
- comment?: string;
71
- code: string;
72
- }>;
73
- }): string;
74
- renderAfterAll(data: {
75
- steps: Array<{
76
- comment?: string;
77
- code: string;
78
- }>;
79
- }): string;
62
+ renderBeforeAll(data: HookRenderData): string;
63
+ renderAfterEach(data: HookRenderData): string;
64
+ renderAfterAll(data: HookRenderData): string;
80
65
  renderScenario(data: {
81
66
  scenarioName: string;
82
67
  steps: Array<{