@futdevpro/dynamo-e2e 1.6.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +2 -2
  3. package/build/_modules/contracts/_collections/test-case-sets/field-type-registry.const.d.ts.map +1 -1
  4. package/build/_modules/contracts/_collections/test-case-sets/field-type-registry.const.js +7 -0
  5. package/build/_modules/contracts/_collections/test-case-sets/field-type-registry.const.js.map +1 -1
  6. package/build/_modules/cwv/_collections/inp-interaction-script.const.d.ts +32 -0
  7. package/build/_modules/cwv/_collections/inp-interaction-script.const.d.ts.map +1 -0
  8. package/build/_modules/cwv/_collections/inp-interaction-script.const.js +59 -0
  9. package/build/_modules/cwv/_collections/inp-interaction-script.const.js.map +1 -0
  10. package/build/_modules/cwv/index.d.ts +1 -0
  11. package/build/_modules/cwv/index.d.ts.map +1 -1
  12. package/build/_modules/cwv/index.js +1 -0
  13. package/build/_modules/cwv/index.js.map +1 -1
  14. package/build/_modules/cwv/inp-script.spec.d.ts +2 -0
  15. package/build/_modules/cwv/inp-script.spec.d.ts.map +1 -0
  16. package/build/_modules/cwv/inp-script.spec.js +35 -0
  17. package/build/_modules/cwv/inp-script.spec.js.map +1 -0
  18. package/build/_modules/generators/_collections/field-emission.util.d.ts.map +1 -1
  19. package/build/_modules/generators/_collections/field-emission.util.js +37 -0
  20. package/build/_modules/generators/_collections/field-emission.util.js.map +1 -1
  21. package/build/_modules/generators/form-suite.generator.spec.js +1 -1
  22. package/build/_modules/generators/form-suite.generator.spec.js.map +1 -1
  23. package/build/_modules/generators/wave-2b-emission.spec.d.ts +2 -0
  24. package/build/_modules/generators/wave-2b-emission.spec.d.ts.map +1 -0
  25. package/build/_modules/generators/wave-2b-emission.spec.js +115 -0
  26. package/build/_modules/generators/wave-2b-emission.spec.js.map +1 -0
  27. package/build/_modules/runtime/_services/wave-2b-page-objects.d.ts +51 -0
  28. package/build/_modules/runtime/_services/wave-2b-page-objects.d.ts.map +1 -0
  29. package/build/_modules/runtime/_services/wave-2b-page-objects.js +106 -0
  30. package/build/_modules/runtime/_services/wave-2b-page-objects.js.map +1 -0
  31. package/build/_modules/runtime/index.d.ts +1 -0
  32. package/build/_modules/runtime/index.d.ts.map +1 -1
  33. package/build/_modules/runtime/index.js +1 -0
  34. package/build/_modules/runtime/index.js.map +1 -1
  35. package/build/_modules/runtime/wave-2b-page-objects.spec.d.ts +2 -0
  36. package/build/_modules/runtime/wave-2b-page-objects.spec.d.ts.map +1 -0
  37. package/build/_modules/runtime/wave-2b-page-objects.spec.js +130 -0
  38. package/build/_modules/runtime/wave-2b-page-objects.spec.js.map +1 -0
  39. package/coverage/contracts/_collections/index.html +1 -1
  40. package/coverage/contracts/_collections/index.ts.html +1 -1
  41. package/coverage/contracts/_collections/utils/index.html +1 -1
  42. package/coverage/contracts/_collections/utils/test-id.util.ts.html +10 -10
  43. package/coverage/contracts/_enums/cwv-metric-type.enum.ts.html +1 -1
  44. package/coverage/contracts/_enums/field-test-case-type.enum.ts.html +1 -1
  45. package/coverage/contracts/_enums/index.html +1 -1
  46. package/coverage/contracts/_enums/index.ts.html +1 -1
  47. package/coverage/contracts/_enums/standard-viewport.enum.ts.html +1 -1
  48. package/coverage/contracts/_enums/test-expectation-type.enum.ts.html +1 -1
  49. package/coverage/contracts/_enums/test-run-mode-type.enum.ts.html +1 -1
  50. package/coverage/contracts/index.html +1 -1
  51. package/coverage/contracts/index.ts.html +1 -1
  52. package/coverage/cwv/_collections/cwv-aggregator.util.ts.html +1 -1
  53. package/coverage/cwv/_collections/cwv-emission.util.ts.html +1 -1
  54. package/coverage/cwv/_collections/index.html +20 -5
  55. package/coverage/cwv/_collections/inp-interaction-script.const.ts.html +304 -0
  56. package/coverage/cwv/_collections/web-vitals-page-script.const.ts.html +1 -1
  57. package/coverage/cwv/cwv-suite.generator.ts.html +1 -1
  58. package/coverage/cwv/index.html +1 -1
  59. package/coverage/generators/_collections/cli-runner.util.ts.html +1 -1
  60. package/coverage/generators/_collections/field-emission.util.ts.html +183 -57
  61. package/coverage/generators/_collections/form-level-emission.util.ts.html +27 -27
  62. package/coverage/generators/_collections/index.html +11 -11
  63. package/coverage/generators/_collections/spec-emission.util.ts.html +35 -35
  64. package/coverage/generators/_collections/test-case-filter.util.ts.html +39 -39
  65. package/coverage/generators/_collections/viewport-emission.util.ts.html +1 -1
  66. package/coverage/generators/form-suite.generator.ts.html +72 -72
  67. package/coverage/generators/index.html +1 -1
  68. package/coverage/generators/viewport-suite.generator.ts.html +1 -1
  69. package/coverage/index.html +32 -32
  70. package/coverage/lcov-report/contracts/_collections/index.html +1 -1
  71. package/coverage/lcov-report/contracts/_collections/index.ts.html +1 -1
  72. package/coverage/lcov-report/contracts/_collections/utils/index.html +1 -1
  73. package/coverage/lcov-report/contracts/_collections/utils/test-id.util.ts.html +10 -10
  74. package/coverage/lcov-report/contracts/_enums/cwv-metric-type.enum.ts.html +1 -1
  75. package/coverage/lcov-report/contracts/_enums/field-test-case-type.enum.ts.html +1 -1
  76. package/coverage/lcov-report/contracts/_enums/index.html +1 -1
  77. package/coverage/lcov-report/contracts/_enums/index.ts.html +1 -1
  78. package/coverage/lcov-report/contracts/_enums/standard-viewport.enum.ts.html +1 -1
  79. package/coverage/lcov-report/contracts/_enums/test-expectation-type.enum.ts.html +1 -1
  80. package/coverage/lcov-report/contracts/_enums/test-run-mode-type.enum.ts.html +1 -1
  81. package/coverage/lcov-report/contracts/index.html +1 -1
  82. package/coverage/lcov-report/contracts/index.ts.html +1 -1
  83. package/coverage/lcov-report/cwv/_collections/cwv-aggregator.util.ts.html +1 -1
  84. package/coverage/lcov-report/cwv/_collections/cwv-emission.util.ts.html +1 -1
  85. package/coverage/lcov-report/cwv/_collections/index.html +20 -5
  86. package/coverage/lcov-report/cwv/_collections/inp-interaction-script.const.ts.html +304 -0
  87. package/coverage/lcov-report/cwv/_collections/web-vitals-page-script.const.ts.html +1 -1
  88. package/coverage/lcov-report/cwv/cwv-suite.generator.ts.html +1 -1
  89. package/coverage/lcov-report/cwv/index.html +1 -1
  90. package/coverage/lcov-report/generators/_collections/cli-runner.util.ts.html +1 -1
  91. package/coverage/lcov-report/generators/_collections/field-emission.util.ts.html +183 -57
  92. package/coverage/lcov-report/generators/_collections/form-level-emission.util.ts.html +27 -27
  93. package/coverage/lcov-report/generators/_collections/index.html +11 -11
  94. package/coverage/lcov-report/generators/_collections/spec-emission.util.ts.html +35 -35
  95. package/coverage/lcov-report/generators/_collections/test-case-filter.util.ts.html +39 -39
  96. package/coverage/lcov-report/generators/_collections/viewport-emission.util.ts.html +1 -1
  97. package/coverage/lcov-report/generators/form-suite.generator.ts.html +72 -72
  98. package/coverage/lcov-report/generators/index.html +1 -1
  99. package/coverage/lcov-report/generators/viewport-suite.generator.ts.html +1 -1
  100. package/coverage/lcov-report/index.html +32 -32
  101. package/coverage/lcov-report/runtime/_collections/assertion-helpers.util.ts.html +1 -1
  102. package/coverage/lcov-report/runtime/_collections/index.html +1 -1
  103. package/coverage/lcov-report/runtime/_collections/unique-generator.util.ts.html +1 -1
  104. package/coverage/lcov-report/runtime/_collections/wait-helpers.util.ts.html +5 -5
  105. package/coverage/lcov-report/runtime/_services/dialog-page-object.ts.html +1 -1
  106. package/coverage/lcov-report/runtime/_services/field-page-object.ts.html +1 -1
  107. package/coverage/lcov-report/runtime/_services/form-page-object.ts.html +1 -1
  108. package/coverage/lcov-report/runtime/_services/index.html +24 -9
  109. package/coverage/lcov-report/runtime/_services/loader-page-object.ts.html +1 -1
  110. package/coverage/lcov-report/runtime/_services/logger.service.ts.html +1 -1
  111. package/coverage/lcov-report/runtime/_services/login-flow-helper.base.ts.html +1 -1
  112. package/coverage/lcov-report/runtime/_services/nav-page-object.ts.html +1 -1
  113. package/coverage/lcov-report/runtime/_services/toast-page-object.ts.html +1 -1
  114. package/coverage/lcov-report/runtime/_services/wave-2b-page-objects.ts.html +397 -0
  115. package/coverage/lcov-report/runtime/index.html +5 -5
  116. package/coverage/lcov-report/runtime/index.ts.html +7 -4
  117. package/coverage/lcov.info +665 -340
  118. package/coverage/runtime/_collections/assertion-helpers.util.ts.html +1 -1
  119. package/coverage/runtime/_collections/index.html +1 -1
  120. package/coverage/runtime/_collections/unique-generator.util.ts.html +1 -1
  121. package/coverage/runtime/_collections/wait-helpers.util.ts.html +5 -5
  122. package/coverage/runtime/_services/dialog-page-object.ts.html +1 -1
  123. package/coverage/runtime/_services/field-page-object.ts.html +1 -1
  124. package/coverage/runtime/_services/form-page-object.ts.html +1 -1
  125. package/coverage/runtime/_services/index.html +24 -9
  126. package/coverage/runtime/_services/loader-page-object.ts.html +1 -1
  127. package/coverage/runtime/_services/logger.service.ts.html +1 -1
  128. package/coverage/runtime/_services/login-flow-helper.base.ts.html +1 -1
  129. package/coverage/runtime/_services/nav-page-object.ts.html +1 -1
  130. package/coverage/runtime/_services/toast-page-object.ts.html +1 -1
  131. package/coverage/runtime/_services/wave-2b-page-objects.ts.html +397 -0
  132. package/coverage/runtime/index.html +5 -5
  133. package/coverage/runtime/index.ts.html +7 -4
  134. package/coverage/tmp/{coverage-215876-1781064798541-0.json → coverage-212504-1781069698881-0.json} +1 -1
  135. package/coverage/tmp/coverage-78800-1781069699908-0.json +1 -0
  136. package/package.json +1 -1
  137. package/coverage/tmp/coverage-223792-1781064800382-0.json +0 -1
@@ -190,7 +190,7 @@ export class DyE2E_AssertionHelpers_Util {
190
190
  <div class='footer quiet pad2 space-top1 center small'>
191
191
  Code coverage generated by
192
192
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
193
- at 2026-06-10T04:13:20.693Z
193
+ at 2026-06-10T05:35:00.162Z
194
194
  </div>
195
195
  <script src="../../prettify.js"></script>
196
196
  <script>
@@ -131,7 +131,7 @@
131
131
  <div class='footer quiet pad2 space-top1 center small'>
132
132
  Code coverage generated by
133
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134
- at 2026-06-10T04:13:20.693Z
134
+ at 2026-06-10T05:35:00.162Z
135
135
  </div>
136
136
  <script src="../../prettify.js"></script>
137
137
  <script>
@@ -241,7 +241,7 @@ export class DyE2E_UniqueGenerator_Util {
241
241
  <div class='footer quiet pad2 space-top1 center small'>
242
242
  Code coverage generated by
243
243
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
244
- at 2026-06-10T04:13:20.693Z
244
+ at 2026-06-10T05:35:00.162Z
245
245
  </div>
246
246
  <script src="../../prettify.js"></script>
247
247
  <script>
@@ -156,12 +156,12 @@
156
156
  <span class="cline-any cline-yes">1x</span>
157
157
  <span class="cline-any cline-yes">2x</span>
158
158
  <span class="cline-any cline-yes">2x</span>
159
- <span class="cline-any cline-yes">4x</span>
160
- <span class="cline-any cline-yes">4x</span>
159
+ <span class="cline-any cline-yes">5x</span>
160
+ <span class="cline-any cline-yes">5x</span>
161
161
  <span class="cline-any cline-yes">1x</span>
162
162
  <span class="cline-any cline-yes">1x</span>
163
- <span class="cline-any cline-yes">3x</span>
164
- <span class="cline-any cline-yes">3x</span>
163
+ <span class="cline-any cline-yes">4x</span>
164
+ <span class="cline-any cline-yes">4x</span>
165
165
  <span class="cline-any cline-yes">1x</span>
166
166
  <span class="cline-any cline-yes">1x</span>
167
167
  <span class="cline-any cline-yes">1x</span>
@@ -223,7 +223,7 @@ export class DyE2E_WaitHelpers_Util {
223
223
  <div class='footer quiet pad2 space-top1 center small'>
224
224
  Code coverage generated by
225
225
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
226
- at 2026-06-10T04:13:20.693Z
226
+ at 2026-06-10T05:35:00.162Z
227
227
  </div>
228
228
  <script src="../../prettify.js"></script>
229
229
  <script>
@@ -142,7 +142,7 @@ export class DyE2E_DialogPageObject {
142
142
  <div class='footer quiet pad2 space-top1 center small'>
143
143
  Code coverage generated by
144
144
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
145
- at 2026-06-10T04:13:20.693Z
145
+ at 2026-06-10T05:35:00.162Z
146
146
  </div>
147
147
  <script src="../../prettify.js"></script>
148
148
  <script>
@@ -238,7 +238,7 @@ export class DyE2E_FieldPageObject {
238
238
  <div class='footer quiet pad2 space-top1 center small'>
239
239
  Code coverage generated by
240
240
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
241
- at 2026-06-10T04:13:20.693Z
241
+ at 2026-06-10T05:35:00.162Z
242
242
  </div>
243
243
  <script src="../../prettify.js"></script>
244
244
  <script>
@@ -169,7 +169,7 @@ export class DyE2E_FormPageObject {
169
169
  <div class='footer quiet pad2 space-top1 center small'>
170
170
  Code coverage generated by
171
171
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
172
- at 2026-06-10T04:13:20.693Z
172
+ at 2026-06-10T05:35:00.162Z
173
173
  </div>
174
174
  <script src="../../prettify.js"></script>
175
175
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">99.42% </span>
26
+ <span class="strong">99.33% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>347/349</span>
28
+ <span class='fraction'>450/453</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">91.22% </span>
33
+ <span class="strong">89.02% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>52/57</span>
35
+ <span class='fraction'>73/82</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">95.83% </span>
40
+ <span class="strong">97.05% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>46/48</span>
42
+ <span class='fraction'>66/68</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">99.42% </span>
47
+ <span class="strong">99.33% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>347/349</span>
49
+ <span class='fraction'>450/453</span>
50
50
  </div>
51
51
 
52
52
 
@@ -198,6 +198,21 @@
198
198
  <td data-value="15" class="abs high">15/15</td>
199
199
  </tr>
200
200
 
201
+ <tr>
202
+ <td class="file high" data-value="wave-2b-page-objects.ts"><a href="wave-2b-page-objects.ts.html">wave-2b-page-objects.ts</a></td>
203
+ <td data-value="99.03" class="pic high">
204
+ <div class="chart"><div class="cover-fill" style="width: 99%"></div><div class="cover-empty" style="width: 1%"></div></div>
205
+ </td>
206
+ <td data-value="99.03" class="pct high">99.03%</td>
207
+ <td data-value="104" class="abs high">103/104</td>
208
+ <td data-value="84" class="pct high">84%</td>
209
+ <td data-value="25" class="abs high">21/25</td>
210
+ <td data-value="100" class="pct high">100%</td>
211
+ <td data-value="20" class="abs high">20/20</td>
212
+ <td data-value="99.03" class="pct high">99.03%</td>
213
+ <td data-value="104" class="abs high">103/104</td>
214
+ </tr>
215
+
201
216
  </tbody>
202
217
  </table>
203
218
  </div>
@@ -206,7 +221,7 @@
206
221
  <div class='footer quiet pad2 space-top1 center small'>
207
222
  Code coverage generated by
208
223
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
209
- at 2026-06-10T04:13:20.693Z
224
+ at 2026-06-10T05:35:00.162Z
210
225
  </div>
211
226
  <script src="../../prettify.js"></script>
212
227
  <script>
@@ -127,7 +127,7 @@ export class DyE2E_LoaderPageObject {
127
127
  <div class='footer quiet pad2 space-top1 center small'>
128
128
  Code coverage generated by
129
129
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
130
- at 2026-06-10T04:13:20.693Z
130
+ at 2026-06-10T05:35:00.162Z
131
131
  </div>
132
132
  <script src="../../prettify.js"></script>
133
133
  <script>
@@ -370,7 +370,7 @@ export class DyE2E_LoggerService {
370
370
  <div class='footer quiet pad2 space-top1 center small'>
371
371
  Code coverage generated by
372
372
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
373
- at 2026-06-10T04:13:20.693Z
373
+ at 2026-06-10T05:35:00.162Z
374
374
  </div>
375
375
  <script src="../../prettify.js"></script>
376
376
  <script>
@@ -316,7 +316,7 @@ export abstract class DyE2E_LoginFlowHelper_Base {
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-06-10T04:13:20.693Z
319
+ at 2026-06-10T05:35:00.162Z
320
320
  </div>
321
321
  <script src="../../prettify.js"></script>
322
322
  <script>
@@ -130,7 +130,7 @@ export class DyE2E_NavPageObject {
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-06-10T04:13:20.693Z
133
+ at 2026-06-10T05:35:00.162Z
134
134
  </div>
135
135
  <script src="../../prettify.js"></script>
136
136
  <script>
@@ -115,7 +115,7 @@ export class DyE2E_ToastPageObject {
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-06-10T04:13:20.693Z
118
+ at 2026-06-10T05:35:00.162Z
119
119
  </div>
120
120
  <script src="../../prettify.js"></script>
121
121
  <script>
@@ -0,0 +1,397 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for runtime/_services/wave-2b-page-objects.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">runtime/_services</a> wave-2b-page-objects.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">99.03% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>103/104</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">84% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>21/25</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>20/20</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">99.03% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>103/104</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
171
+ <span class="cline-any cline-yes">1x</span>
172
+ <span class="cline-any cline-yes">1x</span>
173
+ <span class="cline-any cline-yes">1x</span>
174
+ <span class="cline-any cline-yes">1x</span>
175
+ <span class="cline-any cline-yes">1x</span>
176
+ <span class="cline-any cline-yes">1x</span>
177
+ <span class="cline-any cline-yes">1x</span>
178
+ <span class="cline-any cline-yes">1x</span>
179
+ <span class="cline-any cline-yes">4x</span>
180
+ <span class="cline-any cline-yes">4x</span>
181
+ <span class="cline-any cline-yes">4x</span>
182
+ <span class="cline-any cline-yes">4x</span>
183
+ <span class="cline-any cline-yes">4x</span>
184
+ <span class="cline-any cline-yes">4x</span>
185
+ <span class="cline-any cline-yes">4x</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">4x</span>
190
+ <span class="cline-any cline-yes">4x</span>
191
+ <span class="cline-any cline-yes">4x</span>
192
+ <span class="cline-any cline-yes">3x</span>
193
+ <span class="cline-any cline-yes">3x</span>
194
+ <span class="cline-any cline-yes">3x</span>
195
+ <span class="cline-any cline-yes">3x</span>
196
+ <span class="cline-any cline-yes">3x</span>
197
+ <span class="cline-any cline-yes">4x</span>
198
+ <span class="cline-any cline-yes">1x</span>
199
+ <span class="cline-any cline-yes">1x</span>
200
+ <span class="cline-any cline-yes">2x</span>
201
+ <span class="cline-any cline-yes">2x</span>
202
+ <span class="cline-any cline-yes">2x</span>
203
+ <span class="cline-any cline-yes">2x</span>
204
+ <span class="cline-any cline-yes">2x</span>
205
+ <span class="cline-any cline-yes">2x</span>
206
+ <span class="cline-any cline-yes">2x</span>
207
+ <span class="cline-any cline-yes">1x</span>
208
+ <span class="cline-any cline-yes">1x</span>
209
+ <span class="cline-any cline-yes">1x</span>
210
+ <span class="cline-any cline-yes">1x</span>
211
+ <span class="cline-any cline-yes">1x</span>
212
+ <span class="cline-any cline-no">&nbsp;</span>
213
+ <span class="cline-any cline-yes">1x</span>
214
+ <span class="cline-any cline-yes">1x</span>
215
+ <span class="cline-any cline-yes">2x</span>
216
+ <span class="cline-any cline-yes">2x</span>
217
+ <span class="cline-any cline-yes">2x</span>
218
+ <span class="cline-any cline-yes">1x</span>
219
+ <span class="cline-any cline-yes">1x</span>
220
+ <span class="cline-any cline-yes">1x</span>
221
+ <span class="cline-any cline-yes">2x</span>
222
+ <span class="cline-any cline-yes">1x</span>
223
+ <span class="cline-any cline-yes">1x</span>
224
+ <span class="cline-any cline-yes">2x</span>
225
+ <span class="cline-any cline-yes">2x</span>
226
+ <span class="cline-any cline-yes">2x</span>
227
+ <span class="cline-any cline-yes">2x</span>
228
+ <span class="cline-any cline-yes">2x</span>
229
+ <span class="cline-any cline-yes">2x</span>
230
+ <span class="cline-any cline-yes">2x</span>
231
+ <span class="cline-any cline-yes">1x</span>
232
+ <span class="cline-any cline-yes">1x</span>
233
+ <span class="cline-any cline-yes">2x</span>
234
+ <span class="cline-any cline-yes">2x</span>
235
+ <span class="cline-any cline-yes">1x</span>
236
+ <span class="cline-any cline-yes">1x</span>
237
+ <span class="cline-any cline-yes">2x</span>
238
+ <span class="cline-any cline-yes">1x</span>
239
+ <span class="cline-any cline-yes">1x</span>
240
+ <span class="cline-any cline-yes">3x</span>
241
+ <span class="cline-any cline-yes">3x</span>
242
+ <span class="cline-any cline-yes">3x</span>
243
+ <span class="cline-any cline-yes">3x</span>
244
+ <span class="cline-any cline-yes">3x</span>
245
+ <span class="cline-any cline-yes">3x</span>
246
+ <span class="cline-any cline-yes">3x</span>
247
+ <span class="cline-any cline-yes">2x</span>
248
+ <span class="cline-any cline-yes">2x</span>
249
+ <span class="cline-any cline-yes">3x</span>
250
+ <span class="cline-any cline-yes">3x</span>
251
+ <span class="cline-any cline-yes">3x</span>
252
+ <span class="cline-any cline-yes">1x</span>
253
+ <span class="cline-any cline-yes">1x</span>
254
+ <span class="cline-any cline-yes">3x</span>
255
+ <span class="cline-any cline-yes">1x</span>
256
+ <span class="cline-any cline-yes">1x</span>
257
+ <span class="cline-any cline-yes">2x</span>
258
+ <span class="cline-any cline-yes">2x</span>
259
+ <span class="cline-any cline-yes">2x</span>
260
+ <span class="cline-any cline-yes">2x</span>
261
+ <span class="cline-any cline-yes">2x</span>
262
+ <span class="cline-any cline-yes">2x</span>
263
+ <span class="cline-any cline-yes">2x</span>
264
+ <span class="cline-any cline-yes">1x</span>
265
+ <span class="cline-any cline-yes">1x</span>
266
+ <span class="cline-any cline-yes">1x</span>
267
+ <span class="cline-any cline-yes">2x</span>
268
+ <span class="cline-any cline-yes">2x</span>
269
+ <span class="cline-any cline-yes">2x</span>
270
+ <span class="cline-any cline-yes">1x</span>
271
+ <span class="cline-any cline-yes">1x</span>
272
+ <span class="cline-any cline-yes">1x</span>
273
+ <span class="cline-any cline-yes">2x</span>
274
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type { Locator, Page } from '@playwright/test';
275
+ &nbsp;
276
+ /**
277
+ * Wave-2b page-objects — a generator emission-mintázatát ember-olvasható
278
+ * page-object API-vá emelik. Consumer-projekt használhatja direktül vagy
279
+ * a `dye2eTest` fixture-en át.
280
+ */
281
+ &nbsp;
282
+ export class DyE2E_ChipSelectPageObject {
283
+ constructor(
284
+ private readonly page: Page,
285
+ private readonly fieldTestId: string,
286
+ ) {}
287
+ &nbsp;
288
+ /** Egy chip click-re — option-value-szuffixel a testId-n. */
289
+ async clickChip(optionValue: string | number): Promise&lt;void&gt; {
290
+ const selector: string = `[data-testid="${this.fieldTestId}-${optionValue}"]`;
291
+ await this.page.locator(selector).first().click();
292
+ }
293
+ &nbsp;
294
+ /** Megnézi, hogy egy chip aktív-e (`.selected` vagy `[aria-selected="true"]`). */
295
+ async isSelected(optionValue: string | number): Promise&lt;boolean&gt; {
296
+ const locator: Locator = this.page.locator(`[data-testid="${this.fieldTestId}-${optionValue}"]`).first();
297
+ const cls: string = (await locator.getAttribute('class'))<span class="branch-0 cbranch-no" title="branch not covered" > ?? '';</span>
298
+ const aria: string = (await locator.getAttribute('aria-selected'))<span class="branch-0 cbranch-no" title="branch not covered" > ?? '';</span>
299
+ return cls.includes('selected') || aria === 'true';
300
+ }
301
+ }
302
+ &nbsp;
303
+ export class DyE2E_AutocompletePageObject {
304
+ constructor(
305
+ private readonly page: Page,
306
+ private readonly fieldTestId: string,
307
+ ) {}
308
+ &nbsp;
309
+ /** Input fill + suggestion-list várás. */
310
+ async fillAndSuggest(value: string, suggestionsTimeoutMs: number = 2_000): Promise&lt;void&gt; {
311
+ await this.page.getByTestId(this.fieldTestId).fill(value);
312
+ // A suggestion-list selector consumer-szintű override-igényes
313
+ // (default: a fieldTestId + '-suggestions'); Wave-3 page-object spec.
314
+ const suggestions: Locator = this.page.locator(`[data-testid="${this.fieldTestId}-suggestions"]`).first();
315
+ await suggestions.waitFor({ state: 'visible', timeout: suggestionsTimeoutMs }).catch((): void =&gt; {
316
+ <span class="cstat-no" title="statement not covered" > /* nincs suggestion-list — empty input vagy non-matching */</span>
317
+ });
318
+ }
319
+ &nbsp;
320
+ /** Egy suggestion click-re — index-szel. */
321
+ async selectSuggestion(index: number): Promise&lt;void&gt; {
322
+ const selector: string = `[data-testid="${this.fieldTestId}-suggestion-${index}"]`;
323
+ await this.page.locator(selector).first().click();
324
+ }
325
+ }
326
+ &nbsp;
327
+ export class DyE2E_ColorPickerPageObject {
328
+ constructor(
329
+ private readonly page: Page,
330
+ private readonly fieldTestId: string,
331
+ ) {}
332
+ &nbsp;
333
+ /** Hex-value fill (pl. '#ff00aa'). */
334
+ async setColor(hexValue: string): Promise&lt;void&gt; {
335
+ await this.page.getByTestId(this.fieldTestId).fill(hexValue);
336
+ }
337
+ &nbsp;
338
+ async getCurrentColor(): Promise&lt;string&gt; {
339
+ return (await this.page.getByTestId(this.fieldTestId).inputValue())<span class="branch-0 cbranch-no" title="branch not covered" > ?? '';</span>
340
+ }
341
+ }
342
+ &nbsp;
343
+ export class DyE2E_FilePageObject {
344
+ constructor(
345
+ private readonly page: Page,
346
+ private readonly fieldTestId: string,
347
+ ) {}
348
+ &nbsp;
349
+ /** Egy vagy több fájl upload Playwright `setInputFiles`-szel. */
350
+ async upload(filePaths: string | string[]): Promise&lt;void&gt; {
351
+ await this.page.getByTestId(this.fieldTestId).setInputFiles(filePaths);
352
+ }
353
+ &nbsp;
354
+ /** Egy file-input clear (üres fájl-array). */
355
+ async clear(): Promise&lt;void&gt; {
356
+ await this.page.getByTestId(this.fieldTestId).setInputFiles([]);
357
+ }
358
+ }
359
+ &nbsp;
360
+ export class DyE2E_RichTextPageObject {
361
+ constructor(
362
+ private readonly page: Page,
363
+ private readonly fieldTestId: string,
364
+ ) {}
365
+ &nbsp;
366
+ /** Contenteditable scope-on belüli fill (Wave-2 base). */
367
+ async fill(text: string): Promise&lt;void&gt; {
368
+ const editor: Locator = this.page.locator(`[data-testid="${this.fieldTestId}"] [contenteditable="true"]`).first();
369
+ await editor.fill(text);
370
+ }
371
+ &nbsp;
372
+ /** Pure-text content read. */
373
+ async textContent(): Promise&lt;string&gt; {
374
+ const editor: Locator = this.page.locator(`[data-testid="${this.fieldTestId}"] [contenteditable="true"]`).first();
375
+ return (await editor.textContent())<span class="branch-0 cbranch-no" title="branch not covered" > ?? '';</span>
376
+ }
377
+ }
378
+ &nbsp;</pre></td></tr></table></pre>
379
+
380
+ <div class='push'></div><!-- for sticky footer -->
381
+ </div><!-- /wrapper -->
382
+ <div class='footer quiet pad2 space-top1 center small'>
383
+ Code coverage generated by
384
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
385
+ at 2026-06-10T05:35:00.162Z
386
+ </div>
387
+ <script src="../../prettify.js"></script>
388
+ <script>
389
+ window.onload = function () {
390
+ prettyPrint();
391
+ };
392
+ </script>
393
+ <script src="../../sorter.js"></script>
394
+ <script src="../../block-navigation.js"></script>
395
+ </body>
396
+ </html>
397
+