@futdevpro/dynamo-e2e 1.18.8 → 1.18.9

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 (199) hide show
  1. package/.dynamo/pipeline.cicd.config.json +3 -3
  2. package/CHANGELOG.md +23 -0
  3. package/README.md +1 -1
  4. package/build/_modules/generators/_collections/cli-runner.util.d.ts.map +1 -1
  5. package/build/_modules/generators/_collections/cli-runner.util.js +5 -11
  6. package/build/_modules/generators/_collections/cli-runner.util.js.map +1 -1
  7. package/build/_modules/generators/bootstrap.spec.js +4 -3
  8. package/build/_modules/generators/bootstrap.spec.js.map +1 -1
  9. package/build/_modules/presets/_collections/constants/playwright-viewport-presets.const.d.ts +22 -0
  10. package/build/_modules/presets/_collections/constants/playwright-viewport-presets.const.d.ts.map +1 -0
  11. package/build/_modules/presets/_collections/constants/playwright-viewport-presets.const.js +69 -0
  12. package/build/_modules/presets/_collections/constants/playwright-viewport-presets.const.js.map +1 -0
  13. package/build/_modules/presets/_collections/global-setup.factory.d.ts +14 -0
  14. package/build/_modules/presets/_collections/global-setup.factory.d.ts.map +1 -0
  15. package/build/_modules/presets/_collections/global-setup.factory.js +113 -0
  16. package/build/_modules/presets/_collections/global-setup.factory.js.map +1 -0
  17. package/build/_modules/presets/_collections/playwright-config.factory.d.ts +19 -0
  18. package/build/_modules/presets/_collections/playwright-config.factory.d.ts.map +1 -0
  19. package/build/_modules/presets/_collections/playwright-config.factory.js +107 -0
  20. package/build/_modules/presets/_collections/playwright-config.factory.js.map +1 -0
  21. package/build/_modules/presets/_collections/viewport-preset-resolver.util.d.ts +8 -0
  22. package/build/_modules/presets/_collections/viewport-preset-resolver.util.d.ts.map +1 -0
  23. package/build/_modules/presets/_collections/viewport-preset-resolver.util.js +25 -0
  24. package/build/_modules/presets/_collections/viewport-preset-resolver.util.js.map +1 -0
  25. package/build/_modules/presets/_models/interfaces/global-setup-options.interface.d.ts +28 -0
  26. package/build/_modules/presets/_models/interfaces/global-setup-options.interface.d.ts.map +1 -0
  27. package/build/_modules/presets/_models/interfaces/global-setup-options.interface.js +3 -0
  28. package/build/_modules/presets/_models/interfaces/global-setup-options.interface.js.map +1 -0
  29. package/build/_modules/presets/_models/interfaces/playwright-config-options.interface.d.ts +43 -0
  30. package/build/_modules/presets/_models/interfaces/playwright-config-options.interface.d.ts.map +1 -0
  31. package/build/_modules/presets/_models/interfaces/playwright-config-options.interface.js +3 -0
  32. package/build/_modules/presets/_models/interfaces/playwright-config-options.interface.js.map +1 -0
  33. package/build/_modules/presets/index.d.ts +6 -0
  34. package/build/_modules/presets/index.d.ts.map +1 -1
  35. package/build/_modules/presets/index.js +12 -1
  36. package/build/_modules/presets/index.js.map +1 -1
  37. package/build/_modules/presets/presets.spec.d.ts +2 -0
  38. package/build/_modules/presets/presets.spec.d.ts.map +1 -0
  39. package/build/_modules/presets/presets.spec.js +230 -0
  40. package/build/_modules/presets/presets.spec.js.map +1 -0
  41. package/build/_modules/vqa/generators/ai-agent-readme.template.d.ts +2 -1
  42. package/build/_modules/vqa/generators/ai-agent-readme.template.d.ts.map +1 -1
  43. package/build/_modules/vqa/generators/ai-agent-readme.template.js +22 -3
  44. package/build/_modules/vqa/generators/ai-agent-readme.template.js.map +1 -1
  45. package/coverage/contracts/_collections/index.html +1 -1
  46. package/coverage/contracts/_collections/index.ts.html +1 -1
  47. package/coverage/contracts/_collections/utils/index.html +9 -9
  48. package/coverage/contracts/_collections/utils/test-id.util.ts.html +15 -30
  49. package/coverage/contracts/_enums/cwv-metric-type.enum.ts.html +1 -1
  50. package/coverage/contracts/_enums/field-test-case-type.enum.ts.html +4 -34
  51. package/coverage/contracts/_enums/index.html +5 -5
  52. package/coverage/contracts/_enums/index.ts.html +1 -1
  53. package/coverage/contracts/_enums/standard-viewport.enum.ts.html +1 -1
  54. package/coverage/contracts/_enums/test-expectation-type.enum.ts.html +1 -1
  55. package/coverage/contracts/_enums/test-run-mode-type.enum.ts.html +1 -1
  56. package/coverage/contracts/index.html +1 -1
  57. package/coverage/contracts/index.ts.html +1 -1
  58. package/coverage/cwv/_collections/cwv-aggregator.util.ts.html +1 -1
  59. package/coverage/cwv/_collections/cwv-comparison.util.ts.html +4 -4
  60. package/coverage/cwv/_collections/cwv-diagnose.util.ts.html +1 -1
  61. package/coverage/cwv/_collections/cwv-emission.util.ts.html +1 -1
  62. package/coverage/cwv/_collections/cwv-summarize.util.ts.html +1 -1
  63. package/coverage/cwv/_collections/index.html +7 -7
  64. package/coverage/cwv/_collections/inp-interaction-script.const.ts.html +1 -1
  65. package/coverage/cwv/_collections/web-vitals-page-script.const.ts.html +1 -1
  66. package/coverage/cwv/cwv-suite.generator.ts.html +3 -3
  67. package/coverage/cwv/index.html +5 -5
  68. package/coverage/generators/_collections/cli-runner.util.ts.html +1 -1
  69. package/coverage/generators/_collections/config-validator.util.ts.html +1 -1
  70. package/coverage/generators/_collections/field-emission.util.ts.html +103 -235
  71. package/coverage/generators/_collections/form-level-emission.util.ts.html +33 -39
  72. package/coverage/generators/_collections/index.html +31 -31
  73. package/coverage/generators/_collections/json-schema.util.ts.html +1 -1
  74. package/coverage/generators/_collections/preset-configs.const.ts.html +1 -1
  75. package/coverage/generators/_collections/spec-emission.util.ts.html +35 -35
  76. package/coverage/generators/_collections/test-case-filter.util.ts.html +66 -258
  77. package/coverage/generators/_collections/viewport-emission.util.ts.html +1 -1
  78. package/coverage/generators/form-suite.generator.ts.html +79 -97
  79. package/coverage/generators/index.html +18 -18
  80. package/coverage/generators/viewport-suite.generator.ts.html +3 -3
  81. package/coverage/index.html +50 -95
  82. package/coverage/lcov-report/contracts/_collections/index.html +1 -1
  83. package/coverage/lcov-report/contracts/_collections/index.ts.html +1 -1
  84. package/coverage/lcov-report/contracts/_collections/utils/index.html +9 -9
  85. package/coverage/lcov-report/contracts/_collections/utils/test-id.util.ts.html +15 -30
  86. package/coverage/lcov-report/contracts/_enums/cwv-metric-type.enum.ts.html +1 -1
  87. package/coverage/lcov-report/contracts/_enums/field-test-case-type.enum.ts.html +4 -34
  88. package/coverage/lcov-report/contracts/_enums/index.html +5 -5
  89. package/coverage/lcov-report/contracts/_enums/index.ts.html +1 -1
  90. package/coverage/lcov-report/contracts/_enums/standard-viewport.enum.ts.html +1 -1
  91. package/coverage/lcov-report/contracts/_enums/test-expectation-type.enum.ts.html +1 -1
  92. package/coverage/lcov-report/contracts/_enums/test-run-mode-type.enum.ts.html +1 -1
  93. package/coverage/lcov-report/contracts/index.html +1 -1
  94. package/coverage/lcov-report/contracts/index.ts.html +1 -1
  95. package/coverage/lcov-report/cwv/_collections/cwv-aggregator.util.ts.html +1 -1
  96. package/coverage/lcov-report/cwv/_collections/cwv-comparison.util.ts.html +4 -4
  97. package/coverage/lcov-report/cwv/_collections/cwv-diagnose.util.ts.html +1 -1
  98. package/coverage/lcov-report/cwv/_collections/cwv-emission.util.ts.html +1 -1
  99. package/coverage/lcov-report/cwv/_collections/cwv-summarize.util.ts.html +1 -1
  100. package/coverage/lcov-report/cwv/_collections/index.html +7 -7
  101. package/coverage/lcov-report/cwv/_collections/inp-interaction-script.const.ts.html +1 -1
  102. package/coverage/lcov-report/cwv/_collections/web-vitals-page-script.const.ts.html +1 -1
  103. package/coverage/lcov-report/cwv/cwv-suite.generator.ts.html +3 -3
  104. package/coverage/lcov-report/cwv/index.html +5 -5
  105. package/coverage/lcov-report/generators/_collections/cli-runner.util.ts.html +1 -1
  106. package/coverage/lcov-report/generators/_collections/config-validator.util.ts.html +1 -1
  107. package/coverage/lcov-report/generators/_collections/field-emission.util.ts.html +103 -235
  108. package/coverage/lcov-report/generators/_collections/form-level-emission.util.ts.html +33 -39
  109. package/coverage/lcov-report/generators/_collections/index.html +31 -31
  110. package/coverage/lcov-report/generators/_collections/json-schema.util.ts.html +1 -1
  111. package/coverage/lcov-report/generators/_collections/preset-configs.const.ts.html +1 -1
  112. package/coverage/lcov-report/generators/_collections/spec-emission.util.ts.html +35 -35
  113. package/coverage/lcov-report/generators/_collections/test-case-filter.util.ts.html +66 -258
  114. package/coverage/lcov-report/generators/_collections/viewport-emission.util.ts.html +1 -1
  115. package/coverage/lcov-report/generators/form-suite.generator.ts.html +79 -97
  116. package/coverage/lcov-report/generators/index.html +18 -18
  117. package/coverage/lcov-report/generators/viewport-suite.generator.ts.html +3 -3
  118. package/coverage/lcov-report/index.html +50 -95
  119. package/coverage/lcov-report/runtime/_collections/assertion-helpers.util.ts.html +7 -16
  120. package/coverage/lcov-report/runtime/_collections/index.html +17 -17
  121. package/coverage/lcov-report/runtime/_collections/unique-generator.util.ts.html +3 -3
  122. package/coverage/lcov-report/runtime/_collections/wait-helpers.util.ts.html +5 -5
  123. package/coverage/lcov-report/runtime/_services/dialog-page-object.ts.html +2 -2
  124. package/coverage/lcov-report/runtime/_services/field-page-object.ts.html +2 -2
  125. package/coverage/lcov-report/runtime/_services/form-page-object.ts.html +2 -2
  126. package/coverage/lcov-report/runtime/_services/index.html +9 -9
  127. package/coverage/lcov-report/runtime/_services/loader-page-object.ts.html +2 -2
  128. package/coverage/lcov-report/runtime/_services/logger.service.ts.html +5 -5
  129. package/coverage/lcov-report/runtime/_services/login-flow-helper.base.ts.html +2 -2
  130. package/coverage/lcov-report/runtime/_services/nav-page-object.ts.html +2 -2
  131. package/coverage/lcov-report/runtime/_services/toast-page-object.ts.html +1 -1
  132. package/coverage/lcov-report/runtime/_services/wave-2b-page-objects.ts.html +6 -6
  133. package/coverage/lcov-report/runtime/index.html +1 -1
  134. package/coverage/lcov-report/runtime/index.ts.html +1 -1
  135. package/coverage/lcov.info +804 -3165
  136. package/coverage/runtime/_collections/assertion-helpers.util.ts.html +7 -16
  137. package/coverage/runtime/_collections/index.html +17 -17
  138. package/coverage/runtime/_collections/unique-generator.util.ts.html +3 -3
  139. package/coverage/runtime/_collections/wait-helpers.util.ts.html +5 -5
  140. package/coverage/runtime/_services/dialog-page-object.ts.html +2 -2
  141. package/coverage/runtime/_services/field-page-object.ts.html +2 -2
  142. package/coverage/runtime/_services/form-page-object.ts.html +2 -2
  143. package/coverage/runtime/_services/index.html +9 -9
  144. package/coverage/runtime/_services/loader-page-object.ts.html +2 -2
  145. package/coverage/runtime/_services/logger.service.ts.html +5 -5
  146. package/coverage/runtime/_services/login-flow-helper.base.ts.html +2 -2
  147. package/coverage/runtime/_services/nav-page-object.ts.html +2 -2
  148. package/coverage/runtime/_services/toast-page-object.ts.html +1 -1
  149. package/coverage/runtime/_services/wave-2b-page-objects.ts.html +6 -6
  150. package/coverage/runtime/index.html +1 -1
  151. package/coverage/runtime/index.ts.html +1 -1
  152. package/coverage/tmp/coverage-228636-1781075225757-0.json +1 -0
  153. package/coverage/tmp/coverage-228704-1781075227108-0.json +1 -0
  154. package/dogfood/generated/date-range-field-new.spec.ts +54 -0
  155. package/dogfood/generated/password-field-new.spec.ts +97 -0
  156. package/dogfood/generated/radio-select-field-new.spec.ts +69 -0
  157. package/dogfood/generated/slider-field-new.spec.ts +47 -0
  158. package/dogfood/generated/text-field-new.spec.ts +0 -0
  159. package/logs/cicd-job.json +3 -0
  160. package/logs/cicd-report.json +3 -0
  161. package/logs/cicd-status.json +3 -0
  162. package/package.json +4 -1
  163. package/.dynamo/logs/cicd-pipeline/status.json +0 -74
  164. package/coverage/lcov-report/vqa/_collections/utils/deterministic-finding.util.ts.html +0 -481
  165. package/coverage/lcov-report/vqa/_collections/utils/finding-id.util.ts.html +0 -214
  166. package/coverage/lcov-report/vqa/_collections/utils/finding-validator.util.ts.html +0 -463
  167. package/coverage/lcov-report/vqa/_collections/utils/index.html +0 -176
  168. package/coverage/lcov-report/vqa/_collections/utils/manifest-validator.util.ts.html +0 -652
  169. package/coverage/lcov-report/vqa/_collections/utils/risk-score.util.ts.html +0 -424
  170. package/coverage/lcov-report/vqa/_enums/dom-evidence-detector.enum.ts.html +0 -214
  171. package/coverage/lcov-report/vqa/_enums/finding-severity.enum.ts.html +0 -133
  172. package/coverage/lcov-report/vqa/_enums/finding-status.enum.ts.html +0 -151
  173. package/coverage/lcov-report/vqa/_enums/index.html +0 -161
  174. package/coverage/lcov-report/vqa/_enums/visual-state-type.enum.ts.html +0 -235
  175. package/coverage/lcov-report/vqa/generators/ai-agent-readme.template.ts.html +0 -643
  176. package/coverage/lcov-report/vqa/generators/bundle-summary.template.ts.html +0 -316
  177. package/coverage/lcov-report/vqa/generators/capture-spec.generator.ts.html +0 -835
  178. package/coverage/lcov-report/vqa/generators/comparison-bundle.generator.ts.html +0 -898
  179. package/coverage/lcov-report/vqa/generators/index.html +0 -176
  180. package/coverage/lcov-report/vqa/generators/review-bundle.generator.ts.html +0 -559
  181. package/coverage/tmp/coverage-13181-1784118006591-0.json +0 -1
  182. package/coverage/tmp/coverage-13186-1784118005044-0.json +0 -1
  183. package/coverage/vqa/_collections/utils/deterministic-finding.util.ts.html +0 -481
  184. package/coverage/vqa/_collections/utils/finding-id.util.ts.html +0 -214
  185. package/coverage/vqa/_collections/utils/finding-validator.util.ts.html +0 -463
  186. package/coverage/vqa/_collections/utils/index.html +0 -176
  187. package/coverage/vqa/_collections/utils/manifest-validator.util.ts.html +0 -652
  188. package/coverage/vqa/_collections/utils/risk-score.util.ts.html +0 -424
  189. package/coverage/vqa/_enums/dom-evidence-detector.enum.ts.html +0 -214
  190. package/coverage/vqa/_enums/finding-severity.enum.ts.html +0 -133
  191. package/coverage/vqa/_enums/finding-status.enum.ts.html +0 -151
  192. package/coverage/vqa/_enums/index.html +0 -161
  193. package/coverage/vqa/_enums/visual-state-type.enum.ts.html +0 -235
  194. package/coverage/vqa/generators/ai-agent-readme.template.ts.html +0 -643
  195. package/coverage/vqa/generators/bundle-summary.template.ts.html +0 -316
  196. package/coverage/vqa/generators/capture-spec.generator.ts.html +0 -835
  197. package/coverage/vqa/generators/comparison-bundle.generator.ts.html +0 -898
  198. package/coverage/vqa/generators/index.html +0 -176
  199. package/coverage/vqa/generators/review-bundle.generator.ts.html +0 -559
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=global-setup-options.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-setup-options.interface.js","sourceRoot":"","sources":["../../../../../src/_modules/presets/_models/interfaces/global-setup-options.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,43 @@
1
+ import type { PlaywrightTestConfig } from '@playwright/test';
2
+ import { DyE2E_Viewport_Interface } from '../../../contracts/_models/interfaces/viewport.interface';
3
+ /**
4
+ * Viewport-opció a `DyE2E_getPlaywrightConfig`-hoz: named preset VAGY custom viewport-tömb.
5
+ * - `'visual-8'` — 8 viewport-os Tailwind-breakpoint visual-matrix (organizer-minta)
6
+ * - `'named-4'` — 4 nevesített viewport (desktop-1920 / wide-2560 / tablet-1024 / mobile-414, overseer-minta)
7
+ * - `'single'` — 1 standard desktop viewport (master-prompter-minta)
8
+ * - custom tömb — a consumer saját `DyE2E_Viewport_Interface[]` katalógusa
9
+ */
10
+ export type DyE2E_ViewportsOption_Type = 'visual-8' | 'named-4' | 'single' | DyE2E_Viewport_Interface[];
11
+ /**
12
+ * A `DyE2E_getPlaywrightConfig` factory opciói — a flotta playwright.config.ts-eiből
13
+ * desztillált közös mag paraméterezése (organizer / overseer / master-prompter minták).
14
+ */
15
+ export interface DyE2E_PlaywrightConfig_Options {
16
+ /**
17
+ * Default E2E target ha nincs `E2E_BASE_URL` env-override.
18
+ * KONVENCIÓ: MINDIG a deployolt TEST szerver — SOHA nem localhost (a CICD-runner ne
19
+ * célozzon PROD-ot; memory: feedback_e2e_ldp_local_cicd_test_target).
20
+ */
21
+ defaultBaseUrl: string;
22
+ /** A hívó e2e-mappája (jellemzően `__dirname`) — innen töltődik a `.env` dotenv-vel. Default: `process.cwd()`. */
23
+ envDir?: string;
24
+ /** Playwright testDir. Default: `'./tests'`. */
25
+ testDir?: string;
26
+ /** globalSetup fájl abszolút path-ja — a consumer `require.resolve('./e2e-global-setup.ts')`-t ad át. */
27
+ globalSetupPath?: string;
28
+ /** Viewport-preset név vagy custom viewport-tömb. Default: `'single'`. */
29
+ viewports?: DyE2E_ViewportsOption_Type;
30
+ /** Playwright fullyParallel. Default: `false` (flotta-minta: deployolt env ellen szekvenciális). */
31
+ fullyParallel?: boolean;
32
+ /** Fix worker-szám — felülírja az isHttps-derivációt; az `E2E_WORKERS` env ezt is felülírja. */
33
+ workers?: number;
34
+ /** Retry-szám CI-ben (`process.env.CI` alatt). Default: `0`; lokálban MINDIG 0 (a flake ott jel, nem zaj). */
35
+ retriesInCi?: number;
36
+ /** Per-test timeout ms-ben. Default: `60_000`. */
37
+ timeout?: number;
38
+ /** expect() timeout ms-ben. Default: `10_000`. */
39
+ expectTimeout?: number;
40
+ /** Extra `use`-mezők (pl. `storageState`) — a common-mag `use` blokkjára merge-ölődnek. */
41
+ extraUse?: PlaywrightTestConfig['use'];
42
+ }
43
+ //# sourceMappingURL=playwright-config-options.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright-config-options.interface.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/presets/_models/interfaces/playwright-config-options.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAC;AAEpG;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,wBAAwB,EAAE,CAAC;AAExG;;;GAGG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,kHAAkH;IAClH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yGAAyG;IACzG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC,oGAAoG;IACpG,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gGAAgG;IAChG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8GAA8G;IAC9G,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC;CACxC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=playwright-config-options.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright-config-options.interface.js","sourceRoot":"","sources":["../../../../../src/_modules/presets/_models/interfaces/playwright-config-options.interface.ts"],"names":[],"mappings":""}
@@ -9,6 +9,12 @@
9
9
  */
10
10
  export { DyE2E_FormSuite_Generator } from '../generators/form-suite.generator';
11
11
  export type { DyE2E_FormSuiteGenerate_Options } from '../generators/_models/form-suite-generate-options.interface';
12
+ export { DyE2E_getPlaywrightConfig } from './_collections/playwright-config.factory';
13
+ export { DyE2E_getGlobalSetup } from './_collections/global-setup.factory';
14
+ export { DyE2E_resolveViewportPreset } from './_collections/viewport-preset-resolver.util';
15
+ export { DYE2E_VIEWPORTS_VISUAL8, DYE2E_VIEWPORTS_NAMED4, DYE2E_VIEWPORTS_SINGLE, } from './_collections/constants/playwright-viewport-presets.const';
16
+ export type { DyE2E_PlaywrightConfig_Options, DyE2E_ViewportsOption_Type, } from './_models/interfaces/playwright-config-options.interface';
17
+ export type { DyE2E_GlobalSetup_Options } from './_models/interfaces/global-setup-options.interface';
12
18
  /** Wave-2/3 marker — itt lesz a viewport + CWV preset-runner. */
13
19
  export declare const DYE2E_PRESETS_NEXT_WAVES: string[];
14
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/presets/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,YAAY,EAAE,+BAA+B,EAAE,MAAM,6DAA6D,CAAC;AAEnH,iEAAiE;AACjE,eAAO,MAAM,wBAAwB,EAAE,MAAM,EAAqD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/presets/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,YAAY,EAAE,+BAA+B,EAAE,MAAM,6DAA6D,CAAC;AAGnH,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,4DAA4D,CAAC;AACpE,YAAY,EACV,8BAA8B,EAC9B,0BAA0B,GAC3B,MAAM,0DAA0D,CAAC;AAClE,YAAY,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AAErG,iEAAiE;AACjE,eAAO,MAAM,wBAAwB,EAAE,MAAM,EAAqD,CAAC"}
@@ -9,9 +9,20 @@
9
9
  * Wave-1 MVP: vékony re-export a `generators`-ből.
10
10
  */
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.DYE2E_PRESETS_NEXT_WAVES = exports.DyE2E_FormSuite_Generator = void 0;
12
+ exports.DYE2E_PRESETS_NEXT_WAVES = exports.DYE2E_VIEWPORTS_SINGLE = exports.DYE2E_VIEWPORTS_NAMED4 = exports.DYE2E_VIEWPORTS_VISUAL8 = exports.DyE2E_resolveViewportPreset = exports.DyE2E_getGlobalSetup = exports.DyE2E_getPlaywrightConfig = exports.DyE2E_FormSuite_Generator = void 0;
13
13
  var form_suite_generator_1 = require("../generators/form-suite.generator");
14
14
  Object.defineProperty(exports, "DyE2E_FormSuite_Generator", { enumerable: true, get: function () { return form_suite_generator_1.DyE2E_FormSuite_Generator; } });
15
+ // Playwright-config preset (flotta e2e-config konszolidáció) — factory + global-setup + viewport-presetek
16
+ var playwright_config_factory_1 = require("./_collections/playwright-config.factory");
17
+ Object.defineProperty(exports, "DyE2E_getPlaywrightConfig", { enumerable: true, get: function () { return playwright_config_factory_1.DyE2E_getPlaywrightConfig; } });
18
+ var global_setup_factory_1 = require("./_collections/global-setup.factory");
19
+ Object.defineProperty(exports, "DyE2E_getGlobalSetup", { enumerable: true, get: function () { return global_setup_factory_1.DyE2E_getGlobalSetup; } });
20
+ var viewport_preset_resolver_util_1 = require("./_collections/viewport-preset-resolver.util");
21
+ Object.defineProperty(exports, "DyE2E_resolveViewportPreset", { enumerable: true, get: function () { return viewport_preset_resolver_util_1.DyE2E_resolveViewportPreset; } });
22
+ var playwright_viewport_presets_const_1 = require("./_collections/constants/playwright-viewport-presets.const");
23
+ Object.defineProperty(exports, "DYE2E_VIEWPORTS_VISUAL8", { enumerable: true, get: function () { return playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_VISUAL8; } });
24
+ Object.defineProperty(exports, "DYE2E_VIEWPORTS_NAMED4", { enumerable: true, get: function () { return playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_NAMED4; } });
25
+ Object.defineProperty(exports, "DYE2E_VIEWPORTS_SINGLE", { enumerable: true, get: function () { return playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_SINGLE; } });
15
26
  /** Wave-2/3 marker — itt lesz a viewport + CWV preset-runner. */
16
27
  exports.DYE2E_PRESETS_NEXT_WAVES = ['viewport-audit (Wave-2)', 'cwv-diag (Wave-3)'];
17
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/presets/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,2EAA+E;AAAtE,iIAAA,yBAAyB,OAAA;AAGlC,iEAAiE;AACpD,QAAA,wBAAwB,GAAa,CAAC,yBAAyB,EAAE,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/presets/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,2EAA+E;AAAtE,iIAAA,yBAAyB,OAAA;AAGlC,0GAA0G;AAC1G,sFAAqF;AAA5E,sIAAA,yBAAyB,OAAA;AAClC,4EAA2E;AAAlE,4HAAA,oBAAoB,OAAA;AAC7B,8FAA2F;AAAlF,4IAAA,2BAA2B,OAAA;AACpC,gHAIoE;AAHlE,4IAAA,uBAAuB,OAAA;AACvB,2IAAA,sBAAsB,OAAA;AACtB,2IAAA,sBAAsB,OAAA;AAQxB,iEAAiE;AACpD,QAAA,wBAAwB,GAAa,CAAC,yBAAyB,EAAE,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=presets.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.spec.d.ts","sourceRoot":"","sources":["../../../src/_modules/presets/presets.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,230 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const fs = __importStar(require("fs"));
27
+ const os = __importStar(require("os"));
28
+ const path = __importStar(require("path"));
29
+ const standard_viewports_const_1 = require("../contracts/_collections/constants/standard-viewports.const");
30
+ const standard_viewport_enum_1 = require("../contracts/_enums/standard-viewport.enum");
31
+ const playwright_viewport_presets_const_1 = require("./_collections/constants/playwright-viewport-presets.const");
32
+ const global_setup_factory_1 = require("./_collections/global-setup.factory");
33
+ const playwright_config_factory_1 = require("./_collections/playwright-config.factory");
34
+ const viewport_preset_resolver_util_1 = require("./_collections/viewport-preset-resolver.util");
35
+ /** Env-kulcsok, amiket a factory olvas — spec-enként izoláljuk (stub + restore). */
36
+ const ENV_KEYS = [
37
+ 'E2E_BASE_URL',
38
+ 'E2E_IGNORE_HTTPS_ERRORS',
39
+ 'NODE_TLS_REJECT_UNAUTHORIZED',
40
+ 'E2E_WORKERS',
41
+ 'CI',
42
+ ];
43
+ describe('| dynamo-e2e | presets — playwright-config factory', () => {
44
+ let savedEnv;
45
+ beforeEach(() => {
46
+ // Env-izoláció: mentés + törlés hogy a gép/CI env ne szivárogjon a spec-ekbe
47
+ savedEnv = {};
48
+ ENV_KEYS.forEach((key) => {
49
+ savedEnv[key] = process.env[key];
50
+ delete process.env[key];
51
+ });
52
+ });
53
+ afterEach(() => {
54
+ // Env-restore — más spec-ek ne örököljék a stub-okat
55
+ ENV_KEYS.forEach((key) => {
56
+ if (savedEnv[key] === undefined) {
57
+ delete process.env[key];
58
+ }
59
+ else {
60
+ process.env[key] = savedEnv[key];
61
+ }
62
+ });
63
+ });
64
+ // ── Viewport-preset konstansok ────────────────────────────────────────────
65
+ it('| VISUAL8 — 8 viewport, tablet-sm a standard katalógusból hivatkozva', () => {
66
+ expect(playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_VISUAL8.length).toBe(8);
67
+ const tabletSm = playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_VISUAL8.find((vp) => vp.key === 'visual-tablet-sm');
68
+ const catalogTabletP = standard_viewports_const_1.STANDARD_VIEWPORT_CATALOG[standard_viewport_enum_1.DyE2E_StandardViewport_Type.tabletPortrait];
69
+ expect(tabletSm?.width).toBe(catalogTabletP.width);
70
+ expect(tabletSm?.height).toBe(catalogTabletP.height);
71
+ });
72
+ it('| NAMED4 — 4 viewport, méretek a standard katalógusból (nincs érték-duplikáció)', () => {
73
+ expect(playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_NAMED4.length).toBe(4);
74
+ const keys = playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_NAMED4.map((vp) => vp.key);
75
+ expect(keys).toEqual(['desktop-1920', 'wide-2560', 'tablet-1024', 'mobile-414']);
76
+ // desktop-1920 = katalógus desktopWide, mobile-414 = katalógus mobileL
77
+ expect(playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_NAMED4[0].width)
78
+ .toBe(standard_viewports_const_1.STANDARD_VIEWPORT_CATALOG[standard_viewport_enum_1.DyE2E_StandardViewport_Type.desktopWide].width);
79
+ expect(playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_NAMED4[3].width)
80
+ .toBe(standard_viewports_const_1.STANDARD_VIEWPORT_CATALOG[standard_viewport_enum_1.DyE2E_StandardViewport_Type.mobileL].width);
81
+ // mobile-414 SZÁNDÉKOSAN nem mobile-emulált (Chromium-only CI-bootstrap)
82
+ expect(playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_NAMED4[3].isMobile).toBe(false);
83
+ });
84
+ it('| SINGLE — 1 viewport = a standard desktop katalógus-entry', () => {
85
+ expect(playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_SINGLE.length).toBe(1);
86
+ expect(playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_SINGLE[0]).toBe(standard_viewports_const_1.STANDARD_VIEWPORT_CATALOG[standard_viewport_enum_1.DyE2E_StandardViewport_Type.desktop]);
87
+ });
88
+ // ── Resolver ──────────────────────────────────────────────────────────────
89
+ it('| resolveViewportPreset — named presetek + custom passthrough + default single', () => {
90
+ expect((0, viewport_preset_resolver_util_1.DyE2E_resolveViewportPreset)('visual-8')).toBe(playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_VISUAL8);
91
+ expect((0, viewport_preset_resolver_util_1.DyE2E_resolveViewportPreset)('named-4')).toBe(playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_NAMED4);
92
+ expect((0, viewport_preset_resolver_util_1.DyE2E_resolveViewportPreset)('single')).toBe(playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_SINGLE);
93
+ expect((0, viewport_preset_resolver_util_1.DyE2E_resolveViewportPreset)(undefined)).toBe(playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_SINGLE);
94
+ const custom = [{ key: 'x', label: 'X', width: 100, height: 200 }];
95
+ expect((0, viewport_preset_resolver_util_1.DyE2E_resolveViewportPreset)(custom)).toBe(custom);
96
+ });
97
+ // ── Config-factory: defaults + env-derivációk ─────────────────────────────
98
+ it('| getPlaywrightConfig — defaults: testDir/timeout/reporter/use-mag', () => {
99
+ const cfg = (0, playwright_config_factory_1.DyE2E_getPlaywrightConfig)({ defaultBaseUrl: 'http://localhost:4200' });
100
+ expect(cfg.testDir).toBe('./tests');
101
+ expect(cfg.timeout).toBe(60_000);
102
+ expect(cfg.expect?.timeout).toBe(10_000);
103
+ expect(cfg.fullyParallel).toBe(false);
104
+ expect(cfg.retries).toBe(0);
105
+ expect(cfg.reporter?.length).toBe(3);
106
+ expect(cfg.use?.baseURL).toBe('http://localhost:4200');
107
+ expect(cfg.use?.screenshot).toBe('only-on-failure');
108
+ expect(cfg.use?.trace).toBe('retain-on-failure');
109
+ expect(cfg.use?.video).toBe('retain-on-failure');
110
+ // http target + nincs env → nincs TLS-ignore, workers derivált (undefined = Playwright-default)
111
+ expect(cfg.use?.ignoreHTTPSErrors).toBe(false);
112
+ expect(cfg.workers).toBeUndefined();
113
+ // Default viewport-preset = single → 1 projekt
114
+ expect(cfg.projects?.length).toBe(1);
115
+ expect(cfg.projects?.[0].name).toBe('desktop');
116
+ });
117
+ it('| getPlaywrightConfig — E2E_BASE_URL env-override nyer a defaultBaseUrl felett', () => {
118
+ process.env.E2E_BASE_URL = 'https://test.example.hu';
119
+ const cfg = (0, playwright_config_factory_1.DyE2E_getPlaywrightConfig)({ defaultBaseUrl: 'http://localhost:4200' });
120
+ expect(cfg.use?.baseURL).toBe('https://test.example.hu');
121
+ // https derivációk: TLS-ignore + 1 worker
122
+ expect(cfg.use?.ignoreHTTPSErrors).toBe(true);
123
+ expect(cfg.workers).toBe(1);
124
+ });
125
+ it('| getPlaywrightConfig — TLS-ignore env-flagek http target mellett is', () => {
126
+ process.env.E2E_IGNORE_HTTPS_ERRORS = '1';
127
+ const cfg1 = (0, playwright_config_factory_1.DyE2E_getPlaywrightConfig)({ defaultBaseUrl: 'http://localhost:4200' });
128
+ expect(cfg1.use?.ignoreHTTPSErrors).toBe(true);
129
+ delete process.env.E2E_IGNORE_HTTPS_ERRORS;
130
+ process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
131
+ const cfg2 = (0, playwright_config_factory_1.DyE2E_getPlaywrightConfig)({ defaultBaseUrl: 'http://localhost:4200' });
132
+ expect(cfg2.use?.ignoreHTTPSErrors).toBe(true);
133
+ });
134
+ it('| getPlaywrightConfig — workers precedencia: E2E_WORKERS env > opts > deriváció', () => {
135
+ process.env.E2E_WORKERS = '3';
136
+ const cfgEnv = (0, playwright_config_factory_1.DyE2E_getPlaywrightConfig)({ defaultBaseUrl: 'https://test.example.hu', workers: 5 });
137
+ expect(cfgEnv.workers).toBe(3);
138
+ delete process.env.E2E_WORKERS;
139
+ const cfgOpts = (0, playwright_config_factory_1.DyE2E_getPlaywrightConfig)({ defaultBaseUrl: 'https://test.example.hu', workers: 5 });
140
+ expect(cfgOpts.workers).toBe(5);
141
+ });
142
+ it('| getPlaywrightConfig — retriesInCi CSAK CI alatt érvényesül', () => {
143
+ const cfgLocal = (0, playwright_config_factory_1.DyE2E_getPlaywrightConfig)({ defaultBaseUrl: 'http://localhost:4200', retriesInCi: 2 });
144
+ expect(cfgLocal.retries).toBe(0);
145
+ expect(cfgLocal.forbidOnly).toBe(false);
146
+ process.env.CI = 'true';
147
+ const cfgCi = (0, playwright_config_factory_1.DyE2E_getPlaywrightConfig)({ defaultBaseUrl: 'http://localhost:4200', retriesInCi: 2 });
148
+ expect(cfgCi.retries).toBe(2);
149
+ expect(cfgCi.forbidOnly).toBe(true);
150
+ });
151
+ it('| getPlaywrightConfig — opció-merge: testDir/globalSetup/timeouts/extraUse', () => {
152
+ const cfg = (0, playwright_config_factory_1.DyE2E_getPlaywrightConfig)({
153
+ defaultBaseUrl: 'http://localhost:4200',
154
+ testDir: './e2e/tests',
155
+ globalSetupPath: '/abs/path/e2e-global-setup.ts',
156
+ fullyParallel: true,
157
+ timeout: 30_000,
158
+ expectTimeout: 5_000,
159
+ extraUse: { storageState: '/abs/.auth-state.json' },
160
+ });
161
+ expect(cfg.testDir).toBe('./e2e/tests');
162
+ expect(cfg.globalSetup).toBe('/abs/path/e2e-global-setup.ts');
163
+ expect(cfg.fullyParallel).toBe(true);
164
+ expect(cfg.timeout).toBe(30_000);
165
+ expect(cfg.expect?.timeout).toBe(5_000);
166
+ expect(cfg.use?.storageState).toBe('/abs/.auth-state.json');
167
+ // Az extraUse merge NEM törli a mag-mezőket
168
+ expect(cfg.use?.screenshot).toBe('only-on-failure');
169
+ });
170
+ it('| getPlaywrightConfig — viewport-presetek projektekké mappelve', () => {
171
+ const cfg8 = (0, playwright_config_factory_1.DyE2E_getPlaywrightConfig)({ defaultBaseUrl: 'http://localhost:4200', viewports: 'visual-8' });
172
+ expect(cfg8.projects?.length).toBe(8);
173
+ expect(cfg8.projects?.[0].name).toBe('visual-mobile-xs');
174
+ expect(cfg8.projects?.[0].use?.viewport).toEqual({ width: 360, height: 640 });
175
+ const cfg4 = (0, playwright_config_factory_1.DyE2E_getPlaywrightConfig)({ defaultBaseUrl: 'http://localhost:4200', viewports: 'named-4' });
176
+ expect(cfg4.projects?.length).toBe(4);
177
+ expect(cfg4.projects?.[1].name).toBe('wide-2560');
178
+ });
179
+ // ── Global-setup factory ──────────────────────────────────────────────────
180
+ it('| getGlobalSetup — elérhető target → resolves + hiányzó env warn', async () => {
181
+ const originalFetch = globalThis.fetch;
182
+ globalThis.fetch = (() => Promise.resolve({ ok: true }));
183
+ const warnSpy = spyOn(console, 'warn');
184
+ try {
185
+ const setup = (0, global_setup_factory_1.DyE2E_getGlobalSetup)({
186
+ defaultBaseUrl: 'http://localhost:9999',
187
+ requiredEnvVars: ['DYE2E_SPEC_SURELY_MISSING_ENV'],
188
+ });
189
+ await setup({});
190
+ // Hiányzó required env → warn (nem fatális)
191
+ expect(warnSpy).toHaveBeenCalled();
192
+ expect(String(warnSpy.calls.mostRecent().args[0])).toContain('DYE2E_SPEC_SURELY_MISSING_ENV');
193
+ }
194
+ finally {
195
+ globalThis.fetch = originalFetch;
196
+ }
197
+ });
198
+ it('| getGlobalSetup — nem elérhető target → egyértelmű hibával reject-el', async () => {
199
+ const originalFetch = globalThis.fetch;
200
+ globalThis.fetch = (() => Promise.reject(new Error('ECONNREFUSED')));
201
+ try {
202
+ const setup = (0, global_setup_factory_1.DyE2E_getGlobalSetup)({ defaultBaseUrl: 'http://localhost:9999' });
203
+ await expectAsync(setup({})).toBeRejectedWithError(/nem elérhető/);
204
+ }
205
+ finally {
206
+ globalThis.fetch = originalFetch;
207
+ }
208
+ });
209
+ it('| getGlobalSetup — storageStatePath login-hook nélkül → empty stub fájl', async () => {
210
+ const originalFetch = globalThis.fetch;
211
+ globalThis.fetch = (() => Promise.resolve({ ok: true }));
212
+ const statePath = path.join(os.tmpdir(), `dye2e-spec-auth-state-${Date.now()}.json`);
213
+ try {
214
+ const setup = (0, global_setup_factory_1.DyE2E_getGlobalSetup)({ defaultBaseUrl: 'http://localhost:9999', storageStatePath: statePath });
215
+ await setup({});
216
+ // A config use.storageState fájlt vár → empty stub-nak léteznie kell
217
+ expect(fs.existsSync(statePath)).toBe(true);
218
+ const state = JSON.parse(fs.readFileSync(statePath, 'utf8'));
219
+ expect(state.cookies).toEqual([]);
220
+ expect(state.origins).toEqual([]);
221
+ }
222
+ finally {
223
+ globalThis.fetch = originalFetch;
224
+ if (fs.existsSync(statePath)) {
225
+ fs.unlinkSync(statePath);
226
+ }
227
+ }
228
+ });
229
+ });
230
+ //# sourceMappingURL=presets.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.spec.js","sourceRoot":"","sources":["../../../src/_modules/presets/presets.spec.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,8 @@ import { DyE2E_VQA_FeatureManifest_Interface } from '../_models/interfaces/featu
2
2
  /**
3
3
  * `DyE2E_VQA_AIAgentReadme_Template` — generálja a `review-bundles/<id>/<run>/README.md`-t,
4
4
  * ami az AI-agent (Claude Code vagy más LLM) számára a review-instrukció + a finding-/
5
- * backlog-entry-schema. **Spec §10 14 audit-kérdés + §11 13 feedback-típus + §12 finding +
5
+ * backlog-entry-schema. **Spec §10 14 audit-kérdés + §10b UX kritikus-felhasználó réteg (3 kiegészítő
6
+ * kérdés + evidence + „készen áll emberi ellenőrzésre" keretezés) + §11 13 feedback-típus + §12 finding +
6
7
  * §13 report-szempontok beágyazva.**
7
8
  *
8
9
  * **scope-LOCK**: a bedrock-tooling-tól ez az utolsó artifact — az AI agent EXTERNAL,
@@ -1 +1 @@
1
- {"version":3,"file":"ai-agent-readme.template.d.ts","sourceRoot":"","sources":["../../../../src/_modules/vqa/generators/ai-agent-readme.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,kDAAkD,CAAC;AAIvG;;;;;;;;GAQG;AACH,qBAAa,gCAAgC;IAE3C,MAAM,CAAC,MAAM,CACX,QAAQ,EAAE,mCAAmC,EAC7C,KAAK,EAAE,MAAM,EACb,WAAW,EAAE;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,OAAO,CAAC;KACxB,GACA,MAAM;CAiKV"}
1
+ {"version":3,"file":"ai-agent-readme.template.d.ts","sourceRoot":"","sources":["../../../../src/_modules/vqa/generators/ai-agent-readme.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,kDAAkD,CAAC;AAIvG;;;;;;;;;GASG;AACH,qBAAa,gCAAgC;IAE3C,MAAM,CAAC,MAAM,CACX,QAAQ,EAAE,mCAAmC,EAC7C,KAAK,EAAE,MAAM,EACb,WAAW,EAAE;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,OAAO,CAAC;KACxB,GACA,MAAM;CAmLV"}
@@ -6,7 +6,8 @@ const finding_status_enum_1 = require("../_enums/finding-status.enum");
6
6
  /**
7
7
  * `DyE2E_VQA_AIAgentReadme_Template` — generálja a `review-bundles/<id>/<run>/README.md`-t,
8
8
  * ami az AI-agent (Claude Code vagy más LLM) számára a review-instrukció + a finding-/
9
- * backlog-entry-schema. **Spec §10 14 audit-kérdés + §11 13 feedback-típus + §12 finding +
9
+ * backlog-entry-schema. **Spec §10 14 audit-kérdés + §10b UX kritikus-felhasználó réteg (3 kiegészítő
10
+ * kérdés + evidence + „készen áll emberi ellenőrzésre" keretezés) + §11 13 feedback-típus + §12 finding +
10
11
  * §13 report-szempontok beágyazva.**
11
12
  *
12
13
  * **scope-LOCK**: a bedrock-tooling-tól ez az utolsó artifact — az AI agent EXTERNAL,
@@ -34,7 +35,8 @@ class DyE2E_VQA_AIAgentReadme_Template {
34
35
  - \`dom-snapshots/<stateId>/<viewport>.json\` — DOM-metrikák
35
36
  - \`evidence/<stateId>/<viewport>.json\` — 16 DOM-detektor strukturált bizonyíték
36
37
  - \`a11y/<stateId>/<viewport>.json\` — axe-core a11y scan
37
- 4. **QA-rubric szerint** értékeld a 14 audit-kérdést (lásd lent).
38
+ 4. **QA-rubric szerint** értékeld az audit-kérdéseket (14 alap + 3 UX-kiegészítő; lásd lent) — és
39
+ alkalmazd a kötelező **UX kritikus-felhasználó réteget** (mindset + evidence + kimenet-keretezés).
38
40
  5. **Finding-eket írj** a \`findings.md\`-be a megadott schema szerint (lásd lent).
39
41
  6. **Ne dönts pixelpontosan** — emberi QA-szemlélettel ítélj.
40
42
 
@@ -53,7 +55,7 @@ A \`comparison/\` mappa tartalmazza a before/after diff-eket. Olvasd a \`compari
53
55
 
54
56
  ---
55
57
 
56
- ## QA rubric — 14 audit-kérdés (spec §10)
58
+ ## QA rubric — 14 alap + 3 UX-kiegészítő audit-kérdés (spec §10 + §10b)
57
59
 
58
60
  Minden (állapot × viewport) párra add választ:
59
61
 
@@ -71,6 +73,23 @@ Minden (állapot × viewport) párra add választ:
71
73
  12. **A modal vagy popup kezelhető-e kis képernyőn?** (lásd \`modal-viewport-fit\` evidence)
72
74
  13. **A feedback elég konkrét-e?**
73
75
  14. **A sikeres állapot tényleg sikeresnek érződik-e?** / **Az üres állapot ad-e következő lépést?**
76
+ 15. **Működik-e a billentyűzetes navigáció, a fókusz-sorrend és az alapvető accessibility?** (lásd \`a11y/<stateId>/<viewport>.json\` axe-core + \`focus-loss\` evidence)
77
+ 16. **Végigvihető-e a teljes elsődleges user flow elejétől a végéig** — nem csak az egyes állapotok külön? (holisztikus flow-nézet)
78
+ 17. **Vizuálisan egyértelmű-e a kattinthatóság** (kurzor/affordancia) és elég nagy-e a touch-target? (lásd \`ambiguous-interactive\`, \`small-touch-target\` evidence)
79
+
80
+ ---
81
+
82
+ ## UX kritikus-felhasználó szabályok (KÖTELEZŐ réteg)
83
+
84
+ > SSOT: \`documentations/guidelines/ai-agent/ux-qa-critical-user-testing.md\` (+ VQA-spec §10b).
85
+
86
+ - **Nézőpont:** NE fejlesztőként, hanem **hibakereső, kritikus felhasználóként** ítélj — aktívan keresd a
87
+ hibát. A funkcionális/E2E zöld NEM garantálja a használható UX-et.
88
+ - **Evidence-követelmény:** minden ellenőrzési ponthoz **screenshot + elvárt + tényleges + pass/fail**.
89
+ Amit nem tudsz bizonyítani, az **nem ellenőrzött**.
90
+ - **Kimenet-keretezés — „kész" TILOS:** SOHA ne jelentsd a felületet „kész"-nek. A helyes átadási állapot:
91
+ **„Készen áll emberi ellenőrzésre."** Az emberi ellenőrzés kötelező, végső release-kapu — a Visual QA
92
+ azt előkészíti, nem váltja ki.
74
93
 
75
94
  ---
76
95
 
@@ -1 +1 @@
1
- {"version":3,"file":"ai-agent-readme.template.js","sourceRoot":"","sources":["../../../../src/_modules/vqa/generators/ai-agent-readme.template.ts"],"names":[],"mappings":";;;AACA,2EAAiF;AACjF,uEAA6E;AAE7E;;;;;;;;GAQG;AACH,MAAa,gCAAgC;IAE3C,MAAM,CAAC,MAAM,CACX,QAA6C,EAC7C,KAAa,EACb,WAKC;QAED,OAAO,oCAAoC,QAAQ,CAAC,WAAW,SAAS,QAAQ,CAAC,SAAS;;kBAE5E,KAAK;;sBAED,WAAW,CAAC,UAAU,cAAc,WAAW,CAAC,aAAa;MAC7E,WAAW,CAAC,eAAe,4BAA4B,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;;;;;;;;;;;;;;;;;;;EAmB1G,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;;;;;;;;;;;CAW7B,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAoEA,sDAA8B,CAAC,OAAO;MACtC,sDAA8B,CAAC,IAAI;MACnC,sDAA8B,CAAC,MAAM;MACrC,sDAA8B,CAAC,GAAG;MAClC,sDAA8B,CAAC,aAAa;;;;;;;;;;;qCAWb,QAAQ,CAAC,SAAS;kBACrC,QAAQ,CAAC,SAAS;;;;;;;;;iBASnB,sDAA8B,CAAC,OAAO;eACxC,kDAA4B,CAAC,IAAI;;;;;uBAKzB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;CAwB3B,CAAC;IACA,CAAC;CACF;AA5KD,4EA4KC"}
1
+ {"version":3,"file":"ai-agent-readme.template.js","sourceRoot":"","sources":["../../../../src/_modules/vqa/generators/ai-agent-readme.template.ts"],"names":[],"mappings":";;;AACA,2EAAiF;AACjF,uEAA6E;AAE7E;;;;;;;;;GASG;AACH,MAAa,gCAAgC;IAE3C,MAAM,CAAC,MAAM,CACX,QAA6C,EAC7C,KAAa,EACb,WAKC;QAED,OAAO,oCAAoC,QAAQ,CAAC,WAAW,SAAS,QAAQ,CAAC,SAAS;;kBAE5E,KAAK;;sBAED,WAAW,CAAC,UAAU,cAAc,WAAW,CAAC,aAAa;MAC7E,WAAW,CAAC,eAAe,4BAA4B,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;EAoB1G,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;;;;;;;;;;;CAW7B,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAqFA,sDAA8B,CAAC,OAAO;MACtC,sDAA8B,CAAC,IAAI;MACnC,sDAA8B,CAAC,MAAM;MACrC,sDAA8B,CAAC,GAAG;MAClC,sDAA8B,CAAC,aAAa;;;;;;;;;;;qCAWb,QAAQ,CAAC,SAAS;kBACrC,QAAQ,CAAC,SAAS;;;;;;;;;iBASnB,sDAA8B,CAAC,OAAO;eACxC,kDAA4B,CAAC,IAAI;;;;;uBAKzB,KAAK;;;;;;;;;;;;;;;;;;;;;;;;CAwB3B,CAAC;IACA,CAAC;CACF;AA9LD,4EA8LC"}
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-07-15T12:20:07.032Z
104
+ at 2026-06-10T07:07:07.536Z
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -82,7 +82,7 @@ export * from './test-case-sets/field-type-registry.const';
82
82
  <div class='footer quiet pad2 space-top1 center small'>
83
83
  Code coverage generated by
84
84
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
85
- at 2026-07-15T12:20:07.032Z
85
+ at 2026-06-10T07:07:07.536Z
86
86
  </div>
87
87
  <script src="../../prettify.js"></script>
88
88
  <script>
@@ -25,28 +25,28 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>34/34</span>
28
+ <span class='fraction'>29/29</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>6/6</span>
35
+ <span class='fraction'>5/5</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>6/6</span>
42
+ <span class='fraction'>5/5</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>34/34</span>
49
+ <span class='fraction'>29/29</span>
50
50
  </div>
51
51
 
52
52
 
@@ -84,13 +84,13 @@
84
84
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85
85
  </td>
86
86
  <td data-value="100" class="pct high">100%</td>
87
- <td data-value="34" class="abs high">34/34</td>
87
+ <td data-value="29" class="abs high">29/29</td>
88
88
  <td data-value="100" class="pct high">100%</td>
89
- <td data-value="6" class="abs high">6/6</td>
89
+ <td data-value="5" class="abs high">5/5</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
- <td data-value="6" class="abs high">6/6</td>
91
+ <td data-value="5" class="abs high">5/5</td>
92
92
  <td data-value="100" class="pct high">100%</td>
93
- <td data-value="34" class="abs high">34/34</td>
93
+ <td data-value="29" class="abs high">29/29</td>
94
94
  </tr>
95
95
 
96
96
  </tbody>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-07-15T12:20:07.032Z
104
+ at 2026-06-10T07:07:07.536Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>