@futdevpro/dynamo-e2e 1.17.0 → 1.18.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 (323) hide show
  1. package/.dynamo/logs/cicd-pipeline/status.json +67 -0
  2. package/CHANGELOG.md +98 -0
  3. package/bin/dye2e.js +170 -0
  4. package/build/_modules/generators/_collections/form-level-emission.util.d.ts.map +1 -1
  5. package/build/_modules/generators/_collections/form-level-emission.util.js +3 -1
  6. package/build/_modules/generators/_collections/form-level-emission.util.js.map +1 -1
  7. package/build/_modules/generators/_collections/test-case-filter.util.d.ts.map +1 -1
  8. package/build/_modules/generators/_collections/test-case-filter.util.js +24 -0
  9. package/build/_modules/generators/_collections/test-case-filter.util.js.map +1 -1
  10. package/build/_modules/generators/_models/form-settings-shape.interface.d.ts +7 -0
  11. package/build/_modules/generators/_models/form-settings-shape.interface.d.ts.map +1 -1
  12. package/build/_modules/generators/_models/form-suite-generate-options.interface.d.ts +19 -0
  13. package/build/_modules/generators/_models/form-suite-generate-options.interface.d.ts.map +1 -1
  14. package/build/_modules/generators/form-suite.generator.d.ts.map +1 -1
  15. package/build/_modules/generators/form-suite.generator.js +8 -3
  16. package/build/_modules/generators/form-suite.generator.js.map +1 -1
  17. package/build/_modules/generators/form-suite.generator.spec.js +44 -0
  18. package/build/_modules/generators/form-suite.generator.spec.js.map +1 -1
  19. package/build/_modules/generators/test-case-filter-edge.spec.js +37 -4
  20. package/build/_modules/generators/test-case-filter-edge.spec.js.map +1 -1
  21. package/build/_modules/vqa/_collections/constants/anti-flake-css.const.d.ts +8 -0
  22. package/build/_modules/vqa/_collections/constants/anti-flake-css.const.d.ts.map +1 -0
  23. package/build/_modules/vqa/_collections/constants/anti-flake-css.const.js +21 -0
  24. package/build/_modules/vqa/_collections/constants/anti-flake-css.const.js.map +1 -0
  25. package/build/_modules/vqa/_collections/constants/axe-page-script.const.d.ts +21 -0
  26. package/build/_modules/vqa/_collections/constants/axe-page-script.const.d.ts.map +1 -0
  27. package/build/_modules/vqa/_collections/constants/axe-page-script.const.js +57 -0
  28. package/build/_modules/vqa/_collections/constants/axe-page-script.const.js.map +1 -0
  29. package/build/_modules/vqa/_collections/constants/dom-evidence-page-scripts.const.d.ts +13 -0
  30. package/build/_modules/vqa/_collections/constants/dom-evidence-page-scripts.const.d.ts.map +1 -0
  31. package/build/_modules/vqa/_collections/constants/dom-evidence-page-scripts.const.js +318 -0
  32. package/build/_modules/vqa/_collections/constants/dom-evidence-page-scripts.const.js.map +1 -0
  33. package/build/_modules/vqa/_collections/constants/vqa-standard-viewports.const.d.ts +14 -0
  34. package/build/_modules/vqa/_collections/constants/vqa-standard-viewports.const.d.ts.map +1 -0
  35. package/build/_modules/vqa/_collections/constants/vqa-standard-viewports.const.js +82 -0
  36. package/build/_modules/vqa/_collections/constants/vqa-standard-viewports.const.js.map +1 -0
  37. package/build/_modules/vqa/_collections/constants/vqa-tailwind-viewports.const.d.ts +23 -0
  38. package/build/_modules/vqa/_collections/constants/vqa-tailwind-viewports.const.d.ts.map +1 -0
  39. package/build/_modules/vqa/_collections/constants/vqa-tailwind-viewports.const.js +37 -0
  40. package/build/_modules/vqa/_collections/constants/vqa-tailwind-viewports.const.js.map +1 -0
  41. package/build/_modules/vqa/_collections/index.d.ts +10 -0
  42. package/build/_modules/vqa/_collections/index.d.ts.map +1 -0
  43. package/build/_modules/vqa/_collections/index.js +26 -0
  44. package/build/_modules/vqa/_collections/index.js.map +1 -0
  45. package/build/_modules/vqa/_collections/utils/deterministic-finding.util.d.ts +23 -0
  46. package/build/_modules/vqa/_collections/utils/deterministic-finding.util.d.ts.map +1 -0
  47. package/build/_modules/vqa/_collections/utils/deterministic-finding.util.js +112 -0
  48. package/build/_modules/vqa/_collections/utils/deterministic-finding.util.js.map +1 -0
  49. package/build/_modules/vqa/_collections/utils/finding-id.util.d.ts +18 -0
  50. package/build/_modules/vqa/_collections/utils/finding-id.util.d.ts.map +1 -0
  51. package/build/_modules/vqa/_collections/utils/finding-id.util.js +42 -0
  52. package/build/_modules/vqa/_collections/utils/finding-id.util.js.map +1 -0
  53. package/build/_modules/vqa/_collections/utils/finding-validator.util.d.ts +21 -0
  54. package/build/_modules/vqa/_collections/utils/finding-validator.util.d.ts.map +1 -0
  55. package/build/_modules/vqa/_collections/utils/finding-validator.util.js +114 -0
  56. package/build/_modules/vqa/_collections/utils/finding-validator.util.js.map +1 -0
  57. package/build/_modules/vqa/_collections/utils/manifest-validator.util.d.ts +27 -0
  58. package/build/_modules/vqa/_collections/utils/manifest-validator.util.d.ts.map +1 -0
  59. package/build/_modules/vqa/_collections/utils/manifest-validator.util.js +148 -0
  60. package/build/_modules/vqa/_collections/utils/manifest-validator.util.js.map +1 -0
  61. package/build/_modules/vqa/_collections/utils/risk-score.util.d.ts +48 -0
  62. package/build/_modules/vqa/_collections/utils/risk-score.util.d.ts.map +1 -0
  63. package/build/_modules/vqa/_collections/utils/risk-score.util.js +77 -0
  64. package/build/_modules/vqa/_collections/utils/risk-score.util.js.map +1 -0
  65. package/build/_modules/vqa/_enums/dom-evidence-detector.enum.d.ts +44 -0
  66. package/build/_modules/vqa/_enums/dom-evidence-detector.enum.d.ts.map +1 -0
  67. package/build/_modules/vqa/_enums/dom-evidence-detector.enum.js +48 -0
  68. package/build/_modules/vqa/_enums/dom-evidence-detector.enum.js.map +1 -0
  69. package/build/_modules/vqa/_enums/finding-severity.enum.d.ts +17 -0
  70. package/build/_modules/vqa/_enums/finding-severity.enum.d.ts.map +1 -0
  71. package/build/_modules/vqa/_enums/finding-severity.enum.js +21 -0
  72. package/build/_modules/vqa/_enums/finding-severity.enum.js.map +1 -0
  73. package/build/_modules/vqa/_enums/finding-status.enum.d.ts +23 -0
  74. package/build/_modules/vqa/_enums/finding-status.enum.d.ts.map +1 -0
  75. package/build/_modules/vqa/_enums/finding-status.enum.js +27 -0
  76. package/build/_modules/vqa/_enums/finding-status.enum.js.map +1 -0
  77. package/build/_modules/vqa/_enums/index.d.ts +5 -0
  78. package/build/_modules/vqa/_enums/index.d.ts.map +1 -0
  79. package/build/_modules/vqa/_enums/index.js +21 -0
  80. package/build/_modules/vqa/_enums/index.js.map +1 -0
  81. package/build/_modules/vqa/_enums/visual-state-type.enum.d.ts +38 -0
  82. package/build/_modules/vqa/_enums/visual-state-type.enum.d.ts.map +1 -0
  83. package/build/_modules/vqa/_enums/visual-state-type.enum.js +49 -0
  84. package/build/_modules/vqa/_enums/visual-state-type.enum.js.map +1 -0
  85. package/build/_modules/vqa/_models/interfaces/critical-element.interface.d.ts +22 -0
  86. package/build/_modules/vqa/_models/interfaces/critical-element.interface.d.ts.map +1 -0
  87. package/build/_modules/vqa/_models/interfaces/critical-element.interface.js +3 -0
  88. package/build/_modules/vqa/_models/interfaces/critical-element.interface.js.map +1 -0
  89. package/build/_modules/vqa/_models/interfaces/dom-evidence.interface.d.ts +21 -0
  90. package/build/_modules/vqa/_models/interfaces/dom-evidence.interface.d.ts.map +1 -0
  91. package/build/_modules/vqa/_models/interfaces/dom-evidence.interface.js +3 -0
  92. package/build/_modules/vqa/_models/interfaces/dom-evidence.interface.js.map +1 -0
  93. package/build/_modules/vqa/_models/interfaces/expected-feedback.interface.d.ts +16 -0
  94. package/build/_modules/vqa/_models/interfaces/expected-feedback.interface.d.ts.map +1 -0
  95. package/build/_modules/vqa/_models/interfaces/expected-feedback.interface.js +3 -0
  96. package/build/_modules/vqa/_models/interfaces/expected-feedback.interface.js.map +1 -0
  97. package/build/_modules/vqa/_models/interfaces/feature-manifest.interface.d.ts +56 -0
  98. package/build/_modules/vqa/_models/interfaces/feature-manifest.interface.d.ts.map +1 -0
  99. package/build/_modules/vqa/_models/interfaces/feature-manifest.interface.js +3 -0
  100. package/build/_modules/vqa/_models/interfaces/feature-manifest.interface.js.map +1 -0
  101. package/build/_modules/vqa/_models/interfaces/finding.interface.d.ts +58 -0
  102. package/build/_modules/vqa/_models/interfaces/finding.interface.d.ts.map +1 -0
  103. package/build/_modules/vqa/_models/interfaces/finding.interface.js +3 -0
  104. package/build/_modules/vqa/_models/interfaces/finding.interface.js.map +1 -0
  105. package/build/_modules/vqa/_models/interfaces/flow-step.interface.d.ts +32 -0
  106. package/build/_modules/vqa/_models/interfaces/flow-step.interface.d.ts.map +1 -0
  107. package/build/_modules/vqa/_models/interfaces/flow-step.interface.js +3 -0
  108. package/build/_modules/vqa/_models/interfaces/flow-step.interface.js.map +1 -0
  109. package/build/_modules/vqa/_models/interfaces/index.d.ts +8 -0
  110. package/build/_modules/vqa/_models/interfaces/index.d.ts.map +1 -0
  111. package/build/_modules/vqa/_models/interfaces/index.js +24 -0
  112. package/build/_modules/vqa/_models/interfaces/index.js.map +1 -0
  113. package/build/_modules/vqa/_models/interfaces/visual-state.interface.d.ts +34 -0
  114. package/build/_modules/vqa/_models/interfaces/visual-state.interface.d.ts.map +1 -0
  115. package/build/_modules/vqa/_models/interfaces/visual-state.interface.js +3 -0
  116. package/build/_modules/vqa/_models/interfaces/visual-state.interface.js.map +1 -0
  117. package/build/_modules/vqa/capture-spec.generator.spec.d.ts +2 -0
  118. package/build/_modules/vqa/capture-spec.generator.spec.d.ts.map +1 -0
  119. package/build/_modules/vqa/capture-spec.generator.spec.js +126 -0
  120. package/build/_modules/vqa/capture-spec.generator.spec.js.map +1 -0
  121. package/build/_modules/vqa/comparison-bundle.generator.spec.d.ts +2 -0
  122. package/build/_modules/vqa/comparison-bundle.generator.spec.d.ts.map +1 -0
  123. package/build/_modules/vqa/comparison-bundle.generator.spec.js +130 -0
  124. package/build/_modules/vqa/comparison-bundle.generator.spec.js.map +1 -0
  125. package/build/_modules/vqa/finding-validator.spec.d.ts +2 -0
  126. package/build/_modules/vqa/finding-validator.spec.d.ts.map +1 -0
  127. package/build/_modules/vqa/finding-validator.spec.js +136 -0
  128. package/build/_modules/vqa/finding-validator.spec.js.map +1 -0
  129. package/build/_modules/vqa/generators/ai-agent-readme.template.d.ts +19 -0
  130. package/build/_modules/vqa/generators/ai-agent-readme.template.d.ts.map +1 -0
  131. package/build/_modules/vqa/generators/ai-agent-readme.template.js +179 -0
  132. package/build/_modules/vqa/generators/ai-agent-readme.template.js.map +1 -0
  133. package/build/_modules/vqa/generators/bundle-summary.template.d.ts +9 -0
  134. package/build/_modules/vqa/generators/bundle-summary.template.d.ts.map +1 -0
  135. package/build/_modules/vqa/generators/bundle-summary.template.js +73 -0
  136. package/build/_modules/vqa/generators/bundle-summary.template.js.map +1 -0
  137. package/build/_modules/vqa/generators/capture-spec.generator.d.ts +33 -0
  138. package/build/_modules/vqa/generators/capture-spec.generator.d.ts.map +1 -0
  139. package/build/_modules/vqa/generators/capture-spec.generator.js +194 -0
  140. package/build/_modules/vqa/generators/capture-spec.generator.js.map +1 -0
  141. package/build/_modules/vqa/generators/comparison-bundle.generator.d.ts +37 -0
  142. package/build/_modules/vqa/generators/comparison-bundle.generator.d.ts.map +1 -0
  143. package/build/_modules/vqa/generators/comparison-bundle.generator.js +238 -0
  144. package/build/_modules/vqa/generators/comparison-bundle.generator.js.map +1 -0
  145. package/build/_modules/vqa/generators/index.d.ts +6 -0
  146. package/build/_modules/vqa/generators/index.d.ts.map +1 -0
  147. package/build/_modules/vqa/generators/index.js +22 -0
  148. package/build/_modules/vqa/generators/index.js.map +1 -0
  149. package/build/_modules/vqa/generators/review-bundle.generator.d.ts +49 -0
  150. package/build/_modules/vqa/generators/review-bundle.generator.d.ts.map +1 -0
  151. package/build/_modules/vqa/generators/review-bundle.generator.js +127 -0
  152. package/build/_modules/vqa/generators/review-bundle.generator.js.map +1 -0
  153. package/build/_modules/vqa/index.d.ts +6 -0
  154. package/build/_modules/vqa/index.d.ts.map +1 -0
  155. package/build/_modules/vqa/index.js +25 -0
  156. package/build/_modules/vqa/index.js.map +1 -0
  157. package/build/_modules/vqa/manifest-validator.spec.d.ts +2 -0
  158. package/build/_modules/vqa/manifest-validator.spec.d.ts.map +1 -0
  159. package/build/_modules/vqa/manifest-validator.spec.js +125 -0
  160. package/build/_modules/vqa/manifest-validator.spec.js.map +1 -0
  161. package/build/_modules/vqa/review-bundle.generator.spec.d.ts +2 -0
  162. package/build/_modules/vqa/review-bundle.generator.spec.d.ts.map +1 -0
  163. package/build/_modules/vqa/review-bundle.generator.spec.js +166 -0
  164. package/build/_modules/vqa/review-bundle.generator.spec.js.map +1 -0
  165. package/build/_modules/vqa/wave-7.spec.d.ts +2 -0
  166. package/build/_modules/vqa/wave-7.spec.d.ts.map +1 -0
  167. package/build/_modules/vqa/wave-7.spec.js +203 -0
  168. package/build/_modules/vqa/wave-7.spec.js.map +1 -0
  169. package/build/index.d.ts +1 -0
  170. package/build/index.d.ts.map +1 -1
  171. package/build/index.js +1 -0
  172. package/build/index.js.map +1 -1
  173. package/coverage/contracts/_collections/index.html +1 -1
  174. package/coverage/contracts/_collections/index.ts.html +1 -1
  175. package/coverage/contracts/_collections/utils/index.html +1 -1
  176. package/coverage/contracts/_collections/utils/test-id.util.ts.html +10 -10
  177. package/coverage/contracts/_enums/cwv-metric-type.enum.ts.html +1 -1
  178. package/coverage/contracts/_enums/field-test-case-type.enum.ts.html +1 -1
  179. package/coverage/contracts/_enums/index.html +1 -1
  180. package/coverage/contracts/_enums/index.ts.html +1 -1
  181. package/coverage/contracts/_enums/standard-viewport.enum.ts.html +1 -1
  182. package/coverage/contracts/_enums/test-expectation-type.enum.ts.html +1 -1
  183. package/coverage/contracts/_enums/test-run-mode-type.enum.ts.html +1 -1
  184. package/coverage/contracts/index.html +1 -1
  185. package/coverage/contracts/index.ts.html +1 -1
  186. package/coverage/cwv/_collections/cwv-aggregator.util.ts.html +1 -1
  187. package/coverage/cwv/_collections/cwv-comparison.util.ts.html +4 -4
  188. package/coverage/cwv/_collections/cwv-diagnose.util.ts.html +1 -1
  189. package/coverage/cwv/_collections/cwv-emission.util.ts.html +1 -1
  190. package/coverage/cwv/_collections/cwv-summarize.util.ts.html +1 -1
  191. package/coverage/cwv/_collections/index.html +7 -7
  192. package/coverage/cwv/_collections/inp-interaction-script.const.ts.html +1 -1
  193. package/coverage/cwv/_collections/web-vitals-page-script.const.ts.html +1 -1
  194. package/coverage/cwv/cwv-suite.generator.ts.html +3 -3
  195. package/coverage/cwv/index.html +5 -5
  196. package/coverage/generators/_collections/cli-runner.util.ts.html +1 -1
  197. package/coverage/generators/_collections/config-validator.util.ts.html +1 -1
  198. package/coverage/generators/_collections/field-emission.util.ts.html +86 -86
  199. package/coverage/generators/_collections/form-level-emission.util.ts.html +39 -33
  200. package/coverage/generators/_collections/index.html +20 -20
  201. package/coverage/generators/_collections/json-schema.util.ts.html +1 -1
  202. package/coverage/generators/_collections/preset-configs.const.ts.html +1 -1
  203. package/coverage/generators/_collections/spec-emission.util.ts.html +35 -35
  204. package/coverage/generators/_collections/test-case-filter.util.ts.html +159 -57
  205. package/coverage/generators/_collections/viewport-emission.util.ts.html +1 -1
  206. package/coverage/generators/form-suite.generator.ts.html +97 -79
  207. package/coverage/generators/index.html +18 -18
  208. package/coverage/generators/viewport-suite.generator.ts.html +3 -3
  209. package/coverage/index.html +83 -38
  210. package/coverage/lcov-report/contracts/_collections/index.html +1 -1
  211. package/coverage/lcov-report/contracts/_collections/index.ts.html +1 -1
  212. package/coverage/lcov-report/contracts/_collections/utils/index.html +1 -1
  213. package/coverage/lcov-report/contracts/_collections/utils/test-id.util.ts.html +10 -10
  214. package/coverage/lcov-report/contracts/_enums/cwv-metric-type.enum.ts.html +1 -1
  215. package/coverage/lcov-report/contracts/_enums/field-test-case-type.enum.ts.html +1 -1
  216. package/coverage/lcov-report/contracts/_enums/index.html +1 -1
  217. package/coverage/lcov-report/contracts/_enums/index.ts.html +1 -1
  218. package/coverage/lcov-report/contracts/_enums/standard-viewport.enum.ts.html +1 -1
  219. package/coverage/lcov-report/contracts/_enums/test-expectation-type.enum.ts.html +1 -1
  220. package/coverage/lcov-report/contracts/_enums/test-run-mode-type.enum.ts.html +1 -1
  221. package/coverage/lcov-report/contracts/index.html +1 -1
  222. package/coverage/lcov-report/contracts/index.ts.html +1 -1
  223. package/coverage/lcov-report/cwv/_collections/cwv-aggregator.util.ts.html +1 -1
  224. package/coverage/lcov-report/cwv/_collections/cwv-comparison.util.ts.html +4 -4
  225. package/coverage/lcov-report/cwv/_collections/cwv-diagnose.util.ts.html +1 -1
  226. package/coverage/lcov-report/cwv/_collections/cwv-emission.util.ts.html +1 -1
  227. package/coverage/lcov-report/cwv/_collections/cwv-summarize.util.ts.html +1 -1
  228. package/coverage/lcov-report/cwv/_collections/index.html +7 -7
  229. package/coverage/lcov-report/cwv/_collections/inp-interaction-script.const.ts.html +1 -1
  230. package/coverage/lcov-report/cwv/_collections/web-vitals-page-script.const.ts.html +1 -1
  231. package/coverage/lcov-report/cwv/cwv-suite.generator.ts.html +3 -3
  232. package/coverage/lcov-report/cwv/index.html +5 -5
  233. package/coverage/lcov-report/generators/_collections/cli-runner.util.ts.html +1 -1
  234. package/coverage/lcov-report/generators/_collections/config-validator.util.ts.html +1 -1
  235. package/coverage/lcov-report/generators/_collections/field-emission.util.ts.html +86 -86
  236. package/coverage/lcov-report/generators/_collections/form-level-emission.util.ts.html +39 -33
  237. package/coverage/lcov-report/generators/_collections/index.html +20 -20
  238. package/coverage/lcov-report/generators/_collections/json-schema.util.ts.html +1 -1
  239. package/coverage/lcov-report/generators/_collections/preset-configs.const.ts.html +1 -1
  240. package/coverage/lcov-report/generators/_collections/spec-emission.util.ts.html +35 -35
  241. package/coverage/lcov-report/generators/_collections/test-case-filter.util.ts.html +159 -57
  242. package/coverage/lcov-report/generators/_collections/viewport-emission.util.ts.html +1 -1
  243. package/coverage/lcov-report/generators/form-suite.generator.ts.html +97 -79
  244. package/coverage/lcov-report/generators/index.html +18 -18
  245. package/coverage/lcov-report/generators/viewport-suite.generator.ts.html +3 -3
  246. package/coverage/lcov-report/index.html +83 -38
  247. package/coverage/lcov-report/runtime/_collections/assertion-helpers.util.ts.html +1 -1
  248. package/coverage/lcov-report/runtime/_collections/index.html +7 -7
  249. package/coverage/lcov-report/runtime/_collections/unique-generator.util.ts.html +3 -3
  250. package/coverage/lcov-report/runtime/_collections/wait-helpers.util.ts.html +5 -5
  251. package/coverage/lcov-report/runtime/_services/dialog-page-object.ts.html +2 -2
  252. package/coverage/lcov-report/runtime/_services/field-page-object.ts.html +2 -2
  253. package/coverage/lcov-report/runtime/_services/form-page-object.ts.html +2 -2
  254. package/coverage/lcov-report/runtime/_services/index.html +9 -9
  255. package/coverage/lcov-report/runtime/_services/loader-page-object.ts.html +2 -2
  256. package/coverage/lcov-report/runtime/_services/logger.service.ts.html +5 -5
  257. package/coverage/lcov-report/runtime/_services/login-flow-helper.base.ts.html +2 -2
  258. package/coverage/lcov-report/runtime/_services/nav-page-object.ts.html +2 -2
  259. package/coverage/lcov-report/runtime/_services/toast-page-object.ts.html +1 -1
  260. package/coverage/lcov-report/runtime/_services/wave-2b-page-objects.ts.html +6 -6
  261. package/coverage/lcov-report/runtime/index.html +1 -1
  262. package/coverage/lcov-report/runtime/index.ts.html +1 -1
  263. package/coverage/lcov-report/vqa/_collections/utils/deterministic-finding.util.ts.html +481 -0
  264. package/coverage/lcov-report/vqa/_collections/utils/finding-id.util.ts.html +214 -0
  265. package/coverage/lcov-report/vqa/_collections/utils/finding-validator.util.ts.html +463 -0
  266. package/coverage/lcov-report/vqa/_collections/utils/index.html +176 -0
  267. package/coverage/lcov-report/vqa/_collections/utils/manifest-validator.util.ts.html +652 -0
  268. package/coverage/lcov-report/vqa/_collections/utils/risk-score.util.ts.html +424 -0
  269. package/coverage/lcov-report/vqa/_enums/dom-evidence-detector.enum.ts.html +214 -0
  270. package/coverage/lcov-report/vqa/_enums/finding-severity.enum.ts.html +133 -0
  271. package/coverage/lcov-report/vqa/_enums/finding-status.enum.ts.html +151 -0
  272. package/coverage/lcov-report/vqa/_enums/index.html +161 -0
  273. package/coverage/lcov-report/vqa/_enums/visual-state-type.enum.ts.html +235 -0
  274. package/coverage/lcov-report/vqa/generators/ai-agent-readme.template.ts.html +643 -0
  275. package/coverage/lcov-report/vqa/generators/bundle-summary.template.ts.html +316 -0
  276. package/coverage/lcov-report/vqa/generators/capture-spec.generator.ts.html +835 -0
  277. package/coverage/lcov-report/vqa/generators/comparison-bundle.generator.ts.html +898 -0
  278. package/coverage/lcov-report/vqa/generators/index.html +176 -0
  279. package/coverage/lcov-report/vqa/generators/review-bundle.generator.ts.html +559 -0
  280. package/coverage/lcov.info +2868 -623
  281. package/coverage/runtime/_collections/assertion-helpers.util.ts.html +1 -1
  282. package/coverage/runtime/_collections/index.html +7 -7
  283. package/coverage/runtime/_collections/unique-generator.util.ts.html +3 -3
  284. package/coverage/runtime/_collections/wait-helpers.util.ts.html +5 -5
  285. package/coverage/runtime/_services/dialog-page-object.ts.html +2 -2
  286. package/coverage/runtime/_services/field-page-object.ts.html +2 -2
  287. package/coverage/runtime/_services/form-page-object.ts.html +2 -2
  288. package/coverage/runtime/_services/index.html +9 -9
  289. package/coverage/runtime/_services/loader-page-object.ts.html +2 -2
  290. package/coverage/runtime/_services/logger.service.ts.html +5 -5
  291. package/coverage/runtime/_services/login-flow-helper.base.ts.html +2 -2
  292. package/coverage/runtime/_services/nav-page-object.ts.html +2 -2
  293. package/coverage/runtime/_services/toast-page-object.ts.html +1 -1
  294. package/coverage/runtime/_services/wave-2b-page-objects.ts.html +6 -6
  295. package/coverage/runtime/index.html +1 -1
  296. package/coverage/runtime/index.ts.html +1 -1
  297. package/coverage/tmp/coverage-23996-1781139437397-0.json +1 -0
  298. package/coverage/tmp/coverage-24001-1781139435697-0.json +1 -0
  299. package/coverage/vqa/_collections/utils/deterministic-finding.util.ts.html +481 -0
  300. package/coverage/vqa/_collections/utils/finding-id.util.ts.html +214 -0
  301. package/coverage/vqa/_collections/utils/finding-validator.util.ts.html +463 -0
  302. package/coverage/vqa/_collections/utils/index.html +176 -0
  303. package/coverage/vqa/_collections/utils/manifest-validator.util.ts.html +652 -0
  304. package/coverage/vqa/_collections/utils/risk-score.util.ts.html +424 -0
  305. package/coverage/vqa/_enums/dom-evidence-detector.enum.ts.html +214 -0
  306. package/coverage/vqa/_enums/finding-severity.enum.ts.html +133 -0
  307. package/coverage/vqa/_enums/finding-status.enum.ts.html +151 -0
  308. package/coverage/vqa/_enums/index.html +161 -0
  309. package/coverage/vqa/_enums/visual-state-type.enum.ts.html +235 -0
  310. package/coverage/vqa/generators/ai-agent-readme.template.ts.html +643 -0
  311. package/coverage/vqa/generators/bundle-summary.template.ts.html +316 -0
  312. package/coverage/vqa/generators/capture-spec.generator.ts.html +835 -0
  313. package/coverage/vqa/generators/comparison-bundle.generator.ts.html +898 -0
  314. package/coverage/vqa/generators/index.html +176 -0
  315. package/coverage/vqa/generators/review-bundle.generator.ts.html +559 -0
  316. package/package.json +7 -1
  317. package/coverage/tmp/coverage-228636-1781075225757-0.json +0 -1
  318. package/coverage/tmp/coverage-228704-1781075227108-0.json +0 -1
  319. package/dogfood/generated/date-range-field-new.spec.ts +0 -54
  320. package/dogfood/generated/password-field-new.spec.ts +0 -97
  321. package/dogfood/generated/radio-select-field-new.spec.ts +0 -69
  322. package/dogfood/generated/slider-field-new.spec.ts +0 -47
  323. package/dogfood/generated/text-field-new.spec.ts +0 -0
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyE2E_VQA_VisualState_Type = void 0;
4
+ /**
5
+ * `dynamo-e2e` VQA layer — visual state-típusok a `DyE2E_VQA_Feature_Manifest`-hez.
6
+ *
7
+ * Egy enum-érték EGY auditálandó vizuális állapotot azonosít. Minden manifest
8
+ * `states` mező egy ilyen kategoriából való. Az AI agent ezeket használja a
9
+ * QA-rubric szerinti vizsgálathoz (lásd `specifications/ai-visual-qa-system.md` §5).
10
+ *
11
+ * **Bedrock scope-LOCK (UI-20260611-003)**: a state-típusok csak label-szerepet
12
+ * játszanak — NEM kódolnak vizuális verdict-et. A capture-pipeline minden
13
+ * state-re screenshot+DOM-snapshot-ot készít; az AI agent dönt.
14
+ */
15
+ var DyE2E_VQA_VisualState_Type;
16
+ (function (DyE2E_VQA_VisualState_Type) {
17
+ // ─── Alap állapotok ─────────────────────────────────────────────
18
+ DyE2E_VQA_VisualState_Type["default"] = "default";
19
+ DyE2E_VQA_VisualState_Type["loading"] = "loading";
20
+ DyE2E_VQA_VisualState_Type["empty"] = "empty";
21
+ // ─── Form input-állapotok ──────────────────────────────────────
22
+ DyE2E_VQA_VisualState_Type["validInput"] = "valid-input";
23
+ DyE2E_VQA_VisualState_Type["invalidInput"] = "invalid-input";
24
+ DyE2E_VQA_VisualState_Type["fieldError"] = "field-error";
25
+ DyE2E_VQA_VisualState_Type["globalError"] = "global-error";
26
+ DyE2E_VQA_VisualState_Type["backendError"] = "backend-error";
27
+ // ─── Jogosultság / authz ───────────────────────────────────────
28
+ DyE2E_VQA_VisualState_Type["permissionDenied"] = "permission-denied";
29
+ // ─── Végállapotok ──────────────────────────────────────────────
30
+ DyE2E_VQA_VisualState_Type["success"] = "success";
31
+ DyE2E_VQA_VisualState_Type["partialSuccess"] = "partial-success";
32
+ DyE2E_VQA_VisualState_Type["timeout"] = "timeout";
33
+ DyE2E_VQA_VisualState_Type["retry"] = "retry";
34
+ // ─── Tartalmi / viewport / téma szélsőségek ────────────────────
35
+ DyE2E_VQA_VisualState_Type["longContent"] = "long-content";
36
+ DyE2E_VQA_VisualState_Type["smallScreen"] = "small-screen";
37
+ DyE2E_VQA_VisualState_Type["largeFont"] = "large-font";
38
+ DyE2E_VQA_VisualState_Type["darkMode"] = "dark-mode";
39
+ // ─── Modal / overlay-állapotok ─────────────────────────────────
40
+ DyE2E_VQA_VisualState_Type["modalOpen"] = "modal-open";
41
+ DyE2E_VQA_VisualState_Type["modalOverflow"] = "modal-overflow";
42
+ // ─── Wizard / multi-step flow ──────────────────────────────────
43
+ DyE2E_VQA_VisualState_Type["wizardStep"] = "wizard-step";
44
+ DyE2E_VQA_VisualState_Type["wizardPartiallyFilled"] = "wizard-partially-filled";
45
+ DyE2E_VQA_VisualState_Type["wizardFinalSuccess"] = "wizard-final-success";
46
+ DyE2E_VQA_VisualState_Type["wizardFinalFailure"] = "wizard-final-failure";
47
+ DyE2E_VQA_VisualState_Type["wizardCancelled"] = "wizard-cancelled";
48
+ })(DyE2E_VQA_VisualState_Type || (exports.DyE2E_VQA_VisualState_Type = DyE2E_VQA_VisualState_Type = {}));
49
+ //# sourceMappingURL=visual-state-type.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visual-state-type.enum.js","sourceRoot":"","sources":["../../../../src/_modules/vqa/_enums/visual-state-type.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;GAUG;AACH,IAAY,0BAsCX;AAtCD,WAAY,0BAA0B;IACpC,mEAAmE;IACnE,iDAAmB,CAAA;IACnB,iDAAmB,CAAA;IACnB,6CAAe,CAAA;IAEf,kEAAkE;IAClE,wDAA0B,CAAA;IAC1B,4DAA8B,CAAA;IAC9B,wDAA0B,CAAA;IAC1B,0DAA4B,CAAA;IAC5B,4DAA8B,CAAA;IAE9B,kEAAkE;IAClE,oEAAsC,CAAA;IAEtC,kEAAkE;IAClE,iDAAmB,CAAA;IACnB,gEAAkC,CAAA;IAClC,iDAAmB,CAAA;IACnB,6CAAe,CAAA;IAEf,kEAAkE;IAClE,0DAA4B,CAAA;IAC5B,0DAA4B,CAAA;IAC5B,sDAAwB,CAAA;IACxB,oDAAsB,CAAA;IAEtB,kEAAkE;IAClE,sDAAwB,CAAA;IACxB,8DAAgC,CAAA;IAEhC,kEAAkE;IAClE,wDAA0B,CAAA;IAC1B,+EAAiD,CAAA;IACjD,yEAA2C,CAAA;IAC3C,yEAA2C,CAAA;IAC3C,kEAAoC,CAAA;AACtC,CAAC,EAtCW,0BAA0B,0CAA1B,0BAA0B,QAsCrC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Egy "kritikus elem" leírása a manifest-ben. A capture-pipeline ezekre futtatja
3
+ * a region-crop-ot (MP-D), és az AI-agent-promptba label-lel kerülnek.
4
+ *
5
+ * **regionType szerepe (MP-D):**
6
+ * - `modal` / `primary-cta` / `form` / `error` / `nav` / `header` / `footer` →
7
+ * standard crop-target a `DyE2E_VQA_RegionCrop_Util.cropRegion()`-hez
8
+ * - `custom` → tetszőleges, csak label-szerű
9
+ */
10
+ export interface DyE2E_VQA_CriticalElement_Interface {
11
+ /** Stable kulcs (pl. `submit-cta`). */
12
+ key: string;
13
+ /** CSS selector vagy data-testid. */
14
+ selector: string;
15
+ /** Region-típus a crop-engine-nek. */
16
+ regionType: 'modal' | 'primary-cta' | 'form' | 'error' | 'nav' | 'header' | 'footer' | 'custom';
17
+ /** Ember-olvasható cimke (AI-prompt + summary). */
18
+ label?: string;
19
+ /** Extra padding (px) a crop körül. Default: 16. */
20
+ cropPadding?: number;
21
+ }
22
+ //# sourceMappingURL=critical-element.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"critical-element.interface.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/vqa/_models/interfaces/critical-element.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,mCAAmC;IAClD,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,UAAU,EAAE,OAAO,GAAG,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAClD,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3C,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=critical-element.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"critical-element.interface.js","sourceRoot":"","sources":["../../../../../src/_modules/vqa/_models/interfaces/critical-element.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ import { DyE2E_VQA_DOMEvidence_Detector } from '../../_enums/dom-evidence-detector.enum';
2
+ /**
3
+ * Egy DOM-detektor kimenete (MP-C). Strukturált JSON evidence az AI-agent-prompthoz.
4
+ *
5
+ * **SCOPE-LOCK**: `severityHint` AJÁNLÁS — az AI agent dönt.
6
+ */
7
+ export interface DyE2E_VQA_DOMEvidence_Interface {
8
+ /** Detektor-azonosító (enum). */
9
+ detector: DyE2E_VQA_DOMEvidence_Detector;
10
+ /** Igen / nem: a detektor talált-e valamit. */
11
+ detected: boolean;
12
+ /** Strukturált payload (detektor-specifikus). */
13
+ details: Record<string, unknown>;
14
+ /** Súlyossági ajánlás az AI-nek (nem verdict!). */
15
+ severityHint?: 'blocker' | 'high' | 'medium' | 'low' | 'informational';
16
+ /** Suggested region-ek a region-crop-hoz (CSS selectors). */
17
+ suggestedRegions?: string[];
18
+ /** Opcionális ember-olvasható magyarázat. */
19
+ note?: string;
20
+ }
21
+ //# sourceMappingURL=dom-evidence.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom-evidence.interface.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/vqa/_models/interfaces/dom-evidence.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAEzF;;;;GAIG;AACH,MAAM,WAAW,+BAA+B;IAC9C,iCAAiC;IACjC,QAAQ,EAAE,8BAA8B,CAAC;IACzC,+CAA+C;IAC/C,QAAQ,EAAE,OAAO,CAAC;IAClB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,mDAAmD;IACnD,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,eAAe,CAAC;IACvE,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=dom-evidence.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom-evidence.interface.js","sourceRoot":"","sources":["../../../../../src/_modules/vqa/_models/interfaces/dom-evidence.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * A manifest `expectedFeedback`-je AI-hint: ennél az állapotnál ilyen visszajelzés
3
+ * várható. Az AI agent ezeket kontextusként használja a review-rubric szerint
4
+ * (spec §11).
5
+ */
6
+ export interface DyE2E_VQA_ExpectedFeedback_Interface {
7
+ /** Melyik állapotban várjuk (state-id). */
8
+ stateId: string;
9
+ /** Visszajelzés-típus (spec §11 13 típus). */
10
+ feedbackType: 'loading' | 'fieldValidation' | 'formValidation' | 'backendError' | 'networkError' | 'permissionError' | 'emptyState' | 'successState' | 'warning' | 'confirmation' | 'retryOption' | 'destructiveConfirm' | 'partialSuccess';
11
+ /** Mit jelentene a "működik" (AI-prompt context). */
12
+ expectation: string;
13
+ /** Opcionális target-selector (hol kell látnia). */
14
+ selector?: string;
15
+ }
16
+ //# sourceMappingURL=expected-feedback.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expected-feedback.interface.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/vqa/_models/interfaces/expected-feedback.interface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,oCAAoC;IACnD,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,YAAY,EACR,SAAS,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,cAAc,GACjE,cAAc,GAAG,iBAAiB,GAAG,YAAY,GAAG,cAAc,GAClE,SAAS,GAAG,cAAc,GAAG,aAAa,GAAG,oBAAoB,GACjE,gBAAgB,CAAC;IACrB,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=expected-feedback.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expected-feedback.interface.js","sourceRoot":"","sources":["../../../../../src/_modules/vqa/_models/interfaces/expected-feedback.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,56 @@
1
+ import { DyE2E_Viewport_Interface } from '../../../contracts/_models/interfaces/viewport.interface';
2
+ import { DyE2E_VQA_FlowStep_Interface } from './flow-step.interface';
3
+ import { DyE2E_VQA_VisualState_Interface } from './visual-state.interface';
4
+ import { DyE2E_VQA_CriticalElement_Interface } from './critical-element.interface';
5
+ import { DyE2E_VQA_ExpectedFeedback_Interface } from './expected-feedback.interface';
6
+ /**
7
+ * `DyE2E_VQA_Feature_Manifest` — egy auditálandó feature **teljes leírása**
8
+ * (spec §5). A capture-pipeline (MP-B) ezt veszi inputként és emit-eli a
9
+ * Playwright spec-et; a review-bundle generator (MP-E) a manifest-másolatot
10
+ * is bundle-be teszi az AI agent számára.
11
+ *
12
+ * **SCOPE-LOCK (UI-20260611-003)**: a manifest a CAPTURE-input — verdict-mezőt
13
+ * nem tartalmaz; az AI agent EXTERNAL consumer.
14
+ *
15
+ * Authoring: az AI agent (Claude Code külön session) vagy ember kézzel írja.
16
+ * Validátor: `DyE2E_VQA_ManifestValidator_Util.validate()`.
17
+ */
18
+ export interface DyE2E_VQA_FeatureManifest_Interface {
19
+ /** Filename-friendly feature-azonosító (pl. `tasks-modul`, `checkout-flow`). */
20
+ featureId: string;
21
+ /** Ember-olvasható név (summary + report-ba). */
22
+ featureName: string;
23
+ /** Entry-point URL-path (pl. `/tasks`). */
24
+ route: string;
25
+ /** Cél user-szerepkör (auth-setup-hoz). */
26
+ userRole?: string;
27
+ /** Tesztadat-setup (mock-routes, seed-data, env-override-ok). */
28
+ testDataSetup?: {
29
+ mockRoutes?: {
30
+ pattern: string;
31
+ response: unknown;
32
+ status?: number;
33
+ }[];
34
+ seedData?: Record<string, unknown>;
35
+ envOverride?: Record<string, string>;
36
+ };
37
+ /** Manifest-szintű flow-lépések, amik MINDEN state előtt futnak (közös előfeltétel). */
38
+ flowSteps?: DyE2E_VQA_FlowStep_Interface[];
39
+ /** A vizsgálandó vizuális állapotok. */
40
+ states: DyE2E_VQA_VisualState_Interface[];
41
+ /** Viewport-mátrix subset, ami ezen a feature-en auditálandó. */
42
+ viewports: DyE2E_Viewport_Interface[];
43
+ /** Opcionális orientáció-mátrix. Default: csak `portrait`. */
44
+ orientations?: ('portrait' | 'landscape')[];
45
+ /** Critical-element-katalógus (region-crop input + AI-prompt label). */
46
+ criticalElements: DyE2E_VQA_CriticalElement_Interface[];
47
+ /** Opcionális AI-hint-ek a várt visszajelzéshez (spec §11). */
48
+ expectedFeedback?: DyE2E_VQA_ExpectedFeedback_Interface[];
49
+ /** Opcionális per-feature description (AI-prompt context). */
50
+ description?: string;
51
+ /** Manifest-szintű extra context (pl. domain-glossary, business-rule-ok). */
52
+ contextNotes?: string[];
53
+ /** Manifest-verzió (semver-szerű string). */
54
+ version?: string;
55
+ }
56
+ //# sourceMappingURL=feature-manifest.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-manifest.interface.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/vqa/_models/interfaces/feature-manifest.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAC;AACpG,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,mCAAmC,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,EAAE,oCAAoC,EAAE,MAAM,+BAA+B,CAAC;AAErF;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,mCAAmC;IAClD,gFAAgF;IAChF,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,aAAa,CAAC,EAAE;QACd,UAAU,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,OAAO,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QACvE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACtC,CAAC;IAEF,wFAAwF;IACxF,SAAS,CAAC,EAAE,4BAA4B,EAAE,CAAC;IAE3C,wCAAwC;IACxC,MAAM,EAAE,+BAA+B,EAAE,CAAC;IAE1C,iEAAiE;IACjE,SAAS,EAAE,wBAAwB,EAAE,CAAC;IAEtC,8DAA8D;IAC9D,YAAY,CAAC,EAAE,CAAC,UAAU,GAAG,WAAW,CAAC,EAAE,CAAC;IAE5C,wEAAwE;IACxE,gBAAgB,EAAE,mCAAmC,EAAE,CAAC;IAExD,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,oCAAoC,EAAE,CAAC;IAE1D,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=feature-manifest.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-manifest.interface.js","sourceRoot":"","sources":["../../../../../src/_modules/vqa/_models/interfaces/feature-manifest.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,58 @@
1
+ import { DyE2E_VQA_FindingSeverity_Type } from '../../_enums/finding-severity.enum';
2
+ import { DyE2E_VQA_FindingStatus_Type } from '../../_enums/finding-status.enum';
3
+ /**
4
+ * Egy AI-által írt finding (spec §12). **Az AI agent az író**; a bedrock-tooling
5
+ * csak SCHEMA-t + validátor-t ad. A `DyE2E_VQA_FindingValidator_Util` ellenőrzi
6
+ * a konzisztenciát.
7
+ *
8
+ * **SCOPE-LOCK**: nem mi generáljuk, az AI agent ír — mi csak gondoskodunk hogy
9
+ * konzisztens legyen.
10
+ */
11
+ export interface DyE2E_VQA_Finding_Interface {
12
+ /** Stable finding-azonosító. Konvenció: `VQA-<projekt>-<feature>-NNN`. */
13
+ findingId: string;
14
+ /** Mihez tartozik (manifest.featureId). */
15
+ featureId: string;
16
+ /** Melyik állapotban detected. */
17
+ stateId: string;
18
+ /** Viewport-kulcs (manifest.viewports[].key). */
19
+ viewport: string;
20
+ /** Opcionális orientation. */
21
+ orientation?: 'portrait' | 'landscape';
22
+ /** Bundle-relative path a full-page / fold screenshot-hoz. */
23
+ screenshotRef: string;
24
+ /** Bundle-relative path a DOM-snapshot JSON-höz. */
25
+ domSnapshotRef?: string;
26
+ /** Bundle-relative path-ek extra evidence-hez (crops, composites). */
27
+ additionalEvidenceRefs?: string[];
28
+ /** AI-által megfigyelt probléma (összefoglaló). */
29
+ description: string;
30
+ /** Mit várnánk helyette (AI-által). */
31
+ expectedBehavior: string;
32
+ severity: DyE2E_VQA_FindingSeverity_Type;
33
+ status: DyE2E_VQA_FindingStatus_Type;
34
+ /** Reprodukciós lépések (manifest flow + ezek). */
35
+ reproSteps: string[];
36
+ /** AI-által javasolt fix (opcionális). */
37
+ suggestedFix?: string;
38
+ /** AI-confidence 0..1. */
39
+ aiConfidence: number;
40
+ /** Hivatkozott detektor-evidence-ek (`evidence/<state>/<viewport>.json` belül). */
41
+ detectorEvidenceRefs?: string[];
42
+ /** Audit-run-azonosító, amiben detected. */
43
+ createdInRunId: string;
44
+ /** Utolsó update-run-id (re-audit nyom). */
45
+ lastUpdatedInRunId?: string;
46
+ /** ISO timestamp string (író AI agent által set). */
47
+ createdAt?: string;
48
+ lastUpdatedAt?: string;
49
+ /** Opcionális prioritás-hint (engineering döntés). */
50
+ priority?: 'p0' | 'p1' | 'p2' | 'p3';
51
+ /** Opcionális tags. */
52
+ tags?: string[];
53
+ /** Acceptance-criteria a fix-hez (markdown lista). */
54
+ acceptanceCriteria?: string[];
55
+ /** Re-audit instrukció (mit nézzen az AI agent a comparison-bundle-ben). */
56
+ reAuditInstruction?: string;
57
+ }
58
+ //# sourceMappingURL=finding.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finding.interface.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/vqa/_models/interfaces/finding.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAEhF;;;;;;;GAOG;AACH,MAAM,WAAW,2BAA2B;IAC1C,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,WAAW,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;IAEvC,8DAA8D;IAC9D,aAAa,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAElC,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,gBAAgB,EAAE,MAAM,CAAC;IAEzB,QAAQ,EAAE,8BAA8B,CAAC;IACzC,MAAM,EAAE,4BAA4B,CAAC;IAErC,mDAAmD;IACnD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,YAAY,EAAE,MAAM,CAAC;IAErB,mFAAmF;IACnF,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhC,4CAA4C;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAErC,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,sDAAsD;IACtD,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B,4EAA4E;IAC5E,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=finding.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finding.interface.js","sourceRoot":"","sources":["../../../../../src/_modules/vqa/_models/interfaces/finding.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Egy lépés a feature-flow-ban, ami a manifest `flowSteps`-ben sorrendben fut.
3
+ * A capture-pipeline emit-eli ezeket Playwright-call-okká.
4
+ *
5
+ * **action típusok:**
6
+ * - `navigate`: `page.goto(target)` (target = URL-path)
7
+ * - `click`: `page.locator(target).click()` (target = selector)
8
+ * - `fill`: `page.locator(target).fill(value)` (target = selector)
9
+ * - `select`: `page.locator(target).selectOption(value)`
10
+ * - `press`: `page.keyboard.press(value)` (target ignored)
11
+ * - `hover`: `page.locator(target).hover()`
12
+ * - `waitForSelector`: `page.waitForSelector(target, { timeout })`
13
+ * - `waitForTimeout`: `page.waitForTimeout(value as number)`
14
+ * - `setViewport`: `page.setViewportSize({ width: ..., height: ... })` (target = "WxH")
15
+ * - `evaluate`: `page.evaluate(value)` (value = JS expression string)
16
+ * - `mockResponse`: `page.route(target, route => route.fulfill({...JSON.parse(value)}))`
17
+ */
18
+ export interface DyE2E_VQA_FlowStep_Interface {
19
+ /** Sorrendben futó lépés-azonosító (filename-friendly). */
20
+ stepId: string;
21
+ /** Akció-típus. */
22
+ action: 'navigate' | 'click' | 'fill' | 'select' | 'press' | 'hover' | 'waitForSelector' | 'waitForTimeout' | 'setViewport' | 'evaluate' | 'mockResponse';
23
+ /** Akció célja (URL-path / selector / "WxH" / route-pattern). */
24
+ target?: string;
25
+ /** Akció értéke (input-szöveg / option-érték / ms / JS / JSON). */
26
+ value?: string;
27
+ /** Opcionális timeout ms-ben (waitForSelector / waitForTimeout). */
28
+ timeout?: number;
29
+ /** Ember-olvasható leírás (logba kerül). */
30
+ description?: string;
31
+ }
32
+ //# sourceMappingURL=flow-step.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow-step.interface.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/vqa/_models/interfaces/flow-step.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,4BAA4B;IAC3C,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB;IACnB,MAAM,EAAE,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAC5D,iBAAiB,GAAG,gBAAgB,GAAG,aAAa,GACpD,UAAU,GAAG,cAAc,CAAC;IACpC,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=flow-step.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow-step.interface.js","sourceRoot":"","sources":["../../../../../src/_modules/vqa/_models/interfaces/flow-step.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export * from './flow-step.interface';
2
+ export * from './visual-state.interface';
3
+ export * from './critical-element.interface';
4
+ export * from './expected-feedback.interface';
5
+ export * from './feature-manifest.interface';
6
+ export * from './dom-evidence.interface';
7
+ export * from './finding.interface';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/vqa/_models/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./flow-step.interface"), exports);
18
+ __exportStar(require("./visual-state.interface"), exports);
19
+ __exportStar(require("./critical-element.interface"), exports);
20
+ __exportStar(require("./expected-feedback.interface"), exports);
21
+ __exportStar(require("./feature-manifest.interface"), exports);
22
+ __exportStar(require("./dom-evidence.interface"), exports);
23
+ __exportStar(require("./finding.interface"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/_modules/vqa/_models/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,2DAAyC;AACzC,+DAA6C;AAC7C,gEAA8C;AAC9C,+DAA6C;AAC7C,2DAAyC;AACzC,sDAAoC"}
@@ -0,0 +1,34 @@
1
+ import { DyE2E_VQA_VisualState_Type } from '../../_enums/visual-state-type.enum';
2
+ import { DyE2E_VQA_FlowStep_Interface } from './flow-step.interface';
3
+ /**
4
+ * Egy auditálandó vizuális állapot a manifest-ben. A capture-pipeline minden
5
+ * `viewport × orientation` kombinációban végrehajtja a `prepareFlow`-t (a
6
+ * manifest `flowSteps`-en TÚL, állapot-specifikus extra lépések), majd
7
+ * screenshot+DOM-snapshot.
8
+ *
9
+ * **scope-LOCK**: NEM tartalmaz verdict-mezőt; az AI agent dönt a bundle-ből.
10
+ */
11
+ export interface DyE2E_VQA_VisualState_Interface {
12
+ /** Stable, filename-friendly kulcs (pl. `wizard-step-2-invalid`). */
13
+ stateId: string;
14
+ /** State-kategória (enum). */
15
+ type: DyE2E_VQA_VisualState_Type;
16
+ /** Ember-olvasható cimke a summary-ba / AI-prompt-ba. */
17
+ label?: string;
18
+ /** Opcionális extra flow-lépések, amik a manifest `flowSteps` UTÁN futnak
19
+ * ennek az állapotnak a felépítéséhez. */
20
+ prepareFlow?: DyE2E_VQA_FlowStep_Interface[];
21
+ /** Az AI-agent-prompt-ba kerülő kontextus (mit várhatunk ettől az állapottól). */
22
+ context?: string;
23
+ /** Korábbi finding-ID-k, amik ehhez az állapothoz tartoznak (re-audit-mark). */
24
+ priorFindingRefs?: string[];
25
+ /** Opcionális per-state critical-element override (ha eltér a feature-szinttől). */
26
+ criticalElementSelectors?: string[];
27
+ /** Playwright `screenshot({ mask: [...] })` selectorok dinamikus régiókra (timestamp,
28
+ * avatar, számláló stb.) — az AI-review-nál azt a régiót kitakarja. */
29
+ maskSelectors?: string[];
30
+ /** Konvencionális ready-signal: a state kész, ha `data-testid="<readyTestId>"` elem van.
31
+ * Auto-injektálódik a flow-végére. */
32
+ readyTestId?: string;
33
+ }
34
+ //# sourceMappingURL=visual-state.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visual-state.interface.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/vqa/_models/interfaces/visual-state.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,WAAW,+BAA+B;IAC9C,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,IAAI,EAAE,0BAA0B,CAAC;IACjC,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;+CAC2C;IAC3C,WAAW,CAAC,EAAE,4BAA4B,EAAE,CAAC;IAC7C,kFAAkF;IAClF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,oFAAoF;IACpF,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC;4EACwE;IACxE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;2CACuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=visual-state.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visual-state.interface.js","sourceRoot":"","sources":["../../../../../src/_modules/vqa/_models/interfaces/visual-state.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=capture-spec.generator.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture-spec.generator.spec.d.ts","sourceRoot":"","sources":["../../../src/_modules/vqa/capture-spec.generator.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const capture_spec_generator_1 = require("./generators/capture-spec.generator");
4
+ const visual_state_type_enum_1 = require("./_enums/visual-state-type.enum");
5
+ const vqa_standard_viewports_const_1 = require("./_collections/constants/vqa-standard-viewports.const");
6
+ const dom_evidence_page_scripts_const_1 = require("./_collections/constants/dom-evidence-page-scripts.const");
7
+ const dom_evidence_detector_enum_1 = require("./_enums/dom-evidence-detector.enum");
8
+ describe('DyE2E_VQA_CaptureSpec_Generator', () => {
9
+ const minimalManifest = {
10
+ featureId: 'demo',
11
+ featureName: 'Demo',
12
+ route: '/demo',
13
+ states: [
14
+ { stateId: 'default', type: visual_state_type_enum_1.DyE2E_VQA_VisualState_Type.default },
15
+ ],
16
+ viewports: [
17
+ vqa_standard_viewports_const_1.DyE2E_VQA_StandardViewports_Const.mobileMedium,
18
+ vqa_standard_viewports_const_1.DyE2E_VQA_StandardViewports_Const.desktop,
19
+ ],
20
+ criticalElements: [
21
+ { key: 'submit', selector: 'button[type=submit]', regionType: 'primary-cta' },
22
+ ],
23
+ };
24
+ it('| emits a Playwright spec with imports + test blocks', () => {
25
+ const spec = capture_spec_generator_1.DyE2E_VQA_CaptureSpec_Generator.emit(minimalManifest);
26
+ expect(spec).toContain(`import { test, expect, type Page } from '@playwright/test';`);
27
+ expect(spec).toContain(`@futdevpro/dynamo-e2e/vqa`);
28
+ expect(spec).toContain(`test('default | mobile-m | portrait'`);
29
+ expect(spec).toContain(`test('default | desktop | portrait'`);
30
+ });
31
+ it('| emits per-state per-viewport per-orientation tests', () => {
32
+ const m = {
33
+ ...minimalManifest,
34
+ orientations: ['portrait', 'landscape'],
35
+ states: [
36
+ { stateId: 'a', type: visual_state_type_enum_1.DyE2E_VQA_VisualState_Type.default },
37
+ { stateId: 'b', type: visual_state_type_enum_1.DyE2E_VQA_VisualState_Type.empty },
38
+ ],
39
+ };
40
+ const spec = capture_spec_generator_1.DyE2E_VQA_CaptureSpec_Generator.emit(m);
41
+ // 2 states × 2 viewports × 2 orientations = 8
42
+ const count = (spec.match(/test\(/g) || []).length;
43
+ expect(count).toBe(8);
44
+ });
45
+ it('| emits flow-steps as Playwright calls', () => {
46
+ const m = {
47
+ ...minimalManifest,
48
+ flowSteps: [
49
+ { stepId: 's1', action: 'click', target: 'button.start' },
50
+ { stepId: 's2', action: 'fill', target: 'input[name=email]', value: 'a@b.c' },
51
+ { stepId: 's3', action: 'press', value: 'Enter' },
52
+ ],
53
+ };
54
+ const spec = capture_spec_generator_1.DyE2E_VQA_CaptureSpec_Generator.emit(m);
55
+ expect(spec).toContain(`page.locator("button.start").click()`);
56
+ expect(spec).toContain(`page.locator("input[name=email]").fill("a@b.c")`);
57
+ expect(spec).toContain(`page.keyboard.press("Enter")`);
58
+ });
59
+ it('| emits state-level prepareFlow AFTER feature flowSteps', () => {
60
+ const m = {
61
+ ...minimalManifest,
62
+ flowSteps: [{ stepId: 'login', action: 'click', target: '.login' }],
63
+ states: [{
64
+ stateId: 'wizard-step-2',
65
+ type: visual_state_type_enum_1.DyE2E_VQA_VisualState_Type.wizardStep,
66
+ prepareFlow: [{ stepId: 'next', action: 'click', target: '.next' }],
67
+ }],
68
+ };
69
+ const spec = capture_spec_generator_1.DyE2E_VQA_CaptureSpec_Generator.emit(m);
70
+ const loginIdx = spec.indexOf('.login');
71
+ const nextIdx = spec.indexOf('.next');
72
+ expect(loginIdx).toBeGreaterThan(-1);
73
+ expect(nextIdx).toBeGreaterThan(loginIdx);
74
+ });
75
+ it('| includes per-state captureDomSnapshot + runDetectors calls', () => {
76
+ const spec = capture_spec_generator_1.DyE2E_VQA_CaptureSpec_Generator.emit(minimalManifest);
77
+ expect(spec).toContain('captureDomSnapshot(page,');
78
+ expect(spec).toContain('runDetectors(page,');
79
+ expect(spec).toContain(`page.screenshot({`);
80
+ expect(spec).toContain(`'full.png'`);
81
+ expect(spec).toContain(`fullPage: true`);
82
+ });
83
+ it('| writes evidence.json + dom-snapshot.json to stateOut', () => {
84
+ const spec = capture_spec_generator_1.DyE2E_VQA_CaptureSpec_Generator.emit(minimalManifest);
85
+ expect(spec).toContain(`'evidence.json'`);
86
+ expect(spec).toContain(`'dom-snapshot.json'`);
87
+ });
88
+ it('| accepts setViewport flow-step', () => {
89
+ const m = {
90
+ ...minimalManifest,
91
+ flowSteps: [{ stepId: 'resize', action: 'setViewport', target: '320x568' }],
92
+ };
93
+ const spec = capture_spec_generator_1.DyE2E_VQA_CaptureSpec_Generator.emit(m);
94
+ expect(spec).toContain(`page.setViewportSize({ width: 320, height: 568 })`);
95
+ });
96
+ it('| custom header-comment override', () => {
97
+ const spec = capture_spec_generator_1.DyE2E_VQA_CaptureSpec_Generator.emit(minimalManifest, { headerComment: '// my-header' });
98
+ expect(spec.startsWith('// my-header')).toBeTrue();
99
+ });
100
+ });
101
+ describe('DyE2E_VQA_DomEvidencePageScripts_Const', () => {
102
+ it('| has script for all 16 detectors', () => {
103
+ const detectors = Object.values(dom_evidence_detector_enum_1.DyE2E_VQA_DOMEvidence_Detector);
104
+ expect(detectors.length).toBe(16);
105
+ detectors.forEach((d) => {
106
+ expect(dom_evidence_page_scripts_const_1.DyE2E_VQA_DomEvidencePageScripts_Const[d]).toBeDefined();
107
+ expect(typeof dom_evidence_page_scripts_const_1.DyE2E_VQA_DomEvidencePageScripts_Const[d]).toBe('string');
108
+ expect(dom_evidence_page_scripts_const_1.DyE2E_VQA_DomEvidencePageScripts_Const[d].length).toBeGreaterThan(50);
109
+ });
110
+ });
111
+ it('| scripts return objects with detector + detected + details', () => {
112
+ // Sanity: each script is `(() => { ... })()` or `(arg => {...})(arg)` and
113
+ // contains `detector:` + `detected:`.
114
+ Object.values(dom_evidence_page_scripts_const_1.DyE2E_VQA_DomEvidencePageScripts_Const).forEach((s) => {
115
+ expect(s).toContain('detector:');
116
+ expect(s).toContain('detected');
117
+ });
118
+ });
119
+ it('| CTA-aware scripts have __CRITICAL_CTA_SELECTORS__ placeholder', () => {
120
+ const offCta = dom_evidence_page_scripts_const_1.DyE2E_VQA_DomEvidencePageScripts_Const[dom_evidence_detector_enum_1.DyE2E_VQA_DOMEvidence_Detector.viewportOffCTA];
121
+ expect(offCta).toContain('__CRITICAL_CTA_SELECTORS__');
122
+ const vss = dom_evidence_page_scripts_const_1.DyE2E_VQA_DomEvidencePageScripts_Const[dom_evidence_detector_enum_1.DyE2E_VQA_DOMEvidence_Detector.verticalSpaceShortage];
123
+ expect(vss).toContain('__CRITICAL_CTA_SELECTORS__');
124
+ });
125
+ });
126
+ //# sourceMappingURL=capture-spec.generator.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture-spec.generator.spec.js","sourceRoot":"","sources":["../../../src/_modules/vqa/capture-spec.generator.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=comparison-bundle.generator.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comparison-bundle.generator.spec.d.ts","sourceRoot":"","sources":["../../../src/_modules/vqa/comparison-bundle.generator.spec.ts"],"names":[],"mappings":""}