@futdevpro/dynamo-e2e 1.18.7 → 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 (211) 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/contracts/_collections/utils/test-id.util.d.ts +2 -0
  5. package/build/_modules/contracts/_collections/utils/test-id.util.d.ts.map +1 -1
  6. package/build/_modules/contracts/_collections/utils/test-id.util.js +4 -0
  7. package/build/_modules/contracts/_collections/utils/test-id.util.js.map +1 -1
  8. package/build/_modules/generators/_collections/cli-runner.util.d.ts.map +1 -1
  9. package/build/_modules/generators/_collections/cli-runner.util.js +5 -11
  10. package/build/_modules/generators/_collections/cli-runner.util.js.map +1 -1
  11. package/build/_modules/generators/_collections/field-emission.util.d.ts +5 -0
  12. package/build/_modules/generators/_collections/field-emission.util.d.ts.map +1 -1
  13. package/build/_modules/generators/_collections/field-emission.util.js +27 -6
  14. package/build/_modules/generators/_collections/field-emission.util.js.map +1 -1
  15. package/build/_modules/generators/_models/form-settings-shape.interface.d.ts +15 -0
  16. package/build/_modules/generators/_models/form-settings-shape.interface.d.ts.map +1 -1
  17. package/build/_modules/generators/bootstrap.spec.js +4 -3
  18. package/build/_modules/generators/bootstrap.spec.js.map +1 -1
  19. package/build/_modules/generators/field-emission-edge.spec.js +49 -0
  20. package/build/_modules/generators/field-emission-edge.spec.js.map +1 -1
  21. package/build/_modules/presets/_collections/constants/playwright-viewport-presets.const.d.ts +22 -0
  22. package/build/_modules/presets/_collections/constants/playwright-viewport-presets.const.d.ts.map +1 -0
  23. package/build/_modules/presets/_collections/constants/playwright-viewport-presets.const.js +69 -0
  24. package/build/_modules/presets/_collections/constants/playwright-viewport-presets.const.js.map +1 -0
  25. package/build/_modules/presets/_collections/global-setup.factory.d.ts +14 -0
  26. package/build/_modules/presets/_collections/global-setup.factory.d.ts.map +1 -0
  27. package/build/_modules/presets/_collections/global-setup.factory.js +113 -0
  28. package/build/_modules/presets/_collections/global-setup.factory.js.map +1 -0
  29. package/build/_modules/presets/_collections/playwright-config.factory.d.ts +19 -0
  30. package/build/_modules/presets/_collections/playwright-config.factory.d.ts.map +1 -0
  31. package/build/_modules/presets/_collections/playwright-config.factory.js +107 -0
  32. package/build/_modules/presets/_collections/playwright-config.factory.js.map +1 -0
  33. package/build/_modules/presets/_collections/viewport-preset-resolver.util.d.ts +8 -0
  34. package/build/_modules/presets/_collections/viewport-preset-resolver.util.d.ts.map +1 -0
  35. package/build/_modules/presets/_collections/viewport-preset-resolver.util.js +25 -0
  36. package/build/_modules/presets/_collections/viewport-preset-resolver.util.js.map +1 -0
  37. package/build/_modules/presets/_models/interfaces/global-setup-options.interface.d.ts +28 -0
  38. package/build/_modules/presets/_models/interfaces/global-setup-options.interface.d.ts.map +1 -0
  39. package/build/_modules/presets/_models/interfaces/global-setup-options.interface.js +3 -0
  40. package/build/_modules/presets/_models/interfaces/global-setup-options.interface.js.map +1 -0
  41. package/build/_modules/presets/_models/interfaces/playwright-config-options.interface.d.ts +43 -0
  42. package/build/_modules/presets/_models/interfaces/playwright-config-options.interface.d.ts.map +1 -0
  43. package/build/_modules/presets/_models/interfaces/playwright-config-options.interface.js +3 -0
  44. package/build/_modules/presets/_models/interfaces/playwright-config-options.interface.js.map +1 -0
  45. package/build/_modules/presets/index.d.ts +6 -0
  46. package/build/_modules/presets/index.d.ts.map +1 -1
  47. package/build/_modules/presets/index.js +12 -1
  48. package/build/_modules/presets/index.js.map +1 -1
  49. package/build/_modules/presets/presets.spec.d.ts +2 -0
  50. package/build/_modules/presets/presets.spec.d.ts.map +1 -0
  51. package/build/_modules/presets/presets.spec.js +230 -0
  52. package/build/_modules/presets/presets.spec.js.map +1 -0
  53. package/build/_modules/vqa/generators/ai-agent-readme.template.d.ts +2 -1
  54. package/build/_modules/vqa/generators/ai-agent-readme.template.d.ts.map +1 -1
  55. package/build/_modules/vqa/generators/ai-agent-readme.template.js +22 -3
  56. package/build/_modules/vqa/generators/ai-agent-readme.template.js.map +1 -1
  57. package/coverage/contracts/_collections/index.html +1 -1
  58. package/coverage/contracts/_collections/index.ts.html +1 -1
  59. package/coverage/contracts/_collections/utils/index.html +1 -1
  60. package/coverage/contracts/_collections/utils/test-id.util.ts.html +10 -10
  61. package/coverage/contracts/_enums/cwv-metric-type.enum.ts.html +1 -1
  62. package/coverage/contracts/_enums/field-test-case-type.enum.ts.html +4 -34
  63. package/coverage/contracts/_enums/index.html +5 -5
  64. package/coverage/contracts/_enums/index.ts.html +1 -1
  65. package/coverage/contracts/_enums/standard-viewport.enum.ts.html +1 -1
  66. package/coverage/contracts/_enums/test-expectation-type.enum.ts.html +1 -1
  67. package/coverage/contracts/_enums/test-run-mode-type.enum.ts.html +1 -1
  68. package/coverage/contracts/index.html +1 -1
  69. package/coverage/contracts/index.ts.html +1 -1
  70. package/coverage/cwv/_collections/cwv-aggregator.util.ts.html +1 -1
  71. package/coverage/cwv/_collections/cwv-comparison.util.ts.html +4 -4
  72. package/coverage/cwv/_collections/cwv-diagnose.util.ts.html +1 -1
  73. package/coverage/cwv/_collections/cwv-emission.util.ts.html +1 -1
  74. package/coverage/cwv/_collections/cwv-summarize.util.ts.html +1 -1
  75. package/coverage/cwv/_collections/index.html +7 -7
  76. package/coverage/cwv/_collections/inp-interaction-script.const.ts.html +1 -1
  77. package/coverage/cwv/_collections/web-vitals-page-script.const.ts.html +1 -1
  78. package/coverage/cwv/cwv-suite.generator.ts.html +3 -3
  79. package/coverage/cwv/index.html +5 -5
  80. package/coverage/generators/_collections/cli-runner.util.ts.html +1 -1
  81. package/coverage/generators/_collections/config-validator.util.ts.html +1 -1
  82. package/coverage/generators/_collections/field-emission.util.ts.html +87 -126
  83. package/coverage/generators/_collections/form-level-emission.util.ts.html +33 -39
  84. package/coverage/generators/_collections/index.html +29 -29
  85. package/coverage/generators/_collections/json-schema.util.ts.html +1 -1
  86. package/coverage/generators/_collections/preset-configs.const.ts.html +1 -1
  87. package/coverage/generators/_collections/spec-emission.util.ts.html +35 -35
  88. package/coverage/generators/_collections/test-case-filter.util.ts.html +66 -258
  89. package/coverage/generators/_collections/viewport-emission.util.ts.html +1 -1
  90. package/coverage/generators/form-suite.generator.ts.html +79 -97
  91. package/coverage/generators/index.html +18 -18
  92. package/coverage/generators/viewport-suite.generator.ts.html +3 -3
  93. package/coverage/index.html +45 -90
  94. package/coverage/lcov-report/contracts/_collections/index.html +1 -1
  95. package/coverage/lcov-report/contracts/_collections/index.ts.html +1 -1
  96. package/coverage/lcov-report/contracts/_collections/utils/index.html +1 -1
  97. package/coverage/lcov-report/contracts/_collections/utils/test-id.util.ts.html +10 -10
  98. package/coverage/lcov-report/contracts/_enums/cwv-metric-type.enum.ts.html +1 -1
  99. package/coverage/lcov-report/contracts/_enums/field-test-case-type.enum.ts.html +4 -34
  100. package/coverage/lcov-report/contracts/_enums/index.html +5 -5
  101. package/coverage/lcov-report/contracts/_enums/index.ts.html +1 -1
  102. package/coverage/lcov-report/contracts/_enums/standard-viewport.enum.ts.html +1 -1
  103. package/coverage/lcov-report/contracts/_enums/test-expectation-type.enum.ts.html +1 -1
  104. package/coverage/lcov-report/contracts/_enums/test-run-mode-type.enum.ts.html +1 -1
  105. package/coverage/lcov-report/contracts/index.html +1 -1
  106. package/coverage/lcov-report/contracts/index.ts.html +1 -1
  107. package/coverage/lcov-report/cwv/_collections/cwv-aggregator.util.ts.html +1 -1
  108. package/coverage/lcov-report/cwv/_collections/cwv-comparison.util.ts.html +4 -4
  109. package/coverage/lcov-report/cwv/_collections/cwv-diagnose.util.ts.html +1 -1
  110. package/coverage/lcov-report/cwv/_collections/cwv-emission.util.ts.html +1 -1
  111. package/coverage/lcov-report/cwv/_collections/cwv-summarize.util.ts.html +1 -1
  112. package/coverage/lcov-report/cwv/_collections/index.html +7 -7
  113. package/coverage/lcov-report/cwv/_collections/inp-interaction-script.const.ts.html +1 -1
  114. package/coverage/lcov-report/cwv/_collections/web-vitals-page-script.const.ts.html +1 -1
  115. package/coverage/lcov-report/cwv/cwv-suite.generator.ts.html +3 -3
  116. package/coverage/lcov-report/cwv/index.html +5 -5
  117. package/coverage/lcov-report/generators/_collections/cli-runner.util.ts.html +1 -1
  118. package/coverage/lcov-report/generators/_collections/config-validator.util.ts.html +1 -1
  119. package/coverage/lcov-report/generators/_collections/field-emission.util.ts.html +87 -126
  120. package/coverage/lcov-report/generators/_collections/form-level-emission.util.ts.html +33 -39
  121. package/coverage/lcov-report/generators/_collections/index.html +29 -29
  122. package/coverage/lcov-report/generators/_collections/json-schema.util.ts.html +1 -1
  123. package/coverage/lcov-report/generators/_collections/preset-configs.const.ts.html +1 -1
  124. package/coverage/lcov-report/generators/_collections/spec-emission.util.ts.html +35 -35
  125. package/coverage/lcov-report/generators/_collections/test-case-filter.util.ts.html +66 -258
  126. package/coverage/lcov-report/generators/_collections/viewport-emission.util.ts.html +1 -1
  127. package/coverage/lcov-report/generators/form-suite.generator.ts.html +79 -97
  128. package/coverage/lcov-report/generators/index.html +18 -18
  129. package/coverage/lcov-report/generators/viewport-suite.generator.ts.html +3 -3
  130. package/coverage/lcov-report/index.html +45 -90
  131. package/coverage/lcov-report/runtime/_collections/assertion-helpers.util.ts.html +7 -16
  132. package/coverage/lcov-report/runtime/_collections/index.html +17 -17
  133. package/coverage/lcov-report/runtime/_collections/unique-generator.util.ts.html +3 -3
  134. package/coverage/lcov-report/runtime/_collections/wait-helpers.util.ts.html +5 -5
  135. package/coverage/lcov-report/runtime/_services/dialog-page-object.ts.html +2 -2
  136. package/coverage/lcov-report/runtime/_services/field-page-object.ts.html +2 -2
  137. package/coverage/lcov-report/runtime/_services/form-page-object.ts.html +2 -2
  138. package/coverage/lcov-report/runtime/_services/index.html +9 -9
  139. package/coverage/lcov-report/runtime/_services/loader-page-object.ts.html +2 -2
  140. package/coverage/lcov-report/runtime/_services/logger.service.ts.html +5 -5
  141. package/coverage/lcov-report/runtime/_services/login-flow-helper.base.ts.html +2 -2
  142. package/coverage/lcov-report/runtime/_services/nav-page-object.ts.html +2 -2
  143. package/coverage/lcov-report/runtime/_services/toast-page-object.ts.html +1 -1
  144. package/coverage/lcov-report/runtime/_services/wave-2b-page-objects.ts.html +6 -6
  145. package/coverage/lcov-report/runtime/index.html +1 -1
  146. package/coverage/lcov-report/runtime/index.ts.html +1 -1
  147. package/coverage/lcov.info +737 -3049
  148. package/coverage/runtime/_collections/assertion-helpers.util.ts.html +7 -16
  149. package/coverage/runtime/_collections/index.html +17 -17
  150. package/coverage/runtime/_collections/unique-generator.util.ts.html +3 -3
  151. package/coverage/runtime/_collections/wait-helpers.util.ts.html +5 -5
  152. package/coverage/runtime/_services/dialog-page-object.ts.html +2 -2
  153. package/coverage/runtime/_services/field-page-object.ts.html +2 -2
  154. package/coverage/runtime/_services/form-page-object.ts.html +2 -2
  155. package/coverage/runtime/_services/index.html +9 -9
  156. package/coverage/runtime/_services/loader-page-object.ts.html +2 -2
  157. package/coverage/runtime/_services/logger.service.ts.html +5 -5
  158. package/coverage/runtime/_services/login-flow-helper.base.ts.html +2 -2
  159. package/coverage/runtime/_services/nav-page-object.ts.html +2 -2
  160. package/coverage/runtime/_services/toast-page-object.ts.html +1 -1
  161. package/coverage/runtime/_services/wave-2b-page-objects.ts.html +6 -6
  162. package/coverage/runtime/index.html +1 -1
  163. package/coverage/runtime/index.ts.html +1 -1
  164. package/coverage/tmp/coverage-228636-1781075225757-0.json +1 -0
  165. package/coverage/tmp/coverage-228704-1781075227108-0.json +1 -0
  166. package/dogfood/generated/date-range-field-new.spec.ts +54 -0
  167. package/dogfood/generated/password-field-new.spec.ts +97 -0
  168. package/dogfood/generated/radio-select-field-new.spec.ts +69 -0
  169. package/dogfood/generated/slider-field-new.spec.ts +47 -0
  170. package/dogfood/generated/text-field-new.spec.ts +0 -0
  171. package/logs/cicd-job.json +3 -0
  172. package/logs/cicd-report.json +3 -0
  173. package/logs/cicd-status.json +3 -0
  174. package/package.json +4 -1
  175. package/.dynamo/logs/cicd-pipeline/status.json +0 -74
  176. package/coverage/lcov-report/vqa/_collections/utils/deterministic-finding.util.ts.html +0 -481
  177. package/coverage/lcov-report/vqa/_collections/utils/finding-id.util.ts.html +0 -214
  178. package/coverage/lcov-report/vqa/_collections/utils/finding-validator.util.ts.html +0 -463
  179. package/coverage/lcov-report/vqa/_collections/utils/index.html +0 -176
  180. package/coverage/lcov-report/vqa/_collections/utils/manifest-validator.util.ts.html +0 -652
  181. package/coverage/lcov-report/vqa/_collections/utils/risk-score.util.ts.html +0 -424
  182. package/coverage/lcov-report/vqa/_enums/dom-evidence-detector.enum.ts.html +0 -214
  183. package/coverage/lcov-report/vqa/_enums/finding-severity.enum.ts.html +0 -133
  184. package/coverage/lcov-report/vqa/_enums/finding-status.enum.ts.html +0 -151
  185. package/coverage/lcov-report/vqa/_enums/index.html +0 -161
  186. package/coverage/lcov-report/vqa/_enums/visual-state-type.enum.ts.html +0 -235
  187. package/coverage/lcov-report/vqa/generators/ai-agent-readme.template.ts.html +0 -643
  188. package/coverage/lcov-report/vqa/generators/bundle-summary.template.ts.html +0 -316
  189. package/coverage/lcov-report/vqa/generators/capture-spec.generator.ts.html +0 -835
  190. package/coverage/lcov-report/vqa/generators/comparison-bundle.generator.ts.html +0 -898
  191. package/coverage/lcov-report/vqa/generators/index.html +0 -176
  192. package/coverage/lcov-report/vqa/generators/review-bundle.generator.ts.html +0 -559
  193. package/coverage/tmp/coverage-19436-1783427587751-0.json +0 -1
  194. package/coverage/tmp/coverage-19441-1783427586112-0.json +0 -1
  195. package/coverage/vqa/_collections/utils/deterministic-finding.util.ts.html +0 -481
  196. package/coverage/vqa/_collections/utils/finding-id.util.ts.html +0 -214
  197. package/coverage/vqa/_collections/utils/finding-validator.util.ts.html +0 -463
  198. package/coverage/vqa/_collections/utils/index.html +0 -176
  199. package/coverage/vqa/_collections/utils/manifest-validator.util.ts.html +0 -652
  200. package/coverage/vqa/_collections/utils/risk-score.util.ts.html +0 -424
  201. package/coverage/vqa/_enums/dom-evidence-detector.enum.ts.html +0 -214
  202. package/coverage/vqa/_enums/finding-severity.enum.ts.html +0 -133
  203. package/coverage/vqa/_enums/finding-status.enum.ts.html +0 -151
  204. package/coverage/vqa/_enums/index.html +0 -161
  205. package/coverage/vqa/_enums/visual-state-type.enum.ts.html +0 -235
  206. package/coverage/vqa/generators/ai-agent-readme.template.ts.html +0 -643
  207. package/coverage/vqa/generators/bundle-summary.template.ts.html +0 -316
  208. package/coverage/vqa/generators/capture-spec.generator.ts.html +0 -835
  209. package/coverage/vqa/generators/comparison-bundle.generator.ts.html +0 -898
  210. package/coverage/vqa/generators/index.html +0 -176
  211. package/coverage/vqa/generators/review-bundle.generator.ts.html +0 -559
@@ -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-07T12:33:08.290Z
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-07T12:33:08.290Z
85
+ at 2026-06-10T07:07:07.536Z
86
86
  </div>
87
87
  <script src="../../prettify.js"></script>
88
88
  <script>
@@ -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-07T12:33:08.290Z
104
+ at 2026-06-10T07:07:07.536Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -99,27 +99,27 @@
99
99
  <span class="cline-any cline-yes">1x</span>
100
100
  <span class="cline-any cline-yes">1x</span>
101
101
  <span class="cline-any cline-yes">1x</span>
102
- <span class="cline-any cline-yes">218x</span>
103
- <span class="cline-any cline-yes">218x</span>
102
+ <span class="cline-any cline-yes">106x</span>
103
+ <span class="cline-any cline-yes">106x</span>
104
104
  <span class="cline-any cline-yes">1x</span>
105
105
  <span class="cline-any cline-yes">1x</span>
106
106
  <span class="cline-any cline-yes">1x</span>
107
107
  <span class="cline-any cline-yes">1x</span>
108
108
  <span class="cline-any cline-yes">1x</span>
109
109
  <span class="cline-any cline-yes">1x</span>
110
- <span class="cline-any cline-yes">22x</span>
111
- <span class="cline-any cline-yes">22x</span>
110
+ <span class="cline-any cline-yes">18x</span>
111
+ <span class="cline-any cline-yes">18x</span>
112
112
  <span class="cline-any cline-yes">1x</span>
113
113
  <span class="cline-any cline-yes">1x</span>
114
114
  <span class="cline-any cline-yes">3x</span>
115
115
  <span class="cline-any cline-yes">3x</span>
116
116
  <span class="cline-any cline-yes">1x</span>
117
117
  <span class="cline-any cline-yes">1x</span>
118
- <span class="cline-any cline-yes">462x</span>
119
- <span class="cline-any cline-yes">462x</span>
120
- <span class="cline-any cline-yes">462x</span>
121
- <span class="cline-any cline-yes">462x</span>
122
- <span class="cline-any cline-yes">462x</span>
118
+ <span class="cline-any cline-yes">234x</span>
119
+ <span class="cline-any cline-yes">234x</span>
120
+ <span class="cline-any cline-yes">234x</span>
121
+ <span class="cline-any cline-yes">234x</span>
122
+ <span class="cline-any cline-yes">234x</span>
123
123
  <span class="cline-any cline-yes">1x</span>
124
124
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/**
125
125
  * Selector-konvenció util-ok a generator + runtime közös testId-formálásához.
@@ -157,7 +157,7 @@ export class DyE2E_TestId_Util {
157
157
  <div class='footer quiet pad2 space-top1 center small'>
158
158
  Code coverage generated by
159
159
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
160
- at 2026-07-07T12:33:08.290Z
160
+ at 2026-06-10T07:07:07.536Z
161
161
  </div>
162
162
  <script src="../../../prettify.js"></script>
163
163
  <script>
@@ -130,7 +130,7 @@ export enum DyE2E_CWVMetric_Type {
130
130
  <div class='footer quiet pad2 space-top1 center small'>
131
131
  Code coverage generated by
132
132
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
133
- at 2026-07-07T12:33:08.290Z
133
+ at 2026-06-10T07:07:07.536Z
134
134
  </div>
135
135
  <script src="../../prettify.js"></script>
136
136
  <script>
@@ -25,7 +25,7 @@
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'>113/113</span>
28
+ <span class='fraction'>103/103</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
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'>113/113</span>
49
+ <span class='fraction'>103/103</span>
50
50
  </div>
51
51
 
52
52
 
@@ -166,27 +166,7 @@
166
166
  <a name='L101'></a><a href='#L101'>101</a>
167
167
  <a name='L102'></a><a href='#L102'>102</a>
168
168
  <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
180
- <span class="cline-any cline-yes">1x</span>
181
- <span class="cline-any cline-yes">1x</span>
182
- <span class="cline-any cline-yes">1x</span>
183
- <span class="cline-any cline-yes">1x</span>
184
- <span class="cline-any cline-yes">1x</span>
185
- <span class="cline-any cline-yes">1x</span>
186
- <span class="cline-any cline-yes">1x</span>
187
- <span class="cline-any cline-yes">1x</span>
188
- <span class="cline-any cline-yes">1x</span>
189
- <span class="cline-any cline-yes">1x</span>
169
+ <a name='L104'></a><a href='#L104'>104</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
190
170
  <span class="cline-any cline-yes">1x</span>
191
171
  <span class="cline-any cline-yes">1x</span>
192
172
  <span class="cline-any cline-yes">1x</span>
@@ -328,14 +308,6 @@ export enum DyE2E_FieldTestCase_Type {
328
308
  sqlInjectionShape = 'sql-injection-shape',
329
309
  jsonShape = 'json-shape',
330
310
  pathTraversalShape = 'path-traversal-shape',
331
- /** Zero-width / láthatatlan karakterek (ZWSP/ZWNJ/ZWJ/BOM) — normalize/sanitization-check. */
332
- zeroWidthChars = 'zero-width-chars',
333
- /** Homoglyph / confusable (pl. cyrillic 'а' a latin 'a' helyett) — dup-bypass / spoofing-check. */
334
- homoglyph = 'homoglyph',
335
- /** Template-injection alak (`${7*7}` / `{{7*7}}` / `#{7*7}`) — server-side eval-check. */
336
- templateInjectionShape = 'template-injection-shape',
337
- /** CRLF / header-injection alak (`\r\nSet-Cookie:...`) — header-szennyezés-check. */
338
- crlfInjectionShape = 'crlf-injection-shape',
339
311
  &nbsp;
340
312
  // ─── Szöveges semantic-edge ─────────────────────────────────────
341
313
  singleChar = 'single-char',
@@ -344,8 +316,6 @@ export enum DyE2E_FieldTestCase_Type {
344
316
  multiline = 'multiline',
345
317
  trailingSpaces = 'trailing-spaces',
346
318
  leadingSpaces = 'leading-spaces',
347
- /** Case-variáció (`VALUE` vs `value`) — case-insensitivity / dup-bypass-check. */
348
- caseVariant = 'case-variant',
349
319
  &nbsp;
350
320
  // ─── Numerikus edge ──────────────────────────────────────────────
351
321
  zero = 'zero',
@@ -409,7 +379,7 @@ export enum DyE2E_FieldTestCase_Type {
409
379
  <div class='footer quiet pad2 space-top1 center small'>
410
380
  Code coverage generated by
411
381
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
412
- at 2026-07-07T12:33:08.290Z
382
+ at 2026-06-10T07:07:07.536Z
413
383
  </div>
414
384
  <script src="../../prettify.js"></script>
415
385
  <script>
@@ -25,7 +25,7 @@
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'>183/183</span>
28
+ <span class='fraction'>173/173</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
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'>183/183</span>
49
+ <span class='fraction'>173/173</span>
50
50
  </div>
51
51
 
52
52
 
@@ -99,13 +99,13 @@
99
99
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
100
100
  </td>
101
101
  <td data-value="100" class="pct high">100%</td>
102
- <td data-value="113" class="abs high">113/113</td>
102
+ <td data-value="103" class="abs high">103/103</td>
103
103
  <td data-value="100" class="pct high">100%</td>
104
104
  <td data-value="1" class="abs high">1/1</td>
105
105
  <td data-value="100" class="pct high">100%</td>
106
106
  <td data-value="0" class="abs high">0/0</td>
107
107
  <td data-value="100" class="pct high">100%</td>
108
- <td data-value="113" class="abs high">113/113</td>
108
+ <td data-value="103" class="abs high">103/103</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
@@ -176,7 +176,7 @@
176
176
  <div class='footer quiet pad2 space-top1 center small'>
177
177
  Code coverage generated by
178
178
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
179
- at 2026-07-07T12:33:08.290Z
179
+ at 2026-06-10T07:07:07.536Z
180
180
  </div>
181
181
  <script src="../../prettify.js"></script>
182
182
  <script>
@@ -85,7 +85,7 @@ export * from './test-run-mode-type.enum';
85
85
  <div class='footer quiet pad2 space-top1 center small'>
86
86
  Code coverage generated by
87
87
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
88
- at 2026-07-07T12:33:08.290Z
88
+ at 2026-06-10T07:07:07.536Z
89
89
  </div>
90
90
  <script src="../../prettify.js"></script>
91
91
  <script>
@@ -112,7 +112,7 @@ export enum DyE2E_StandardViewport_Type {
112
112
  <div class='footer quiet pad2 space-top1 center small'>
113
113
  Code coverage generated by
114
114
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
115
- at 2026-07-07T12:33:08.290Z
115
+ at 2026-06-10T07:07:07.536Z
116
116
  </div>
117
117
  <script src="../../prettify.js"></script>
118
118
  <script>
@@ -118,7 +118,7 @@ export enum DyE2E_TestExpectation_Type {
118
118
  <div class='footer quiet pad2 space-top1 center small'>
119
119
  Code coverage generated by
120
120
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
121
- at 2026-07-07T12:33:08.290Z
121
+ at 2026-06-10T07:07:07.536Z
122
122
  </div>
123
123
  <script src="../../prettify.js"></script>
124
124
  <script>
@@ -115,7 +115,7 @@ export enum DyE2E_TestRunMode_Type {
115
115
  <div class='footer quiet pad2 space-top1 center small'>
116
116
  Code coverage generated by
117
117
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
118
- at 2026-07-07T12:33:08.290Z
118
+ at 2026-06-10T07:07:07.536Z
119
119
  </div>
120
120
  <script src="../../prettify.js"></script>
121
121
  <script>
@@ -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-07T12:33:08.290Z
104
+ at 2026-06-10T07:07:07.536Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -106,7 +106,7 @@ export * from './_collections/utils/test-id.util';
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
109
- at 2026-07-07T12:33:08.290Z
109
+ at 2026-06-10T07:07:07.536Z
110
110
  </div>
111
111
  <script src="../prettify.js"></script>
112
112
  <script>
@@ -226,7 +226,7 @@ export class DyE2E_CWVAggregator_Util {
226
226
  <div class='footer quiet pad2 space-top1 center small'>
227
227
  Code coverage generated by
228
228
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
229
- at 2026-07-07T12:33:08.290Z
229
+ at 2026-06-10T07:07:07.536Z
230
230
  </div>
231
231
  <script src="../../prettify.js"></script>
232
232
  <script>