@futdevpro/dynamo-e2e 1.10.0 → 1.11.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 (126) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +2 -2
  3. package/bin/dye2e.js +25 -0
  4. package/build/_modules/cwv/_collections/cwv-comparison.util.d.ts +48 -0
  5. package/build/_modules/cwv/_collections/cwv-comparison.util.d.ts.map +1 -0
  6. package/build/_modules/cwv/_collections/cwv-comparison.util.js +59 -0
  7. package/build/_modules/cwv/_collections/cwv-comparison.util.js.map +1 -0
  8. package/build/_modules/cwv/cwv-comparison.spec.d.ts +2 -0
  9. package/build/_modules/cwv/cwv-comparison.spec.d.ts.map +1 -0
  10. package/build/_modules/cwv/cwv-comparison.spec.js +77 -0
  11. package/build/_modules/cwv/cwv-comparison.spec.js.map +1 -0
  12. package/build/_modules/cwv/index.d.ts +1 -0
  13. package/build/_modules/cwv/index.d.ts.map +1 -1
  14. package/build/_modules/cwv/index.js +1 -0
  15. package/build/_modules/cwv/index.js.map +1 -1
  16. package/build/_modules/generators/_collections/cli-runner.util.d.ts +5 -0
  17. package/build/_modules/generators/_collections/cli-runner.util.d.ts.map +1 -1
  18. package/build/_modules/generators/_collections/cli-runner.util.js +66 -0
  19. package/build/_modules/generators/_collections/cli-runner.util.js.map +1 -1
  20. package/build/_modules/generators/bootstrap.spec.d.ts +2 -0
  21. package/build/_modules/generators/bootstrap.spec.d.ts.map +1 -0
  22. package/build/_modules/generators/bootstrap.spec.js +38 -0
  23. package/build/_modules/generators/bootstrap.spec.js.map +1 -0
  24. package/coverage/contracts/_collections/index.html +1 -1
  25. package/coverage/contracts/_collections/index.ts.html +1 -1
  26. package/coverage/contracts/_collections/utils/index.html +1 -1
  27. package/coverage/contracts/_collections/utils/test-id.util.ts.html +1 -1
  28. package/coverage/contracts/_enums/cwv-metric-type.enum.ts.html +1 -1
  29. package/coverage/contracts/_enums/field-test-case-type.enum.ts.html +1 -1
  30. package/coverage/contracts/_enums/index.html +1 -1
  31. package/coverage/contracts/_enums/index.ts.html +1 -1
  32. package/coverage/contracts/_enums/standard-viewport.enum.ts.html +1 -1
  33. package/coverage/contracts/_enums/test-expectation-type.enum.ts.html +1 -1
  34. package/coverage/contracts/_enums/test-run-mode-type.enum.ts.html +1 -1
  35. package/coverage/contracts/index.html +1 -1
  36. package/coverage/contracts/index.ts.html +1 -1
  37. package/coverage/cwv/_collections/cwv-aggregator.util.ts.html +1 -1
  38. package/coverage/cwv/_collections/cwv-comparison.util.ts.html +355 -0
  39. package/coverage/cwv/_collections/cwv-diagnose.util.ts.html +1 -1
  40. package/coverage/cwv/_collections/cwv-emission.util.ts.html +1 -1
  41. package/coverage/cwv/_collections/index.html +23 -8
  42. package/coverage/cwv/_collections/inp-interaction-script.const.ts.html +1 -1
  43. package/coverage/cwv/_collections/web-vitals-page-script.const.ts.html +1 -1
  44. package/coverage/cwv/cwv-suite.generator.ts.html +1 -1
  45. package/coverage/cwv/index.html +1 -1
  46. package/coverage/generators/_collections/cli-runner.util.ts.html +240 -39
  47. package/coverage/generators/_collections/field-emission.util.ts.html +1 -1
  48. package/coverage/generators/_collections/form-level-emission.util.ts.html +1 -1
  49. package/coverage/generators/_collections/index.html +13 -13
  50. package/coverage/generators/_collections/spec-emission.util.ts.html +1 -1
  51. package/coverage/generators/_collections/test-case-filter.util.ts.html +1 -1
  52. package/coverage/generators/_collections/viewport-emission.util.ts.html +1 -1
  53. package/coverage/generators/form-suite.generator.ts.html +1 -1
  54. package/coverage/generators/index.html +1 -1
  55. package/coverage/generators/viewport-suite.generator.ts.html +1 -1
  56. package/coverage/index.html +26 -26
  57. package/coverage/lcov-report/contracts/_collections/index.html +1 -1
  58. package/coverage/lcov-report/contracts/_collections/index.ts.html +1 -1
  59. package/coverage/lcov-report/contracts/_collections/utils/index.html +1 -1
  60. package/coverage/lcov-report/contracts/_collections/utils/test-id.util.ts.html +1 -1
  61. package/coverage/lcov-report/contracts/_enums/cwv-metric-type.enum.ts.html +1 -1
  62. package/coverage/lcov-report/contracts/_enums/field-test-case-type.enum.ts.html +1 -1
  63. package/coverage/lcov-report/contracts/_enums/index.html +1 -1
  64. package/coverage/lcov-report/contracts/_enums/index.ts.html +1 -1
  65. package/coverage/lcov-report/contracts/_enums/standard-viewport.enum.ts.html +1 -1
  66. package/coverage/lcov-report/contracts/_enums/test-expectation-type.enum.ts.html +1 -1
  67. package/coverage/lcov-report/contracts/_enums/test-run-mode-type.enum.ts.html +1 -1
  68. package/coverage/lcov-report/contracts/index.html +1 -1
  69. package/coverage/lcov-report/contracts/index.ts.html +1 -1
  70. package/coverage/lcov-report/cwv/_collections/cwv-aggregator.util.ts.html +1 -1
  71. package/coverage/lcov-report/cwv/_collections/cwv-comparison.util.ts.html +355 -0
  72. package/coverage/lcov-report/cwv/_collections/cwv-diagnose.util.ts.html +1 -1
  73. package/coverage/lcov-report/cwv/_collections/cwv-emission.util.ts.html +1 -1
  74. package/coverage/lcov-report/cwv/_collections/index.html +23 -8
  75. package/coverage/lcov-report/cwv/_collections/inp-interaction-script.const.ts.html +1 -1
  76. package/coverage/lcov-report/cwv/_collections/web-vitals-page-script.const.ts.html +1 -1
  77. package/coverage/lcov-report/cwv/cwv-suite.generator.ts.html +1 -1
  78. package/coverage/lcov-report/cwv/index.html +1 -1
  79. package/coverage/lcov-report/generators/_collections/cli-runner.util.ts.html +240 -39
  80. package/coverage/lcov-report/generators/_collections/field-emission.util.ts.html +1 -1
  81. package/coverage/lcov-report/generators/_collections/form-level-emission.util.ts.html +1 -1
  82. package/coverage/lcov-report/generators/_collections/index.html +13 -13
  83. package/coverage/lcov-report/generators/_collections/spec-emission.util.ts.html +1 -1
  84. package/coverage/lcov-report/generators/_collections/test-case-filter.util.ts.html +1 -1
  85. package/coverage/lcov-report/generators/_collections/viewport-emission.util.ts.html +1 -1
  86. package/coverage/lcov-report/generators/form-suite.generator.ts.html +1 -1
  87. package/coverage/lcov-report/generators/index.html +1 -1
  88. package/coverage/lcov-report/generators/viewport-suite.generator.ts.html +1 -1
  89. package/coverage/lcov-report/index.html +26 -26
  90. package/coverage/lcov-report/runtime/_collections/assertion-helpers.util.ts.html +1 -1
  91. package/coverage/lcov-report/runtime/_collections/index.html +1 -1
  92. package/coverage/lcov-report/runtime/_collections/unique-generator.util.ts.html +1 -1
  93. package/coverage/lcov-report/runtime/_collections/wait-helpers.util.ts.html +1 -1
  94. package/coverage/lcov-report/runtime/_services/dialog-page-object.ts.html +1 -1
  95. package/coverage/lcov-report/runtime/_services/field-page-object.ts.html +1 -1
  96. package/coverage/lcov-report/runtime/_services/form-page-object.ts.html +1 -1
  97. package/coverage/lcov-report/runtime/_services/index.html +1 -1
  98. package/coverage/lcov-report/runtime/_services/loader-page-object.ts.html +1 -1
  99. package/coverage/lcov-report/runtime/_services/logger.service.ts.html +1 -1
  100. package/coverage/lcov-report/runtime/_services/login-flow-helper.base.ts.html +1 -1
  101. package/coverage/lcov-report/runtime/_services/nav-page-object.ts.html +1 -1
  102. package/coverage/lcov-report/runtime/_services/toast-page-object.ts.html +1 -1
  103. package/coverage/lcov-report/runtime/_services/wave-2b-page-objects.ts.html +1 -1
  104. package/coverage/lcov-report/runtime/index.html +1 -1
  105. package/coverage/lcov-report/runtime/index.ts.html +1 -1
  106. package/coverage/lcov.info +335 -136
  107. package/coverage/runtime/_collections/assertion-helpers.util.ts.html +1 -1
  108. package/coverage/runtime/_collections/index.html +1 -1
  109. package/coverage/runtime/_collections/unique-generator.util.ts.html +1 -1
  110. package/coverage/runtime/_collections/wait-helpers.util.ts.html +1 -1
  111. package/coverage/runtime/_services/dialog-page-object.ts.html +1 -1
  112. package/coverage/runtime/_services/field-page-object.ts.html +1 -1
  113. package/coverage/runtime/_services/form-page-object.ts.html +1 -1
  114. package/coverage/runtime/_services/index.html +1 -1
  115. package/coverage/runtime/_services/loader-page-object.ts.html +1 -1
  116. package/coverage/runtime/_services/logger.service.ts.html +1 -1
  117. package/coverage/runtime/_services/login-flow-helper.base.ts.html +1 -1
  118. package/coverage/runtime/_services/nav-page-object.ts.html +1 -1
  119. package/coverage/runtime/_services/toast-page-object.ts.html +1 -1
  120. package/coverage/runtime/_services/wave-2b-page-objects.ts.html +1 -1
  121. package/coverage/runtime/index.html +1 -1
  122. package/coverage/runtime/index.ts.html +1 -1
  123. package/coverage/tmp/coverage-221932-1781072712070-0.json +1 -0
  124. package/coverage/tmp/{coverage-224932-1781071393426-0.json → coverage-224696-1781072711012-0.json} +1 -1
  125. package/package.json +1 -1
  126. package/coverage/tmp/coverage-226960-1781071394780-0.json +0 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,24 @@
3
3
  Minden release a `dynamo-e2e-foundation` HYPERPLAN MP-N ütemezést követi.
4
4
  Verzióformátum: `MM.mm.p` (két-számjegyes major-minor, Dynamo-konvenció).
5
5
 
6
+ ## [01.11.0] — 2026-06-10
7
+
8
+ ### Added (CWV comparison + dye2e bootstrap)
9
+ - `DyE2E_CWVComparison_Util` (`cwv/_collections/cwv-comparison.util.ts`):
10
+ - `compareReports(old, new, tolerance?)` — két CWV JSON-report összevet,
11
+ p75 deltával, status: improved/regressed/stable
12
+ - `regressionsOnly()` — szűr csak a regressziókra
13
+ - `formatMarkdownTable()` — markdown-tablázat 🟢🔴⚪ icon-okkal
14
+ - **`dye2e bootstrap`** CLI parancs:
15
+ - `pwd` + `force` flag
16
+ - 5 fájl scaffold: `playwright.config.ts`, `e2e/generate.ts`,
17
+ `e2e/tests/.gitkeep`, `e2e/tests/generated/.gitkeep`, `e2e/README.md`
18
+ - `DyE2E_CliRunner_Util.bootstrapFiles()` testable factory
19
+
20
+ ### Test
21
+ - 198/0 Jasmine zöld (183 előbb + 10 CWV comparison + 5 bootstrap)
22
+ - Coverage: 98.32% / 86.28% / 97.45% / 98.32%
23
+
6
24
  ## [01.10.0] — 2026-06-10
7
25
 
8
26
  ### Added (Wave-3 attribution diagnose + `dye2e doctor` CLI)
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # @futdevpro/dynamo-e2e
2
2
 
3
3
  [![npm](https://img.shields.io/npm/v/@futdevpro/dynamo-e2e.svg?label=npm)](https://www.npmjs.com/package/@futdevpro/dynamo-e2e)
4
- [![coverage](https://img.shields.io/badge/coverage-98.2%25-brightgreen.svg)](./coverage/)
5
- [![specs](https://img.shields.io/badge/specs-183%2F0-brightgreen.svg)](./src/)
4
+ [![coverage](https://img.shields.io/badge/coverage-98.32%25-brightgreen.svg)](./coverage/)
5
+ [![specs](https://img.shields.io/badge/specs-198%2F0-brightgreen.svg)](./src/)
6
6
  [![hyperplan](https://img.shields.io/badge/hyperplan-109%2F112-brightgreen.svg)](./__documentations/plans/dynamo-e2e-foundation/HYPERPLAN.md)
7
7
 
8
8
  End-to-end testing engine for the Dynamo + FDP ecosystem.
package/bin/dye2e.js CHANGED
@@ -25,6 +25,31 @@ function main() {
25
25
  process.exit(0);
26
26
  }
27
27
 
28
+ if (parsed.command === 'bootstrap') {
29
+ const projectRoot = parsed.flags.pwd ? path.resolve(parsed.flags.pwd) : process.cwd();
30
+ const force = parsed.flags.force === 'true';
31
+ const files = DyE2E_CliRunner_Util.bootstrapFiles();
32
+ let written = 0;
33
+ let skipped = 0;
34
+ process.stdout.write('dye2e bootstrap — scaffolding into ' + projectRoot + '\n\n');
35
+ for (const [relPath, content] of Object.entries(files)) {
36
+ const absPath = path.resolve(projectRoot, relPath);
37
+ if (fs.existsSync(absPath) && !force) {
38
+ process.stdout.write(' [SKIP] ' + relPath + ' (exists)\n');
39
+ skipped++;
40
+ continue;
41
+ }
42
+ fs.mkdirSync(path.dirname(absPath), { recursive: true });
43
+ fs.writeFileSync(absPath, content, 'utf-8');
44
+ process.stdout.write(' [WRITE] ' + relPath + '\n');
45
+ written++;
46
+ }
47
+ process.stdout.write('\n done — ' + written + ' written, ' + skipped + ' skipped\n');
48
+ process.stdout.write('\n next: pnpm add -D @futdevpro/dynamo-e2e @playwright/test\n');
49
+ process.stdout.write(' then: node e2e/generate.ts && npx playwright test\n');
50
+ process.exit(0);
51
+ }
52
+
28
53
  if (parsed.command === 'doctor') {
29
54
  const projectRoot = parsed.flags.pwd ? path.resolve(parsed.flags.pwd) : process.cwd();
30
55
  const report = DyE2E_CliRunner_Util.doctorReport(projectRoot, fs);
@@ -0,0 +1,48 @@
1
+ import { DyE2E_CWVMetric_Type } from '../../contracts/_enums/cwv-metric-type.enum';
2
+ /**
3
+ * MP-05/Wave-3 — CWV report comparison util.
4
+ *
5
+ * Két JSON-report-ot összevet (régi vs új) és visszaadja a regressziókat.
6
+ * Tipikus use-case: nightly CICD vs előző-stable, vagy PR-build vs main.
7
+ */
8
+ export interface DyE2E_CWVComparison_Summary {
9
+ metric: DyE2E_CWVMetric_Type;
10
+ oldP75: number;
11
+ newP75: number;
12
+ /** Delta = newP75 − oldP75. Pozitív = romlás (LCP/CLS/INP/TTFB/FCP-nél). */
13
+ delta: number;
14
+ /** Százalékos változás. */
15
+ deltaPercent: number;
16
+ /** "improved" | "regressed" | "stable". */
17
+ status: 'improved' | 'regressed' | 'stable';
18
+ }
19
+ export interface DyE2E_CWVReport_Shape {
20
+ route?: string;
21
+ summary?: Record<string, {
22
+ p75?: number;
23
+ n?: number;
24
+ }>;
25
+ raw?: Array<{
26
+ metric?: string;
27
+ value?: number;
28
+ iter?: number;
29
+ }>;
30
+ [extra: string]: unknown;
31
+ }
32
+ export declare class DyE2E_CWVComparison_Util {
33
+ /** Delta-tűrés (% alatti változás "stable"-nek számít). Default 5%. */
34
+ static defaultStableTolerancePercent: number;
35
+ /**
36
+ * Összevet két CWV-JSON-report-ot.
37
+ *
38
+ * @param oldReport — előző (baseline) report
39
+ * @param newReport — új (current) report
40
+ * @param tolerance — % alatti változás "stable". Default `defaultStableTolerancePercent`.
41
+ */
42
+ static compareReports(oldReport: DyE2E_CWVReport_Shape, newReport: DyE2E_CWVReport_Shape, tolerance?: number): DyE2E_CWVComparison_Summary[];
43
+ /** Csak a regresszióknak a leírása (kiemelve). */
44
+ static regressionsOnly(comparisons: DyE2E_CWVComparison_Summary[]): DyE2E_CWVComparison_Summary[];
45
+ /** Ember-olvasható összegzés markdown-tablázatra. */
46
+ static formatMarkdownTable(comparisons: DyE2E_CWVComparison_Summary[]): string;
47
+ }
48
+ //# sourceMappingURL=cwv-comparison.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cwv-comparison.util.d.ts","sourceRoot":"","sources":["../../../../src/_modules/cwv/_collections/cwv-comparison.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAEnF;;;;;GAKG;AAEH,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,oBAAoB,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;CAC7C;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,GAAG,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,qBAAa,wBAAwB;IAEnC,uEAAuE;IACvE,MAAM,CAAC,6BAA6B,EAAE,MAAM,CAAK;IAEjD;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CACnB,SAAS,EAAE,qBAAqB,EAChC,SAAS,EAAE,qBAAqB,EAChC,SAAS,GAAE,MAA+D,GACzE,2BAA2B,EAAE;IA0BhC,kDAAkD;IAClD,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,2BAA2B,EAAE,GAAG,2BAA2B,EAAE;IAIjG,qDAAqD;IACrD,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,2BAA2B,EAAE,GAAG,MAAM;CAa/E"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyE2E_CWVComparison_Util = void 0;
4
+ const cwv_metric_type_enum_1 = require("../../contracts/_enums/cwv-metric-type.enum");
5
+ class DyE2E_CWVComparison_Util {
6
+ /** Delta-tűrés (% alatti változás "stable"-nek számít). Default 5%. */
7
+ static defaultStableTolerancePercent = 5;
8
+ /**
9
+ * Összevet két CWV-JSON-report-ot.
10
+ *
11
+ * @param oldReport — előző (baseline) report
12
+ * @param newReport — új (current) report
13
+ * @param tolerance — % alatti változás "stable". Default `defaultStableTolerancePercent`.
14
+ */
15
+ static compareReports(oldReport, newReport, tolerance = DyE2E_CWVComparison_Util.defaultStableTolerancePercent) {
16
+ const metrics = [
17
+ cwv_metric_type_enum_1.DyE2E_CWVMetric_Type.lcp,
18
+ cwv_metric_type_enum_1.DyE2E_CWVMetric_Type.cls,
19
+ cwv_metric_type_enum_1.DyE2E_CWVMetric_Type.inp,
20
+ cwv_metric_type_enum_1.DyE2E_CWVMetric_Type.ttfb,
21
+ cwv_metric_type_enum_1.DyE2E_CWVMetric_Type.fcp,
22
+ ];
23
+ const result = [];
24
+ for (const metric of metrics) {
25
+ const oldP75 = oldReport.summary?.[metric]?.p75 ?? NaN;
26
+ const newP75 = newReport.summary?.[metric]?.p75 ?? NaN;
27
+ if (!isFinite(oldP75) || !isFinite(newP75)) {
28
+ continue;
29
+ }
30
+ const delta = newP75 - oldP75;
31
+ const deltaPercent = oldP75 > 0 ? (delta / oldP75) * 100 : 0;
32
+ const status = Math.abs(deltaPercent) <= tolerance ? 'stable' :
33
+ delta < 0 ? 'improved' :
34
+ 'regressed';
35
+ result.push({ metric, oldP75, newP75, delta, deltaPercent, status });
36
+ }
37
+ return result;
38
+ }
39
+ /** Csak a regresszióknak a leírása (kiemelve). */
40
+ static regressionsOnly(comparisons) {
41
+ return comparisons.filter((c) => c.status === 'regressed');
42
+ }
43
+ /** Ember-olvasható összegzés markdown-tablázatra. */
44
+ static formatMarkdownTable(comparisons) {
45
+ if (comparisons.length === 0) {
46
+ return '_No comparable metrics._';
47
+ }
48
+ const header = '| Metric | Old p75 | New p75 | Delta | Δ% | Status |\n|---|---|---|---|---|---|';
49
+ const rows = comparisons.map((c) => {
50
+ const unit = c.metric === cwv_metric_type_enum_1.DyE2E_CWVMetric_Type.cls ? '' : 'ms';
51
+ const icon = c.status === 'improved' ? '🟢' :
52
+ c.status === 'regressed' ? '🔴' : '⚪';
53
+ return `| ${c.metric.toUpperCase()} | ${c.oldP75.toFixed(2)}${unit} | ${c.newP75.toFixed(2)}${unit} | ${c.delta.toFixed(2)}${unit} | ${c.deltaPercent.toFixed(1)}% | ${icon} ${c.status} |`;
54
+ });
55
+ return `${header}\n${rows.join('\n')}`;
56
+ }
57
+ }
58
+ exports.DyE2E_CWVComparison_Util = DyE2E_CWVComparison_Util;
59
+ //# sourceMappingURL=cwv-comparison.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cwv-comparison.util.js","sourceRoot":"","sources":["../../../../src/_modules/cwv/_collections/cwv-comparison.util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cwv-comparison.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cwv-comparison.spec.d.ts","sourceRoot":"","sources":["../../../src/_modules/cwv/cwv-comparison.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const cwv_metric_type_enum_1 = require("../contracts/_enums/cwv-metric-type.enum");
4
+ const cwv_comparison_util_1 = require("./_collections/cwv-comparison.util");
5
+ describe('| dynamo-e2e | CWV Comparison Util (Wave-3)', () => {
6
+ it('| ures report-ok → [] (nincs metric)', () => {
7
+ const result = cwv_comparison_util_1.DyE2E_CWVComparison_Util.compareReports({}, {});
8
+ expect(result.length).toBe(0);
9
+ });
10
+ it('| stable: ±5% alatti változás', () => {
11
+ const oldR = { summary: { lcp: { p75: 2000 } } };
12
+ const newR = { summary: { lcp: { p75: 2080 } } };
13
+ const result = cwv_comparison_util_1.DyE2E_CWVComparison_Util.compareReports(oldR, newR);
14
+ expect(result[0].status).toBe('stable');
15
+ });
16
+ it('| improved: >5% csökkenés', () => {
17
+ const oldR = { summary: { lcp: { p75: 2000 } } };
18
+ const newR = { summary: { lcp: { p75: 1500 } } };
19
+ const result = cwv_comparison_util_1.DyE2E_CWVComparison_Util.compareReports(oldR, newR);
20
+ expect(result[0].status).toBe('improved');
21
+ expect(result[0].delta).toBe(-500);
22
+ });
23
+ it('| regressed: >5% növekedés', () => {
24
+ const oldR = { summary: { lcp: { p75: 2000 } } };
25
+ const newR = { summary: { lcp: { p75: 3000 } } };
26
+ const result = cwv_comparison_util_1.DyE2E_CWVComparison_Util.compareReports(oldR, newR);
27
+ expect(result[0].status).toBe('regressed');
28
+ expect(result[0].deltaPercent).toBe(50);
29
+ });
30
+ it('| custom tolerance — 1% strict mode', () => {
31
+ const oldR = { summary: { lcp: { p75: 2000 } } };
32
+ const newR = { summary: { lcp: { p75: 2050 } } };
33
+ const result = cwv_comparison_util_1.DyE2E_CWVComparison_Util.compareReports(oldR, newR, 1);
34
+ expect(result[0].status).toBe('regressed');
35
+ });
36
+ it('| több metric egyszerre', () => {
37
+ const oldR = { summary: { lcp: { p75: 2000 }, cls: { p75: 0.05 }, inp: { p75: 150 } } };
38
+ const newR = { summary: { lcp: { p75: 2100 }, cls: { p75: 0.20 }, inp: { p75: 100 } } };
39
+ const result = cwv_comparison_util_1.DyE2E_CWVComparison_Util.compareReports(oldR, newR);
40
+ expect(result.length).toBe(3);
41
+ const lcp = result.find(r => r.metric === cwv_metric_type_enum_1.DyE2E_CWVMetric_Type.lcp);
42
+ const cls = result.find(r => r.metric === cwv_metric_type_enum_1.DyE2E_CWVMetric_Type.cls);
43
+ const inp = result.find(r => r.metric === cwv_metric_type_enum_1.DyE2E_CWVMetric_Type.inp);
44
+ expect(lcp?.status).toBe('stable');
45
+ expect(cls?.status).toBe('regressed');
46
+ expect(inp?.status).toBe('improved');
47
+ });
48
+ it('| regressionsOnly — szűr', () => {
49
+ const oldR = { summary: { lcp: { p75: 2000 }, cls: { p75: 0.05 } } };
50
+ const newR = { summary: { lcp: { p75: 3000 }, cls: { p75: 0.05 } } };
51
+ const result = cwv_comparison_util_1.DyE2E_CWVComparison_Util.compareReports(oldR, newR);
52
+ const regressions = cwv_comparison_util_1.DyE2E_CWVComparison_Util.regressionsOnly(result);
53
+ expect(regressions.length).toBe(1);
54
+ expect(regressions[0].metric).toBe(cwv_metric_type_enum_1.DyE2E_CWVMetric_Type.lcp);
55
+ });
56
+ it('| formatMarkdownTable — header + row markdown', () => {
57
+ const oldR = { summary: { lcp: { p75: 2000 } } };
58
+ const newR = { summary: { lcp: { p75: 3000 } } };
59
+ const result = cwv_comparison_util_1.DyE2E_CWVComparison_Util.compareReports(oldR, newR);
60
+ const md = cwv_comparison_util_1.DyE2E_CWVComparison_Util.formatMarkdownTable(result);
61
+ expect(md).toContain('| Metric | Old p75 | New p75 | Delta | Δ% | Status |');
62
+ expect(md).toContain('LCP');
63
+ expect(md).toContain('🔴');
64
+ expect(md).toContain('regressed');
65
+ });
66
+ it('| formatMarkdownTable — üres → "_No comparable metrics._"', () => {
67
+ const md = cwv_comparison_util_1.DyE2E_CWVComparison_Util.formatMarkdownTable([]);
68
+ expect(md).toBe('_No comparable metrics._');
69
+ });
70
+ it('| NaN p75 → metric kihagyva', () => {
71
+ const oldR = { summary: { lcp: { p75: 2000 }, cls: {} } };
72
+ const newR = { summary: { lcp: { p75: 2100 }, cls: { p75: 0.1 } } };
73
+ const result = cwv_comparison_util_1.DyE2E_CWVComparison_Util.compareReports(oldR, newR);
74
+ expect(result.length).toBe(1); // csak lcp, mert cls.oldP75 NaN
75
+ });
76
+ });
77
+ //# sourceMappingURL=cwv-comparison.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cwv-comparison.spec.js","sourceRoot":"","sources":["../../../src/_modules/cwv/cwv-comparison.spec.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * `@futdevpro/dynamo-e2e/cwv` — Core Web Vitals diagnostics (Wave-3).
3
3
  */
4
4
  export * from './_collections/cwv-aggregator.util';
5
+ export * from './_collections/cwv-comparison.util';
5
6
  export * from './_collections/cwv-diagnose.util';
6
7
  export * from './_collections/cwv-emission.util';
7
8
  export * from './_collections/inp-interaction-script.const';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/cwv/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AAEtC,eAAO,MAAM,iBAAiB,EAAE,MAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/cwv/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AAEtC,eAAO,MAAM,iBAAiB,EAAE,MAAuB,CAAC"}
@@ -19,6 +19,7 @@ exports.DYE2E_CWV_VERSION = void 0;
19
19
  * `@futdevpro/dynamo-e2e/cwv` — Core Web Vitals diagnostics (Wave-3).
20
20
  */
21
21
  __exportStar(require("./_collections/cwv-aggregator.util"), exports);
22
+ __exportStar(require("./_collections/cwv-comparison.util"), exports);
22
23
  __exportStar(require("./_collections/cwv-diagnose.util"), exports);
23
24
  __exportStar(require("./_collections/cwv-emission.util"), exports);
24
25
  __exportStar(require("./_collections/inp-interaction-script.const"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/cwv/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,qEAAmD;AACnD,mEAAiD;AACjD,mEAAiD;AACjD,8EAA4D;AAC5D,8EAA4D;AAC5D,kDAAgC;AAChC,wDAAsC;AAEzB,QAAA,iBAAiB,GAAW,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/cwv/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,qEAAmD;AACnD,qEAAmD;AACnD,mEAAiD;AACjD,mEAAiD;AACjD,8EAA4D;AAC5D,8EAA4D;AAC5D,kDAAgC;AAChC,wDAAsC;AAEzB,QAAA,iBAAiB,GAAW,cAAc,CAAC"}
@@ -10,6 +10,11 @@ export declare class DyE2E_CliRunner_Util {
10
10
  flags: Record<string, string>;
11
11
  };
12
12
  static helpText(): string;
13
+ /**
14
+ * Bootstrap scaffold — visszaadja a generálandó fájlok mappáját
15
+ * ({ path → content }), a CLI ezeket beírja.
16
+ */
17
+ static bootstrapFiles(): Record<string, string>;
13
18
  /**
14
19
  * Doctor parancs — projekt-config-validáció.
15
20
  *
@@ -1 +1 @@
1
- {"version":3,"file":"cli-runner.util.d.ts","sourceRoot":"","sources":["../../../../src/_modules/generators/_collections/cli-runner.util.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,qBAAa,oBAAoB;IAE/B,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;IAsBpF,MAAM,CAAC,QAAQ,IAAI,MAAM;IAkCzB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE;QAAE,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;QAAC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;KAAE,GAAG;QAC9H,YAAY,EAAE,OAAO,CAAC;QACtB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,mBAAmB,EAAE,OAAO,CAAC;QAC7B,SAAS,EAAE,OAAO,CAAC;QACnB,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB;IA2CD,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAI3C;;;OAGG;IACH,MAAM,CAAC,WAAW,CAChB,OAAO,EAAE,qBAAqB,GAAG,yBAAyB,GAAG,mBAAmB,EAChF,UAAU,EAAE,MAAM,GACjB,MAAM;CAaV"}
1
+ {"version":3,"file":"cli-runner.util.d.ts","sourceRoot":"","sources":["../../../../src/_modules/generators/_collections/cli-runner.util.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,qBAAa,oBAAoB;IAE/B,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;IAsBpF,MAAM,CAAC,QAAQ,IAAI,MAAM;IAuCzB;;;OAGG;IACH,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IA0D/C;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE;QAAE,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;QAAC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;KAAE,GAAG;QAC9H,YAAY,EAAE,OAAO,CAAC;QACtB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,mBAAmB,EAAE,OAAO,CAAC;QAC7B,SAAS,EAAE,OAAO,CAAC;QACnB,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB;IA2CD,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAI3C;;;OAGG;IACH,MAAM,CAAC,WAAW,CAChB,OAAO,EAAE,qBAAqB,GAAG,yBAAyB,GAAG,mBAAmB,EAChF,UAAU,EAAE,MAAM,GACjB,MAAM;CAaV"}
@@ -44,6 +44,7 @@ Commands:
44
44
  generate-viewport-audit Route-list → 7 viewport × theme spec.ts
45
45
  generate-cwv-diag Route-list → CWV synthetic measurement spec.ts
46
46
  doctor Diagnose project config (config-files, deps, conventions)
47
+ bootstrap Scaffold playwright.config.ts + e2e/ + generate.ts
47
48
  version Print package version
48
49
  help This message
49
50
 
@@ -64,8 +65,73 @@ Flags (generate-cwv-diag):
64
65
 
65
66
  Flags (doctor):
66
67
  --pwd <path> Project root (default: cwd)
68
+
69
+ Flags (bootstrap):
70
+ --pwd <path> Project root (default: cwd)
71
+ --force Overwrite existing files
67
72
  `;
68
73
  }
74
+ /**
75
+ * Bootstrap scaffold — visszaadja a generálandó fájlok mappáját
76
+ * ({ path → content }), a CLI ezeket beírja.
77
+ */
78
+ static bootstrapFiles() {
79
+ return {
80
+ 'playwright.config.ts': `import { defineConfig, devices } from '@playwright/test';
81
+
82
+ export default defineConfig({
83
+ testDir: './e2e/tests',
84
+ fullyParallel: true,
85
+ retries: 0,
86
+ reporter: [['html'], ['list']],
87
+ use: {
88
+ baseURL: process.env.E2E_BASE_URL || 'http://localhost:4200',
89
+ ignoreHTTPSErrors: process.env.E2E_IGNORE_HTTPS_ERRORS === '1',
90
+ trace: 'retain-on-failure',
91
+ },
92
+ projects: [{ name: 'chromium', use: { ...devices['Desktop Chrome'] } }],
93
+ });
94
+ `,
95
+ 'e2e/generate.ts': `import { DyE2E_FormSuite_Generator } from '@futdevpro/dynamo-e2e/generators';
96
+ import * as fs from 'fs';
97
+ import * as path from 'path';
98
+
99
+ const OUT_DIR: string = path.join(__dirname, 'tests/generated');
100
+ fs.mkdirSync(OUT_DIR, { recursive: true });
101
+
102
+ // Példa: 1 mintaform — bővítsd a saját Settings POJO-iddal
103
+ const exampleConfig = {
104
+ formSettings: {
105
+ key: 'login',
106
+ fields: [
107
+ { key: 'email', type: 'text', required: true, maxLength: 254 },
108
+ { key: 'password', type: 'password', required: true, minLength: 8 },
109
+ ],
110
+ },
111
+ formRoute: '/login',
112
+ formSelector: 'dynamo-form-new',
113
+ };
114
+
115
+ const spec = DyE2E_FormSuite_Generator.emit(exampleConfig);
116
+ fs.writeFileSync(path.join(OUT_DIR, 'login.spec.ts'), spec);
117
+ console.log('[generate] wrote', fs.readdirSync(OUT_DIR).length, 'spec files');
118
+ `,
119
+ 'e2e/tests/.gitkeep': '',
120
+ 'e2e/tests/generated/.gitkeep': '',
121
+ 'e2e/README.md': `# E2E tests (dynamo-e2e)
122
+
123
+ \`\`\`bash
124
+ # Generate
125
+ node e2e/generate.ts
126
+
127
+ # Run
128
+ npx playwright test
129
+ \`\`\`
130
+
131
+ See: https://github.com/futdevpro/dynamo-e2e/blob/master/__documentations/getting-started.md
132
+ `,
133
+ };
134
+ }
69
135
  /**
70
136
  * Doctor parancs — projekt-config-validáció.
71
137
  *
@@ -1 +1 @@
1
- {"version":3,"file":"cli-runner.util.js","sourceRoot":"","sources":["../../../../src/_modules/generators/_collections/cli-runner.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-runner.util.js","sourceRoot":"","sources":["../../../../src/_modules/generators/_collections/cli-runner.util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=bootstrap.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.spec.d.ts","sourceRoot":"","sources":["../../../src/_modules/generators/bootstrap.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const cli_runner_util_1 = require("./_collections/cli-runner.util");
4
+ describe('| dynamo-e2e | CLI bootstrap', () => {
5
+ it('| bootstrapFiles — visszaad 5 fájlt', () => {
6
+ const files = cli_runner_util_1.DyE2E_CliRunner_Util.bootstrapFiles();
7
+ expect(Object.keys(files).length).toBeGreaterThanOrEqual(5);
8
+ expect(files['playwright.config.ts']).toBeDefined();
9
+ expect(files['e2e/generate.ts']).toBeDefined();
10
+ expect(files['e2e/README.md']).toBeDefined();
11
+ });
12
+ it('| playwright.config.ts — defineConfig + testDir + baseURL', () => {
13
+ const files = cli_runner_util_1.DyE2E_CliRunner_Util.bootstrapFiles();
14
+ const cfg = files['playwright.config.ts'];
15
+ expect(cfg).toContain('defineConfig');
16
+ expect(cfg).toContain('./e2e/tests');
17
+ expect(cfg).toContain('E2E_BASE_URL');
18
+ expect(cfg).toContain('chromium');
19
+ });
20
+ it('| e2e/generate.ts — DyE2E_FormSuite_Generator import + emit', () => {
21
+ const files = cli_runner_util_1.DyE2E_CliRunner_Util.bootstrapFiles();
22
+ const gen = files['e2e/generate.ts'];
23
+ expect(gen).toContain(`@futdevpro/dynamo-e2e/generators`);
24
+ expect(gen).toContain('DyE2E_FormSuite_Generator');
25
+ expect(gen).toContain('.emit(');
26
+ });
27
+ it('| .gitkeep files a directory-creation-höz', () => {
28
+ const files = cli_runner_util_1.DyE2E_CliRunner_Util.bootstrapFiles();
29
+ expect(files['e2e/tests/.gitkeep']).toBeDefined();
30
+ expect(files['e2e/tests/generated/.gitkeep']).toBeDefined();
31
+ });
32
+ it('| helpText "bootstrap" parancsot megemlít', () => {
33
+ const help = cli_runner_util_1.DyE2E_CliRunner_Util.helpText();
34
+ expect(help).toContain('bootstrap');
35
+ expect(help).toContain('--force');
36
+ });
37
+ });
38
+ //# sourceMappingURL=bootstrap.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootstrap.spec.js","sourceRoot":"","sources":["../../../src/_modules/generators/bootstrap.spec.ts"],"names":[],"mappings":";;AAAA,oEAAsE;AAEtE,QAAQ,CAAC,8BAA8B,EAAE,GAAS,EAAE;IAElD,EAAE,CAAC,qCAAqC,EAAE,GAAS,EAAE;QACnD,MAAM,KAAK,GAAG,sCAAoB,CAAC,cAAc,EAAE,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAS,EAAE;QACzE,MAAM,KAAK,GAAG,sCAAoB,CAAC,cAAc,EAAE,CAAC;QACpD,MAAM,GAAG,GAAW,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAS,EAAE;QAC3E,MAAM,KAAK,GAAG,sCAAoB,CAAC,cAAc,EAAE,CAAC;QACpD,MAAM,GAAG,GAAW,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAS,EAAE;QACzD,MAAM,KAAK,GAAG,sCAAoB,CAAC,cAAc,EAAE,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAS,EAAE;QACzD,MAAM,IAAI,GAAW,sCAAoB,CAAC,QAAQ,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"}
@@ -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-06-10T06:03:15.190Z
104
+ at 2026-06-10T06:25:12.353Z
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-06-10T06:03:15.190Z
85
+ at 2026-06-10T06:25:12.353Z
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-06-10T06:03:15.190Z
104
+ at 2026-06-10T06:25:12.353Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -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-06-10T06:03:15.190Z
160
+ at 2026-06-10T06:25:12.353Z
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-06-10T06:03:15.190Z
133
+ at 2026-06-10T06:25:12.353Z
134
134
  </div>
135
135
  <script src="../../prettify.js"></script>
136
136
  <script>
@@ -379,7 +379,7 @@ export enum DyE2E_FieldTestCase_Type {
379
379
  <div class='footer quiet pad2 space-top1 center small'>
380
380
  Code coverage generated by
381
381
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
382
- at 2026-06-10T06:03:15.190Z
382
+ at 2026-06-10T06:25:12.353Z
383
383
  </div>
384
384
  <script src="../../prettify.js"></script>
385
385
  <script>
@@ -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-06-10T06:03:15.190Z
179
+ at 2026-06-10T06:25:12.353Z
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-06-10T06:03:15.190Z
88
+ at 2026-06-10T06:25:12.353Z
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-06-10T06:03:15.190Z
115
+ at 2026-06-10T06:25:12.353Z
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-06-10T06:03:15.190Z
121
+ at 2026-06-10T06:25:12.353Z
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-06-10T06:03:15.190Z
118
+ at 2026-06-10T06:25:12.353Z
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-06-10T06:03:15.190Z
104
+ at 2026-06-10T06:25:12.353Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>