@futdevpro/dynamo-e2e 1.18.7 → 1.18.8

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 (158) hide show
  1. package/.dynamo/logs/cicd-pipeline/status.json +27 -27
  2. package/build/_modules/contracts/_collections/utils/test-id.util.d.ts +2 -0
  3. package/build/_modules/contracts/_collections/utils/test-id.util.d.ts.map +1 -1
  4. package/build/_modules/contracts/_collections/utils/test-id.util.js +4 -0
  5. package/build/_modules/contracts/_collections/utils/test-id.util.js.map +1 -1
  6. package/build/_modules/generators/_collections/field-emission.util.d.ts +5 -0
  7. package/build/_modules/generators/_collections/field-emission.util.d.ts.map +1 -1
  8. package/build/_modules/generators/_collections/field-emission.util.js +27 -6
  9. package/build/_modules/generators/_collections/field-emission.util.js.map +1 -1
  10. package/build/_modules/generators/_models/form-settings-shape.interface.d.ts +15 -0
  11. package/build/_modules/generators/_models/form-settings-shape.interface.d.ts.map +1 -1
  12. package/build/_modules/generators/field-emission-edge.spec.js +49 -0
  13. package/build/_modules/generators/field-emission-edge.spec.js.map +1 -1
  14. package/coverage/contracts/_collections/index.html +1 -1
  15. package/coverage/contracts/_collections/index.ts.html +1 -1
  16. package/coverage/contracts/_collections/utils/index.html +9 -9
  17. package/coverage/contracts/_collections/utils/test-id.util.ts.html +30 -15
  18. package/coverage/contracts/_enums/cwv-metric-type.enum.ts.html +1 -1
  19. package/coverage/contracts/_enums/field-test-case-type.enum.ts.html +1 -1
  20. package/coverage/contracts/_enums/index.html +1 -1
  21. package/coverage/contracts/_enums/index.ts.html +1 -1
  22. package/coverage/contracts/_enums/standard-viewport.enum.ts.html +1 -1
  23. package/coverage/contracts/_enums/test-expectation-type.enum.ts.html +1 -1
  24. package/coverage/contracts/_enums/test-run-mode-type.enum.ts.html +1 -1
  25. package/coverage/contracts/index.html +1 -1
  26. package/coverage/contracts/index.ts.html +1 -1
  27. package/coverage/cwv/_collections/cwv-aggregator.util.ts.html +1 -1
  28. package/coverage/cwv/_collections/cwv-comparison.util.ts.html +1 -1
  29. package/coverage/cwv/_collections/cwv-diagnose.util.ts.html +1 -1
  30. package/coverage/cwv/_collections/cwv-emission.util.ts.html +1 -1
  31. package/coverage/cwv/_collections/cwv-summarize.util.ts.html +1 -1
  32. package/coverage/cwv/_collections/index.html +1 -1
  33. package/coverage/cwv/_collections/inp-interaction-script.const.ts.html +1 -1
  34. package/coverage/cwv/_collections/web-vitals-page-script.const.ts.html +1 -1
  35. package/coverage/cwv/cwv-suite.generator.ts.html +1 -1
  36. package/coverage/cwv/index.html +1 -1
  37. package/coverage/generators/_collections/cli-runner.util.ts.html +1 -1
  38. package/coverage/generators/_collections/config-validator.util.ts.html +1 -1
  39. package/coverage/generators/_collections/field-emission.util.ts.html +182 -89
  40. package/coverage/generators/_collections/form-level-emission.util.ts.html +1 -1
  41. package/coverage/generators/_collections/index.html +17 -17
  42. package/coverage/generators/_collections/json-schema.util.ts.html +1 -1
  43. package/coverage/generators/_collections/preset-configs.const.ts.html +1 -1
  44. package/coverage/generators/_collections/spec-emission.util.ts.html +21 -21
  45. package/coverage/generators/_collections/test-case-filter.util.ts.html +1 -1
  46. package/coverage/generators/_collections/viewport-emission.util.ts.html +1 -1
  47. package/coverage/generators/form-suite.generator.ts.html +1 -1
  48. package/coverage/generators/index.html +1 -1
  49. package/coverage/generators/viewport-suite.generator.ts.html +1 -1
  50. package/coverage/index.html +22 -22
  51. package/coverage/lcov-report/contracts/_collections/index.html +1 -1
  52. package/coverage/lcov-report/contracts/_collections/index.ts.html +1 -1
  53. package/coverage/lcov-report/contracts/_collections/utils/index.html +9 -9
  54. package/coverage/lcov-report/contracts/_collections/utils/test-id.util.ts.html +30 -15
  55. package/coverage/lcov-report/contracts/_enums/cwv-metric-type.enum.ts.html +1 -1
  56. package/coverage/lcov-report/contracts/_enums/field-test-case-type.enum.ts.html +1 -1
  57. package/coverage/lcov-report/contracts/_enums/index.html +1 -1
  58. package/coverage/lcov-report/contracts/_enums/index.ts.html +1 -1
  59. package/coverage/lcov-report/contracts/_enums/standard-viewport.enum.ts.html +1 -1
  60. package/coverage/lcov-report/contracts/_enums/test-expectation-type.enum.ts.html +1 -1
  61. package/coverage/lcov-report/contracts/_enums/test-run-mode-type.enum.ts.html +1 -1
  62. package/coverage/lcov-report/contracts/index.html +1 -1
  63. package/coverage/lcov-report/contracts/index.ts.html +1 -1
  64. package/coverage/lcov-report/cwv/_collections/cwv-aggregator.util.ts.html +1 -1
  65. package/coverage/lcov-report/cwv/_collections/cwv-comparison.util.ts.html +1 -1
  66. package/coverage/lcov-report/cwv/_collections/cwv-diagnose.util.ts.html +1 -1
  67. package/coverage/lcov-report/cwv/_collections/cwv-emission.util.ts.html +1 -1
  68. package/coverage/lcov-report/cwv/_collections/cwv-summarize.util.ts.html +1 -1
  69. package/coverage/lcov-report/cwv/_collections/index.html +1 -1
  70. package/coverage/lcov-report/cwv/_collections/inp-interaction-script.const.ts.html +1 -1
  71. package/coverage/lcov-report/cwv/_collections/web-vitals-page-script.const.ts.html +1 -1
  72. package/coverage/lcov-report/cwv/cwv-suite.generator.ts.html +1 -1
  73. package/coverage/lcov-report/cwv/index.html +1 -1
  74. package/coverage/lcov-report/generators/_collections/cli-runner.util.ts.html +1 -1
  75. package/coverage/lcov-report/generators/_collections/config-validator.util.ts.html +1 -1
  76. package/coverage/lcov-report/generators/_collections/field-emission.util.ts.html +182 -89
  77. package/coverage/lcov-report/generators/_collections/form-level-emission.util.ts.html +1 -1
  78. package/coverage/lcov-report/generators/_collections/index.html +17 -17
  79. package/coverage/lcov-report/generators/_collections/json-schema.util.ts.html +1 -1
  80. package/coverage/lcov-report/generators/_collections/preset-configs.const.ts.html +1 -1
  81. package/coverage/lcov-report/generators/_collections/spec-emission.util.ts.html +21 -21
  82. package/coverage/lcov-report/generators/_collections/test-case-filter.util.ts.html +1 -1
  83. package/coverage/lcov-report/generators/_collections/viewport-emission.util.ts.html +1 -1
  84. package/coverage/lcov-report/generators/form-suite.generator.ts.html +1 -1
  85. package/coverage/lcov-report/generators/index.html +1 -1
  86. package/coverage/lcov-report/generators/viewport-suite.generator.ts.html +1 -1
  87. package/coverage/lcov-report/index.html +22 -22
  88. package/coverage/lcov-report/runtime/_collections/assertion-helpers.util.ts.html +1 -1
  89. package/coverage/lcov-report/runtime/_collections/index.html +1 -1
  90. package/coverage/lcov-report/runtime/_collections/unique-generator.util.ts.html +1 -1
  91. package/coverage/lcov-report/runtime/_collections/wait-helpers.util.ts.html +1 -1
  92. package/coverage/lcov-report/runtime/_services/dialog-page-object.ts.html +1 -1
  93. package/coverage/lcov-report/runtime/_services/field-page-object.ts.html +1 -1
  94. package/coverage/lcov-report/runtime/_services/form-page-object.ts.html +1 -1
  95. package/coverage/lcov-report/runtime/_services/index.html +1 -1
  96. package/coverage/lcov-report/runtime/_services/loader-page-object.ts.html +1 -1
  97. package/coverage/lcov-report/runtime/_services/logger.service.ts.html +1 -1
  98. package/coverage/lcov-report/runtime/_services/login-flow-helper.base.ts.html +1 -1
  99. package/coverage/lcov-report/runtime/_services/nav-page-object.ts.html +1 -1
  100. package/coverage/lcov-report/runtime/_services/toast-page-object.ts.html +1 -1
  101. package/coverage/lcov-report/runtime/_services/wave-2b-page-objects.ts.html +1 -1
  102. package/coverage/lcov-report/runtime/index.html +1 -1
  103. package/coverage/lcov-report/runtime/index.ts.html +1 -1
  104. package/coverage/lcov-report/vqa/_collections/utils/deterministic-finding.util.ts.html +1 -1
  105. package/coverage/lcov-report/vqa/_collections/utils/finding-id.util.ts.html +1 -1
  106. package/coverage/lcov-report/vqa/_collections/utils/finding-validator.util.ts.html +1 -1
  107. package/coverage/lcov-report/vqa/_collections/utils/index.html +1 -1
  108. package/coverage/lcov-report/vqa/_collections/utils/manifest-validator.util.ts.html +1 -1
  109. package/coverage/lcov-report/vqa/_collections/utils/risk-score.util.ts.html +1 -1
  110. package/coverage/lcov-report/vqa/_enums/dom-evidence-detector.enum.ts.html +1 -1
  111. package/coverage/lcov-report/vqa/_enums/finding-severity.enum.ts.html +1 -1
  112. package/coverage/lcov-report/vqa/_enums/finding-status.enum.ts.html +1 -1
  113. package/coverage/lcov-report/vqa/_enums/index.html +1 -1
  114. package/coverage/lcov-report/vqa/_enums/visual-state-type.enum.ts.html +1 -1
  115. package/coverage/lcov-report/vqa/generators/ai-agent-readme.template.ts.html +1 -1
  116. package/coverage/lcov-report/vqa/generators/bundle-summary.template.ts.html +1 -1
  117. package/coverage/lcov-report/vqa/generators/capture-spec.generator.ts.html +1 -1
  118. package/coverage/lcov-report/vqa/generators/comparison-bundle.generator.ts.html +1 -1
  119. package/coverage/lcov-report/vqa/generators/index.html +1 -1
  120. package/coverage/lcov-report/vqa/generators/review-bundle.generator.ts.html +1 -1
  121. package/coverage/lcov.info +321 -272
  122. package/coverage/runtime/_collections/assertion-helpers.util.ts.html +1 -1
  123. package/coverage/runtime/_collections/index.html +1 -1
  124. package/coverage/runtime/_collections/unique-generator.util.ts.html +1 -1
  125. package/coverage/runtime/_collections/wait-helpers.util.ts.html +1 -1
  126. package/coverage/runtime/_services/dialog-page-object.ts.html +1 -1
  127. package/coverage/runtime/_services/field-page-object.ts.html +1 -1
  128. package/coverage/runtime/_services/form-page-object.ts.html +1 -1
  129. package/coverage/runtime/_services/index.html +1 -1
  130. package/coverage/runtime/_services/loader-page-object.ts.html +1 -1
  131. package/coverage/runtime/_services/logger.service.ts.html +1 -1
  132. package/coverage/runtime/_services/login-flow-helper.base.ts.html +1 -1
  133. package/coverage/runtime/_services/nav-page-object.ts.html +1 -1
  134. package/coverage/runtime/_services/toast-page-object.ts.html +1 -1
  135. package/coverage/runtime/_services/wave-2b-page-objects.ts.html +1 -1
  136. package/coverage/runtime/index.html +1 -1
  137. package/coverage/runtime/index.ts.html +1 -1
  138. package/coverage/tmp/coverage-13181-1784118006591-0.json +1 -0
  139. package/coverage/tmp/{coverage-19441-1783427586112-0.json → coverage-13186-1784118005044-0.json} +1 -1
  140. package/coverage/vqa/_collections/utils/deterministic-finding.util.ts.html +1 -1
  141. package/coverage/vqa/_collections/utils/finding-id.util.ts.html +1 -1
  142. package/coverage/vqa/_collections/utils/finding-validator.util.ts.html +1 -1
  143. package/coverage/vqa/_collections/utils/index.html +1 -1
  144. package/coverage/vqa/_collections/utils/manifest-validator.util.ts.html +1 -1
  145. package/coverage/vqa/_collections/utils/risk-score.util.ts.html +1 -1
  146. package/coverage/vqa/_enums/dom-evidence-detector.enum.ts.html +1 -1
  147. package/coverage/vqa/_enums/finding-severity.enum.ts.html +1 -1
  148. package/coverage/vqa/_enums/finding-status.enum.ts.html +1 -1
  149. package/coverage/vqa/_enums/index.html +1 -1
  150. package/coverage/vqa/_enums/visual-state-type.enum.ts.html +1 -1
  151. package/coverage/vqa/generators/ai-agent-readme.template.ts.html +1 -1
  152. package/coverage/vqa/generators/bundle-summary.template.ts.html +1 -1
  153. package/coverage/vqa/generators/capture-spec.generator.ts.html +1 -1
  154. package/coverage/vqa/generators/comparison-bundle.generator.ts.html +1 -1
  155. package/coverage/vqa/generators/index.html +1 -1
  156. package/coverage/vqa/generators/review-bundle.generator.ts.html +1 -1
  157. package/package.json +1 -1
  158. package/coverage/tmp/coverage-19436-1783427587751-0.json +0 -1
@@ -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-07-15T12:20:07.032Z
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-07-15T12:20:07.032Z
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-07-15T12:20:07.032Z
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-07-15T12:20:07.032Z
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-07-15T12:20:07.032Z
230
230
  </div>
231
231
  <script src="../../prettify.js"></script>
232
232
  <script>
@@ -340,7 +340,7 @@ export class DyE2E_CWVComparison_Util {
340
340
  <div class='footer quiet pad2 space-top1 center small'>
341
341
  Code coverage generated by
342
342
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
343
- at 2026-07-07T12:33:08.290Z
343
+ at 2026-07-15T12:20:07.032Z
344
344
  </div>
345
345
  <script src="../../prettify.js"></script>
346
346
  <script>
@@ -538,7 +538,7 @@ export class DyE2E_CWVDiagnose_Util {
538
538
  <div class='footer quiet pad2 space-top1 center small'>
539
539
  Code coverage generated by
540
540
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
541
- at 2026-07-07T12:33:08.290Z
541
+ at 2026-07-15T12:20:07.032Z
542
542
  </div>
543
543
  <script src="../../prettify.js"></script>
544
544
  <script>
@@ -433,7 +433,7 @@ export class DyE2E_CWVEmission_Util {
433
433
  <div class='footer quiet pad2 space-top1 center small'>
434
434
  Code coverage generated by
435
435
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
436
- at 2026-07-07T12:33:08.290Z
436
+ at 2026-07-15T12:20:07.032Z
437
437
  </div>
438
438
  <script src="../../prettify.js"></script>
439
439
  <script>
@@ -310,7 +310,7 @@ export class DyE2E_CWVSummarize_Util {
310
310
  <div class='footer quiet pad2 space-top1 center small'>
311
311
  Code coverage generated by
312
312
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
313
- at 2026-07-07T12:33:08.290Z
313
+ at 2026-07-15T12:20:07.032Z
314
314
  </div>
315
315
  <script src="../../prettify.js"></script>
316
316
  <script>
@@ -191,7 +191,7 @@
191
191
  <div class='footer quiet pad2 space-top1 center small'>
192
192
  Code coverage generated by
193
193
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
194
- at 2026-07-07T12:33:08.290Z
194
+ at 2026-07-15T12:20:07.032Z
195
195
  </div>
196
196
  <script src="../../prettify.js"></script>
197
197
  <script>
@@ -289,7 +289,7 @@ export interface DyE2E_INPInteraction_Shape {
289
289
  <div class='footer quiet pad2 space-top1 center small'>
290
290
  Code coverage generated by
291
291
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
292
- at 2026-07-07T12:33:08.290Z
292
+ at 2026-07-15T12:20:07.032Z
293
293
  </div>
294
294
  <script src="../../prettify.js"></script>
295
295
  <script>
@@ -316,7 +316,7 @@ export const DYE2E_WEB_VITALS_PAGE_SCRIPT: string = `
316
316
  <div class='footer quiet pad2 space-top1 center small'>
317
317
  Code coverage generated by
318
318
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
319
- at 2026-07-07T12:33:08.290Z
319
+ at 2026-07-15T12:20:07.032Z
320
320
  </div>
321
321
  <script src="../../prettify.js"></script>
322
322
  <script>
@@ -262,7 +262,7 @@ ${DyE2E_SpecEmission_Util.indent(routeBlocks.join('\n\n'), 1)}
262
262
  <div class='footer quiet pad2 space-top1 center small'>
263
263
  Code coverage generated by
264
264
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
265
- at 2026-07-07T12:33:08.290Z
265
+ at 2026-07-15T12:20:07.032Z
266
266
  </div>
267
267
  <script src="../prettify.js"></script>
268
268
  <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-07-15T12:20:07.032Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -904,7 +904,7 @@ Docs: github.com/futdevpro/dynamo-e2e/__documentations/
904
904
  <div class='footer quiet pad2 space-top1 center small'>
905
905
  Code coverage generated by
906
906
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
907
- at 2026-07-07T12:33:08.290Z
907
+ at 2026-07-15T12:20:07.032Z
908
908
  </div>
909
909
  <script src="../../prettify.js"></script>
910
910
  <script>
@@ -382,7 +382,7 @@ export class DyE2E_ConfigValidator_Util {
382
382
  <div class='footer quiet pad2 space-top1 center small'>
383
383
  Code coverage generated by
384
384
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
385
- at 2026-07-07T12:33:08.290Z
385
+ at 2026-07-15T12:20:07.032Z
386
386
  </div>
387
387
  <script src="../../prettify.js"></script>
388
388
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">97.31% </span>
26
+ <span class="strong">97.69% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>181/186</span>
28
+ <span class='fraction'>212/217</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">71.42% </span>
33
+ <span class="strong">76.92% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>50/70</span>
35
+ <span class='fraction'>60/78</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'>4/4</span>
42
+ <span class='fraction'>5/5</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">97.31% </span>
47
+ <span class="strong">97.69% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>181/186</span>
49
+ <span class='fraction'>212/217</span>
50
50
  </div>
51
51
 
52
52
 
@@ -249,7 +249,38 @@
249
249
  <a name='L184'></a><a href='#L184'>184</a>
250
250
  <a name='L185'></a><a href='#L185'>185</a>
251
251
  <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a>
261
+ <a name='L196'></a><a href='#L196'>196</a>
262
+ <a name='L197'></a><a href='#L197'>197</a>
263
+ <a name='L198'></a><a href='#L198'>198</a>
264
+ <a name='L199'></a><a href='#L199'>199</a>
265
+ <a name='L200'></a><a href='#L200'>200</a>
266
+ <a name='L201'></a><a href='#L201'>201</a>
267
+ <a name='L202'></a><a href='#L202'>202</a>
268
+ <a name='L203'></a><a href='#L203'>203</a>
269
+ <a name='L204'></a><a href='#L204'>204</a>
270
+ <a name='L205'></a><a href='#L205'>205</a>
271
+ <a name='L206'></a><a href='#L206'>206</a>
272
+ <a name='L207'></a><a href='#L207'>207</a>
273
+ <a name='L208'></a><a href='#L208'>208</a>
274
+ <a name='L209'></a><a href='#L209'>209</a>
275
+ <a name='L210'></a><a href='#L210'>210</a>
276
+ <a name='L211'></a><a href='#L211'>211</a>
277
+ <a name='L212'></a><a href='#L212'>212</a>
278
+ <a name='L213'></a><a href='#L213'>213</a>
279
+ <a name='L214'></a><a href='#L214'>214</a>
280
+ <a name='L215'></a><a href='#L215'>215</a>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
253
284
  <span class="cline-any cline-yes">1x</span>
254
285
  <span class="cline-any cline-yes">1x</span>
255
286
  <span class="cline-any cline-yes">1x</span>
@@ -271,43 +302,47 @@
271
302
  <span class="cline-any cline-yes">1x</span>
272
303
  <span class="cline-any cline-yes">1x</span>
273
304
  <span class="cline-any cline-yes">1x</span>
274
- <span class="cline-any cline-yes">334x</span>
275
- <span class="cline-any cline-yes">334x</span>
276
- <span class="cline-any cline-yes">334x</span>
277
- <span class="cline-any cline-yes">334x</span>
278
- <span class="cline-any cline-yes">334x</span>
279
- <span class="cline-any cline-yes">334x</span>
280
- <span class="cline-any cline-yes">334x</span>
281
- <span class="cline-any cline-yes">334x</span>
282
- <span class="cline-any cline-yes">334x</span>
283
- <span class="cline-any cline-yes">334x</span>
284
- <span class="cline-any cline-yes">334x</span>
285
- <span class="cline-any cline-yes">334x</span>
286
- <span class="cline-any cline-yes">334x</span>
287
- <span class="cline-any cline-yes">334x</span>
288
305
  <span class="cline-any cline-yes">1x</span>
289
306
  <span class="cline-any cline-yes">1x</span>
290
- <span class="cline-any cline-yes">334x</span>
291
- <span class="cline-any cline-yes">334x</span>
292
- <span class="cline-any cline-yes">334x</span>
293
- <span class="cline-any cline-yes">334x</span>
294
- <span class="cline-any cline-yes">334x</span>
295
- <span class="cline-any cline-yes">20x</span>
307
+ <span class="cline-any cline-yes">1x</span>
308
+ <span class="cline-any cline-yes">1x</span>
309
+ <span class="cline-any cline-yes">338x</span>
310
+ <span class="cline-any cline-yes">338x</span>
311
+ <span class="cline-any cline-yes">338x</span>
312
+ <span class="cline-any cline-yes">338x</span>
313
+ <span class="cline-any cline-yes">338x</span>
314
+ <span class="cline-any cline-yes">338x</span>
315
+ <span class="cline-any cline-yes">338x</span>
316
+ <span class="cline-any cline-yes">338x</span>
317
+ <span class="cline-any cline-yes">338x</span>
318
+ <span class="cline-any cline-yes">338x</span>
319
+ <span class="cline-any cline-yes">338x</span>
320
+ <span class="cline-any cline-yes">338x</span>
321
+ <span class="cline-any cline-yes">338x</span>
322
+ <span class="cline-any cline-yes">338x</span>
323
+ <span class="cline-any cline-yes">1x</span>
324
+ <span class="cline-any cline-yes">1x</span>
325
+ <span class="cline-any cline-yes">338x</span>
326
+ <span class="cline-any cline-yes">338x</span>
327
+ <span class="cline-any cline-yes">338x</span>
328
+ <span class="cline-any cline-yes">338x</span>
329
+ <span class="cline-any cline-yes">338x</span>
330
+ <span class="cline-any cline-yes">24x</span>
296
331
  <span class="cline-any cline-yes">2x</span>
297
- <span class="cline-any cline-yes">334x</span>
298
- <span class="cline-any cline-yes">334x</span>
299
- <span class="cline-any cline-yes">334x</span>
332
+ <span class="cline-any cline-yes">338x</span>
333
+ <span class="cline-any cline-yes">338x</span>
334
+ <span class="cline-any cline-yes">338x</span>
300
335
  <span class="cline-any cline-yes">1x</span>
301
336
  <span class="cline-any cline-yes">1x</span>
302
337
  <span class="cline-any cline-yes">1x</span>
303
- <span class="cline-any cline-yes">334x</span>
304
- <span class="cline-any cline-yes">334x</span>
305
- <span class="cline-any cline-yes">334x</span>
306
- <span class="cline-any cline-yes">334x</span>
307
- <span class="cline-any cline-yes">334x</span>
308
- <span class="cline-any cline-yes">334x</span>
309
- <span class="cline-any cline-yes">334x</span>
310
- <span class="cline-any cline-yes">334x</span>
338
+ <span class="cline-any cline-yes">338x</span>
339
+ <span class="cline-any cline-yes">338x</span>
340
+ <span class="cline-any cline-yes">338x</span>
341
+ <span class="cline-any cline-yes">338x</span>
342
+ <span class="cline-any cline-yes">338x</span>
343
+ <span class="cline-any cline-yes">338x</span>
344
+ <span class="cline-any cline-yes">338x</span>
345
+ <span class="cline-any cline-yes">338x</span>
311
346
  <span class="cline-any cline-yes">10x</span>
312
347
  <span class="cline-any cline-yes">10x</span>
313
348
  <span class="cline-any cline-yes">10x</span>
@@ -323,8 +358,8 @@
323
358
  <span class="cline-any cline-yes">10x</span>
324
359
  <span class="cline-any cline-yes">10x</span>
325
360
  <span class="cline-any cline-yes">10x</span>
326
- <span class="cline-any cline-yes">324x</span>
327
- <span class="cline-any cline-yes">334x</span>
361
+ <span class="cline-any cline-yes">328x</span>
362
+ <span class="cline-any cline-yes">338x</span>
328
363
  <span class="cline-any cline-yes">2x</span>
329
364
  <span class="cline-any cline-yes">2x</span>
330
365
  <span class="cline-any cline-yes">2x</span>
@@ -344,8 +379,8 @@
344
379
  <span class="cline-any cline-yes">2x</span>
345
380
  <span class="cline-any cline-yes">2x</span>
346
381
  <span class="cline-any cline-yes">2x</span>
347
- <span class="cline-any cline-yes">322x</span>
348
- <span class="cline-any cline-yes">334x</span>
382
+ <span class="cline-any cline-yes">326x</span>
383
+ <span class="cline-any cline-yes">338x</span>
349
384
  <span class="cline-any cline-yes">3x</span>
350
385
  <span class="cline-any cline-yes">3x</span>
351
386
  <span class="cline-any cline-yes">3x</span>
@@ -354,62 +389,74 @@
354
389
  <span class="cline-any cline-yes">3x</span>
355
390
  <span class="cline-any cline-yes">3x</span>
356
391
  <span class="cline-any cline-yes">3x</span>
357
- <span class="cline-any cline-yes">319x</span>
358
- <span class="cline-any cline-yes">319x</span>
359
- <span class="cline-any cline-yes">334x</span>
392
+ <span class="cline-any cline-yes">323x</span>
393
+ <span class="cline-any cline-yes">323x</span>
394
+ <span class="cline-any cline-yes">338x</span>
360
395
  <span class="cline-any cline-yes">3x</span>
361
396
  <span class="cline-any cline-yes">3x</span>
362
397
  <span class="cline-any cline-yes">3x</span>
363
398
  <span class="cline-any cline-yes">3x</span>
364
399
  <span class="cline-any cline-yes">3x</span>
365
400
  <span class="cline-any cline-yes">3x</span>
366
- <span class="cline-any cline-yes">316x</span>
367
- <span class="cline-any cline-yes">316x</span>
368
- <span class="cline-any cline-yes">334x</span>
401
+ <span class="cline-any cline-yes">320x</span>
402
+ <span class="cline-any cline-yes">320x</span>
403
+ <span class="cline-any cline-yes">338x</span>
369
404
  <span class="cline-any cline-yes">3x</span>
370
405
  <span class="cline-any cline-yes">3x</span>
371
406
  <span class="cline-any cline-yes">3x</span>
372
407
  <span class="cline-any cline-yes">3x</span>
373
408
  <span class="cline-any cline-yes">3x</span>
374
- <span class="cline-any cline-yes">313x</span>
375
- <span class="cline-any cline-yes">313x</span>
376
- <span class="cline-any cline-yes">334x</span>
409
+ <span class="cline-any cline-yes">317x</span>
410
+ <span class="cline-any cline-yes">317x</span>
411
+ <span class="cline-any cline-yes">338x</span>
377
412
  <span class="cline-any cline-yes">2x</span>
378
413
  <span class="cline-any cline-yes">2x</span>
379
414
  <span class="cline-any cline-yes">2x</span>
380
415
  <span class="cline-any cline-yes">2x</span>
381
416
  <span class="cline-any cline-yes">2x</span>
382
417
  <span class="cline-any cline-yes">2x</span>
383
- <span class="cline-any cline-yes">311x</span>
384
- <span class="cline-any cline-yes">311x</span>
385
- <span class="cline-any cline-yes">334x</span>
418
+ <span class="cline-any cline-yes">315x</span>
419
+ <span class="cline-any cline-yes">315x</span>
420
+ <span class="cline-any cline-yes">338x</span>
386
421
  <span class="cline-any cline-yes">3x</span>
387
422
  <span class="cline-any cline-yes">3x</span>
388
423
  <span class="cline-any cline-yes">3x</span>
389
424
  <span class="cline-any cline-yes">3x</span>
390
425
  <span class="cline-any cline-yes">3x</span>
391
- <span class="cline-any cline-yes">308x</span>
392
- <span class="cline-any cline-yes">308x</span>
393
- <span class="cline-any cline-yes">334x</span>
426
+ <span class="cline-any cline-yes">312x</span>
427
+ <span class="cline-any cline-yes">312x</span>
428
+ <span class="cline-any cline-yes">338x</span>
394
429
  <span class="cline-any cline-yes">3x</span>
395
430
  <span class="cline-any cline-yes">3x</span>
396
431
  <span class="cline-any cline-yes">3x</span>
397
432
  <span class="cline-any cline-yes">3x</span>
398
433
  <span class="cline-any cline-yes">3x</span>
399
- <span class="cline-any cline-yes">305x</span>
400
- <span class="cline-any cline-yes">305x</span>
401
- <span class="cline-any cline-yes">305x</span>
402
- <span class="cline-any cline-yes">334x</span>
403
- <span class="cline-any cline-yes">334x</span>
404
- <span class="cline-any cline-yes">334x</span>
434
+ <span class="cline-any cline-yes">309x</span>
435
+ <span class="cline-any cline-yes">309x</span>
436
+ <span class="cline-any cline-yes">309x</span>
437
+ <span class="cline-any cline-yes">338x</span>
438
+ <span class="cline-any cline-yes">338x</span>
439
+ <span class="cline-any cline-yes">338x</span>
440
+ <span class="cline-any cline-yes">1x</span>
441
+ <span class="cline-any cline-yes">1x</span>
442
+ <span class="cline-any cline-yes">1x</span>
405
443
  <span class="cline-any cline-yes">1x</span>
406
444
  <span class="cline-any cline-yes">1x</span>
407
445
  <span class="cline-any cline-yes">1x</span>
408
- <span class="cline-any cline-yes">334x</span>
409
- <span class="cline-any cline-yes">334x</span>
410
- <span class="cline-any cline-yes">334x</span>
411
- <span class="cline-any cline-yes">334x</span>
412
- <span class="cline-any cline-yes">334x</span>
446
+ <span class="cline-any cline-yes">22x</span>
447
+ <span class="cline-any cline-yes">22x</span>
448
+ <span class="cline-any cline-yes">22x</span>
449
+ <span class="cline-any cline-yes">22x</span>
450
+ <span class="cline-any cline-yes">22x</span>
451
+ <span class="cline-any cline-yes">1x</span>
452
+ <span class="cline-any cline-yes">1x</span>
453
+ <span class="cline-any cline-yes">1x</span>
454
+ <span class="cline-any cline-yes">338x</span>
455
+ <span class="cline-any cline-yes">338x</span>
456
+ <span class="cline-any cline-yes">338x</span>
457
+ <span class="cline-any cline-yes">338x</span>
458
+ <span class="cline-any cline-yes">338x</span>
459
+ <span class="cline-any cline-yes">338x</span>
413
460
  <span class="cline-any cline-yes">314x</span>
414
461
  <span class="cline-any cline-yes">314x</span>
415
462
  <span class="cline-any cline-yes">314x</span>
@@ -417,16 +464,31 @@
417
464
  <span class="cline-any cline-yes">314x</span>
418
465
  <span class="cline-any cline-yes">314x</span>
419
466
  <span class="cline-any cline-yes">314x</span>
420
- <span class="cline-any cline-yes">334x</span>
421
- <span class="cline-any cline-yes">18x</span>
422
- <span class="cline-any cline-yes">18x</span>
423
- <span class="cline-any cline-yes">18x</span>
424
- <span class="cline-any cline-yes">18x</span>
425
- <span class="cline-any cline-yes">18x</span>
426
- <span class="cline-any cline-yes">18x</span>
427
- <span class="cline-any cline-yes">18x</span>
428
- <span class="cline-any cline-yes">18x</span>
429
- <span class="cline-any cline-yes">334x</span>
467
+ <span class="cline-any cline-yes">338x</span>
468
+ <span class="cline-any cline-yes">22x</span>
469
+ <span class="cline-any cline-yes">22x</span>
470
+ <span class="cline-any cline-yes">22x</span>
471
+ <span class="cline-any cline-yes">22x</span>
472
+ <span class="cline-any cline-yes">22x</span>
473
+ <span class="cline-any cline-yes">22x</span>
474
+ <span class="cline-any cline-yes">22x</span>
475
+ <span class="cline-any cline-yes">2x</span>
476
+ <span class="cline-any cline-yes">2x</span>
477
+ <span class="cline-any cline-yes">2x</span>
478
+ <span class="cline-any cline-yes">2x</span>
479
+ <span class="cline-any cline-yes">20x</span>
480
+ <span class="cline-any cline-yes">20x</span>
481
+ <span class="cline-any cline-yes">22x</span>
482
+ <span class="cline-any cline-yes">1x</span>
483
+ <span class="cline-any cline-yes">1x</span>
484
+ <span class="cline-any cline-yes">1x</span>
485
+ <span class="cline-any cline-yes">1x</span>
486
+ <span class="cline-any cline-yes">19x</span>
487
+ <span class="cline-any cline-yes">19x</span>
488
+ <span class="cline-any cline-yes">19x</span>
489
+ <span class="cline-any cline-yes">19x</span>
490
+ <span class="cline-any cline-yes">19x</span>
491
+ <span class="cline-any cline-yes">338x</span>
430
492
  <span class="cline-any cline-yes">1x</span>
431
493
  <span class="cline-any cline-yes">1x</span>
432
494
  <span class="cline-any cline-yes">1x</span>
@@ -438,7 +500,11 @@
438
500
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { DyE2E_TestExpectation_Type } from '../../contracts/_enums/test-expectation-type.enum';
439
501
  import { DyE2E_FieldTestCase_DataModel } from '../../contracts/_models/data-models/field-test-case.data-model';
440
502
  import { DyE2E_TestId_Util } from '../../contracts/_collections/utils/test-id.util';
441
- import { DyE2E_FieldSettings_Shape, DyE2E_FormSettings_Shape } from '../_models/form-settings-shape.interface';
503
+ import {
504
+ DyE2E_FieldSettings_Shape,
505
+ DyE2E_FormSettings_Shape,
506
+ DyE2E_InvalidSignal_Type,
507
+ } from '../_models/form-settings-shape.interface';
442
508
  import { DyE2E_SpecEmission_Util } from './spec-emission.util';
443
509
  &nbsp;
444
510
  /**
@@ -463,7 +529,7 @@ export class DyE2E_FieldEmission_Util {
463
529
  ): string {
464
530
  const fieldTestId: string = field.testId ?? DyE2E_TestId_Util.field(form.key, field.key);
465
531
  const interaction: string = DyE2E_FieldEmission_Util.emitInteraction(field, testCase, fieldTestId);
466
- const assertion: string = DyE2E_FieldEmission_Util.emitAssertion(field, testCase, fieldTestId);
532
+ const assertion: string = DyE2E_FieldEmission_Util.emitAssertion(form, field, testCase, fieldTestId);
467
533
  const title: string = DyE2E_FieldEmission_Util.testCaseTitle(field, testCase);
468
534
  &nbsp;
469
535
  return `test('${DyE2E_SpecEmission_Util.escapeString(title)}', async ({ page }): Promise&lt;void&gt; =&gt; {
@@ -478,7 +544,7 @@ ${DyE2E_SpecEmission_Util.indent(assertion, 1)}
478
544
  ): string {
479
545
  const exp: string =
480
546
  testCase.expectation === DyE2E_TestExpectation_Type.valid ? 'valid' :
481
- testCase.expectation === DyE2E_TestExpectation_Type.invalid ? `invalid:${testCase.expectedErrorKey<span class="branch-0 cbranch-no" title="branch not covered" > ?? '?'}</span>` :
547
+ testCase.expectation === DyE2E_TestExpectation_Type.invalid ? `invalid:${testCase.expectedErrorKey ?? '?'}` :
482
548
  testCase.expectation === DyE2E_TestExpectation_Type.transformed ? 'transformed' :
483
549
  'skip';
484
550
  return `field[${field.key}] ${testCase.id} → ${exp} — ${testCase.description}`;
@@ -588,9 +654,21 @@ await editor.blur();`;
588
654
  await input.fill(${typeof testCase.inputValue === 'string' ? valueLit <span class="branch-0 cbranch-no" title="branch not covered" >: `String(${valueLit} ?? '')`}</span>);
589
655
  await input.blur();`;
590
656
  }
657
+ &nbsp;
658
+ /**
659
+ * Az INVALID-eset assertion-jelének feloldása (MASTERPROMPTER-004): field-szintű felülírja a
660
+ * form-szintűt; egyik sincs → `field-error` (flotta-kompatibilis default, a LOGIN-suite nem törik).
661
+ */
662
+ private static resolveInvalidSignal(
663
+ form: DyE2E_FormSettings_Shape,
664
+ field: DyE2E_FieldSettings_Shape,
665
+ ): DyE2E_InvalidSignal_Type {
666
+ return field.invalidSignal ?? form.invalidSignal ?? 'field-error';
667
+ }
591
668
  &nbsp;
592
669
  /** A vart kimenet ellenorzese. */
593
670
  private static emitAssertion&lt;T&gt;(
671
+ form: DyE2E_FormSettings_Shape,
594
672
  field: DyE2E_FieldSettings_Shape,
595
673
  testCase: DyE2E_FieldTestCase_DataModel&lt;T&gt;,
596
674
  fieldTestId: string,
@@ -604,13 +682,28 @@ await input.blur();`;
604
682
  await expect(fieldRoot.locator('.text-red-400.mt-1')).toHaveCount(0, { timeout: 10_000 });`;
605
683
  }
606
684
  if (testCase.expectation === DyE2E_TestExpectation_Type.invalid) {
607
- // Red-border + first-error-message.
685
+ const signal: DyE2E_InvalidSignal_Type = DyE2E_FieldEmission_Util.resolveInvalidSignal(form, field);
686
+ const errKeyComment: string = testCase.expectedErrorKey
687
+ ? `\n// expectedErrorKey: ${testCase.expectedErrorKey}`
688
+ : '';
689
+ &nbsp;
690
+ // submit-disabled: a mező-error nem feltétlen renderelt, de a form nem submittelhető.
691
+ if (signal === 'submit-disabled') {
692
+ const submitTestId: string = form.submitTestId ?? DyE2E_TestId_Util.formSubmit(form.key);
693
+ return `const submitBtn: Locator = page.getByTestId('${submitTestId}');
694
+ await expect(submitBtn).toBeDisabled();${errKeyComment}`;
695
+ }
696
+ &nbsp;
697
+ // form-error-panel: form-szintű error-panel látszik (dedikált testId).
698
+ if (signal === 'form-error-panel') {
699
+ const formErrorTestId: string = (form.formErrorTestId as string | undefined) ?? DyE2E_TestId_Util.formError(form.key);
700
+ return `const formError: Locator = page.getByTestId('${formErrorTestId}');
701
+ await expect(formError).toBeVisible();${errKeyComment}`;
702
+ }
703
+ &nbsp;
704
+ // field-error (DEFAULT): red-border + first-error-message a mező alatt.
608
705
  return `const fieldRoot: Locator = page.locator('[data-testid="${fieldTestId}"]').locator('xpath=ancestor-or-self::*[starts-with(local-name(),"dynamo-")]').first();
609
- await expect(fieldRoot.locator('.text-red-400.mt-1').first()).toBeVisible();${
610
- testCase.expectedErrorKey
611
- ? `\n// expectedErrorKey: ${testCase.expectedErrorKey}`
612
- <span class="branch-0 cbranch-no" title="branch not covered" > : ''</span>
613
- }`;
706
+ await expect(fieldRoot.locator('.text-red-400.mt-1').first()).toBeVisible();${errKeyComment}`;
614
707
  }
615
708
  if (testCase.expectation === DyE2E_TestExpectation_Type.transformed) {
616
709
  const transformedLit: string = DyE2E_SpecEmission_Util.valueLiteral(testCase.expectedTransformedValue<span class="branch-0 cbranch-no" title="branch not covered" > ?? null)</span>;
@@ -628,7 +721,7 @@ expect(true).toBe(true);`;
628
721
  <div class='footer quiet pad2 space-top1 center small'>
629
722
  Code coverage generated by
630
723
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
631
- at 2026-07-07T12:33:08.290Z
724
+ at 2026-07-15T12:20:07.032Z
632
725
  </div>
633
726
  <script src="../../prettify.js"></script>
634
727
  <script>
@@ -211,7 +211,7 @@ ${requiredFieldCount &gt; 0
211
211
  <div class='footer quiet pad2 space-top1 center small'>
212
212
  Code coverage generated by
213
213
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
214
- at 2026-07-07T12:33:08.290Z
214
+ at 2026-07-15T12:20:07.032Z
215
215
  </div>
216
216
  <script src="../../prettify.js"></script>
217
217
  <script>