@futdevpro/dynamo-e2e 1.18.26 → 1.18.29

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 (88) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +10 -0
  3. package/build/_modules/contracts/_collections/test-case-sets/password-field-test-cases.const.d.ts +4 -0
  4. package/build/_modules/contracts/_collections/test-case-sets/password-field-test-cases.const.d.ts.map +1 -1
  5. package/build/_modules/contracts/_collections/test-case-sets/password-field-test-cases.const.js +39 -3
  6. package/build/_modules/contracts/_collections/test-case-sets/password-field-test-cases.const.js.map +1 -1
  7. package/build/_modules/contracts/_enums/field-test-case-type.enum.d.ts +5 -0
  8. package/build/_modules/contracts/_enums/field-test-case-type.enum.d.ts.map +1 -1
  9. package/build/_modules/contracts/_enums/field-test-case-type.enum.js +5 -0
  10. package/build/_modules/contracts/_enums/field-test-case-type.enum.js.map +1 -1
  11. package/build/_modules/contracts/_models/interfaces/form-test-suite-settings.interface.d.ts +9 -1
  12. package/build/_modules/contracts/_models/interfaces/form-test-suite-settings.interface.d.ts.map +1 -1
  13. package/build/_modules/generators/_collections/field-emission.util.d.ts +11 -0
  14. package/build/_modules/generators/_collections/field-emission.util.d.ts.map +1 -1
  15. package/build/_modules/generators/_collections/field-emission.util.js +43 -6
  16. package/build/_modules/generators/_collections/field-emission.util.js.map +1 -1
  17. package/build/_modules/generators/_collections/form-level-emission.util.d.ts.map +1 -1
  18. package/build/_modules/generators/_collections/form-level-emission.util.js +5 -6
  19. package/build/_modules/generators/_collections/form-level-emission.util.js.map +1 -1
  20. package/build/_modules/generators/_collections/json-schema.util.d.ts.map +1 -1
  21. package/build/_modules/generators/_collections/json-schema.util.js +2 -0
  22. package/build/_modules/generators/_collections/json-schema.util.js.map +1 -1
  23. package/build/_modules/generators/_collections/test-case-filter.util.d.ts +6 -0
  24. package/build/_modules/generators/_collections/test-case-filter.util.d.ts.map +1 -1
  25. package/build/_modules/generators/_collections/test-case-filter.util.js +36 -0
  26. package/build/_modules/generators/_collections/test-case-filter.util.js.map +1 -1
  27. package/build/_modules/generators/_models/form-settings-shape.interface.d.ts +13 -0
  28. package/build/_modules/generators/_models/form-settings-shape.interface.d.ts.map +1 -1
  29. package/build/_modules/generators/form-suite.generator.d.ts.map +1 -1
  30. package/build/_modules/generators/form-suite.generator.js +4 -1
  31. package/build/_modules/generators/form-suite.generator.js.map +1 -1
  32. package/build/_modules/ui-check/_collections/constants/ui-check-page-scripts.const.d.ts +6 -0
  33. package/build/_modules/ui-check/_collections/constants/ui-check-page-scripts.const.d.ts.map +1 -0
  34. package/build/_modules/ui-check/_collections/constants/ui-check-page-scripts.const.js +208 -0
  35. package/build/_modules/ui-check/_collections/constants/ui-check-page-scripts.const.js.map +1 -0
  36. package/build/_modules/ui-check/_collections/detectors/dead-control.detector.d.ts +29 -0
  37. package/build/_modules/ui-check/_collections/detectors/dead-control.detector.d.ts.map +1 -0
  38. package/build/_modules/ui-check/_collections/detectors/dead-control.detector.js +101 -0
  39. package/build/_modules/ui-check/_collections/detectors/dead-control.detector.js.map +1 -0
  40. package/build/_modules/ui-check/_collections/detectors/nested-scroll.detector.d.ts +25 -0
  41. package/build/_modules/ui-check/_collections/detectors/nested-scroll.detector.d.ts.map +1 -0
  42. package/build/_modules/ui-check/_collections/detectors/nested-scroll.detector.js +47 -0
  43. package/build/_modules/ui-check/_collections/detectors/nested-scroll.detector.js.map +1 -0
  44. package/build/_modules/ui-check/_collections/detectors/non-toggling-control.detector.d.ts +33 -0
  45. package/build/_modules/ui-check/_collections/detectors/non-toggling-control.detector.d.ts.map +1 -0
  46. package/build/_modules/ui-check/_collections/detectors/non-toggling-control.detector.js +119 -0
  47. package/build/_modules/ui-check/_collections/detectors/non-toggling-control.detector.js.map +1 -0
  48. package/build/_modules/ui-check/_collections/ui-check-default-detectors.const.d.ts +20 -0
  49. package/build/_modules/ui-check/_collections/ui-check-default-detectors.const.d.ts.map +1 -0
  50. package/build/_modules/ui-check/_collections/ui-check-default-detectors.const.js +30 -0
  51. package/build/_modules/ui-check/_collections/ui-check-default-detectors.const.js.map +1 -0
  52. package/build/_modules/ui-check/_collections/ui-check-guard.util.d.ts +60 -0
  53. package/build/_modules/ui-check/_collections/ui-check-guard.util.d.ts.map +1 -0
  54. package/build/_modules/ui-check/_collections/ui-check-guard.util.js +144 -0
  55. package/build/_modules/ui-check/_collections/ui-check-guard.util.js.map +1 -0
  56. package/build/_modules/ui-check/_collections/ui-check-page.util.d.ts +61 -0
  57. package/build/_modules/ui-check/_collections/ui-check-page.util.d.ts.map +1 -0
  58. package/build/_modules/ui-check/_collections/ui-check-page.util.js +152 -0
  59. package/build/_modules/ui-check/_collections/ui-check-page.util.js.map +1 -0
  60. package/build/_modules/ui-check/_collections/ui-check-runner.util.d.ts +41 -0
  61. package/build/_modules/ui-check/_collections/ui-check-runner.util.d.ts.map +1 -0
  62. package/build/_modules/ui-check/_collections/ui-check-runner.util.js +128 -0
  63. package/build/_modules/ui-check/_collections/ui-check-runner.util.js.map +1 -0
  64. package/build/_modules/ui-check/_models/ui-check-context.interface.d.ts +39 -0
  65. package/build/_modules/ui-check/_models/ui-check-context.interface.d.ts.map +1 -0
  66. package/build/_modules/ui-check/_models/ui-check-context.interface.js +3 -0
  67. package/build/_modules/ui-check/_models/ui-check-context.interface.js.map +1 -0
  68. package/build/_modules/ui-check/_models/ui-check-detector.interface.d.ts +32 -0
  69. package/build/_modules/ui-check/_models/ui-check-detector.interface.d.ts.map +1 -0
  70. package/build/_modules/ui-check/_models/ui-check-detector.interface.js +3 -0
  71. package/build/_modules/ui-check/_models/ui-check-detector.interface.js.map +1 -0
  72. package/build/_modules/ui-check/_models/ui-check-finding.interface.d.ts +30 -0
  73. package/build/_modules/ui-check/_models/ui-check-finding.interface.d.ts.map +1 -0
  74. package/build/_modules/ui-check/_models/ui-check-finding.interface.js +3 -0
  75. package/build/_modules/ui-check/_models/ui-check-finding.interface.js.map +1 -0
  76. package/build/_modules/ui-check/_models/ui-check-report.interface.d.ts +38 -0
  77. package/build/_modules/ui-check/_models/ui-check-report.interface.d.ts.map +1 -0
  78. package/build/_modules/ui-check/_models/ui-check-report.interface.js +3 -0
  79. package/build/_modules/ui-check/_models/ui-check-report.interface.js.map +1 -0
  80. package/build/_modules/ui-check/index.d.ts +27 -0
  81. package/build/_modules/ui-check/index.d.ts.map +1 -0
  82. package/build/_modules/ui-check/index.js +43 -0
  83. package/build/_modules/ui-check/index.js.map +1 -0
  84. package/build/index.d.ts +1 -0
  85. package/build/index.d.ts.map +1 -1
  86. package/build/index.js +2 -1
  87. package/build/index.js.map +1 -1
  88. package/package.json +10 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-check-page.util.js","sourceRoot":"","sources":["../../../../src/_modules/ui-check/_collections/ui-check-page.util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { Page } from '@playwright/test';
2
+ import { DyE2E_UICheckContext_Interface } from '../_models/ui-check-context.interface';
3
+ import { DyE2E_UICheckDetector_Interface } from '../_models/ui-check-detector.interface';
4
+ import { DyE2E_UICheckFinding_Interface } from '../_models/ui-check-finding.interface';
5
+ import { DyE2E_UICheckReport_Interface, DyE2E_UICheckWaiver_Interface } from '../_models/ui-check-report.interface';
6
+ /** Options of one UI check run. */
7
+ export interface DyE2E_UICheckRunOptions_Interface {
8
+ /** The detectors to run (default: the whole default list). Extend it, do not shrink it — waive instead. */
9
+ detectors?: DyE2E_UICheckDetector_Interface[];
10
+ /** Coded, dated exceptions for known findings. */
11
+ waivers?: DyE2E_UICheckWaiver_Interface[];
12
+ /** "Today" for the waiver expiry (`YYYY-MM-DD`, default: the current UTC date). */
13
+ today?: string;
14
+ }
15
+ /**
16
+ * Runs the UI detectors on one page and returns VERDICTS (BFR-FLEET-012). The page is expected on `context.url`.
17
+ * Measuring detectors run first (on the page as loaded), interactive ones after them (each reloads the page).
18
+ * A crashed detector is a failed check; a finding is suppressed only by a valid, unexpired, coded waiver.
19
+ *
20
+ * ```ts
21
+ * const report = await DyE2E_UICheckRunner_Util.run(page, { url: page.url(), accountKind: 'anonymous' });
22
+ * DyE2E_UICheckRunner_Util.assertClean(report);
23
+ * ```
24
+ */
25
+ export declare class DyE2E_UICheckRunner_Util {
26
+ /** A waiver's trace code. */
27
+ static readonly waiverCodePattern: RegExp;
28
+ /** Runs the check — see the class doc. */
29
+ static run(page: Page, context: DyE2E_UICheckContext_Interface, options?: DyE2E_UICheckRunOptions_Interface): Promise<DyE2E_UICheckReport_Interface>;
30
+ /** Throws (with the formatted report) when the report has a finding or a crashed detector. */
31
+ static assertClean(report: DyE2E_UICheckReport_Interface): void;
32
+ /** The report as readable text — findings, crashes, waived and expired waivers, each with its measurement. */
33
+ static format(report: DyE2E_UICheckReport_Interface): string;
34
+ /** Throws for a waiver without a trace code, a reason or a valid expiry date. */
35
+ static validateWaivers(waivers: DyE2E_UICheckWaiver_Interface[]): void;
36
+ /** The target of a finding in one line: selector, text, test id, label. */
37
+ static describeTarget(finding: DyE2E_UICheckFinding_Interface): string;
38
+ /** Whether `waiver` applies to `finding`. */
39
+ private static waiverMatches;
40
+ }
41
+ //# sourceMappingURL=ui-check-runner.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-check-runner.util.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ui-check/_collections/ui-check-runner.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;AACzF,OAAO,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,EACL,6BAA6B,EAE7B,6BAA6B,EAC9B,MAAM,sCAAsC,CAAC;AAI9C,mCAAmC;AACnC,MAAM,WAAW,iCAAiC;IAChD,2GAA2G;IAC3G,SAAS,CAAC,EAAE,+BAA+B,EAAE,CAAC;IAC9C,kDAAkD;IAClD,OAAO,CAAC,EAAE,6BAA6B,EAAE,CAAC;IAC1C,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,qBAAa,wBAAwB;IAEnC,6BAA6B;IAC7B,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAmC;IAE5E,0CAA0C;WAC7B,GAAG,CACd,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,8BAA8B,EACvC,OAAO,GAAE,iCAAsC,GAC9C,OAAO,CAAC,6BAA6B,CAAC;IA4CzC,8FAA8F;IAC9F,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,6BAA6B,GAAG,IAAI;IAM/D,8GAA8G;IAC9G,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,6BAA6B,GAAG,MAAM;IA0B5D,iFAAiF;IACjF,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,6BAA6B,EAAE,GAAG,IAAI;IAuBtE,2EAA2E;IAC3E,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,8BAA8B,GAAG,MAAM;IAOtE,6CAA6C;IAC7C,OAAO,CAAC,MAAM,CAAC,aAAa;CAY7B"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyE2E_UICheckRunner_Util = void 0;
4
+ const ui_check_default_detectors_const_1 = require("./ui-check-default-detectors.const");
5
+ const ui_check_guard_util_1 = require("./ui-check-guard.util");
6
+ /**
7
+ * Runs the UI detectors on one page and returns VERDICTS (BFR-FLEET-012). The page is expected on `context.url`.
8
+ * Measuring detectors run first (on the page as loaded), interactive ones after them (each reloads the page).
9
+ * A crashed detector is a failed check; a finding is suppressed only by a valid, unexpired, coded waiver.
10
+ *
11
+ * ```ts
12
+ * const report = await DyE2E_UICheckRunner_Util.run(page, { url: page.url(), accountKind: 'anonymous' });
13
+ * DyE2E_UICheckRunner_Util.assertClean(report);
14
+ * ```
15
+ */
16
+ class DyE2E_UICheckRunner_Util {
17
+ /** A waiver's trace code. */
18
+ static waiverCodePattern = /^(BL|BFR|BUG|CFR)-[A-Z0-9-]+$/;
19
+ /** Runs the check — see the class doc. */
20
+ static async run(page, context, options = {}) {
21
+ const detectors = options.detectors ?? [...ui_check_default_detectors_const_1.DyE2E_UICheckDefaultDetectors_Const];
22
+ const waivers = options.waivers ?? [];
23
+ const today = options.today ?? new Date().toISOString().slice(0, 10);
24
+ DyE2E_UICheckRunner_Util.validateWaivers(waivers);
25
+ // the guard fails the WHOLE run before the page is touched
26
+ detectors.filter((d) => d.interactive)
27
+ .forEach((d) => ui_check_guard_util_1.DyE2E_UICheckGuard_Util.assertInteractiveAllowed(context, d.id));
28
+ const ordered = [
29
+ ...detectors.filter((d) => !d.interactive),
30
+ ...detectors.filter((d) => d.interactive),
31
+ ];
32
+ const report = {
33
+ url: context.url, detectorsRun: [], findings: [], waived: [], expiredWaivers: [], errors: [], notes: [],
34
+ };
35
+ const active = waivers.filter((w) => w.expires >= today);
36
+ report.expiredWaivers = waivers.filter((w) => w.expires < today);
37
+ for (const detector of ordered) {
38
+ report.detectorsRun.push(detector.id);
39
+ try {
40
+ for (const finding of await detector.run(page, context)) {
41
+ const waiver = active.find((w) => DyE2E_UICheckRunner_Util.waiverMatches(w, finding));
42
+ if (waiver) {
43
+ report.waived.push({ finding: finding, waiver: waiver });
44
+ }
45
+ else {
46
+ report.findings.push(finding);
47
+ }
48
+ }
49
+ report.notes.push(...(detector.notes ?? []).map((note) => `${detector.id}: ${note}`));
50
+ }
51
+ catch (error) {
52
+ report.errors.push({ detector: detector.id,
53
+ message: error instanceof Error ? (error.stack ?? error.message) : String(error) });
54
+ }
55
+ }
56
+ return report;
57
+ }
58
+ /** Throws (with the formatted report) when the report has a finding or a crashed detector. */
59
+ static assertClean(report) {
60
+ if (report.findings.length || report.errors.length) {
61
+ throw new Error(DyE2E_UICheckRunner_Util.format(report));
62
+ }
63
+ }
64
+ /** The report as readable text — findings, crashes, waived and expired waivers, each with its measurement. */
65
+ static format(report) {
66
+ const lines = [`UI check of ${report.url} — detectors: ${report.detectorsRun.join(', ')}`,
67
+ `${report.findings.length} finding(s), ${report.errors.length} crashed detector(s), ` +
68
+ `${report.waived.length} waived, ${report.expiredWaivers.length} expired waiver(s), ${report.notes.length} note(s)`];
69
+ report.findings.forEach((f, i) => {
70
+ lines.push(` ${i + 1}. [${f.detector} / ${f.errorClass}] ${DyE2E_UICheckRunner_Util.describeTarget(f)}`, ` measured: ${f.measured}`, ` expected: ${f.expected}`);
71
+ });
72
+ report.errors.forEach((e) => {
73
+ lines.push(` ✖ ${e.detector} crashed: ${e.message.split('\n').slice(0, 3).join(' / ')}`);
74
+ });
75
+ report.waived.forEach((w) => {
76
+ lines.push(` ~ waived (${w.waiver.code}, until ${w.waiver.expires}): [${w.finding.detector}] ` +
77
+ `${DyE2E_UICheckRunner_Util.describeTarget(w.finding)}`);
78
+ });
79
+ report.notes.forEach((note) => {
80
+ lines.push(` ? ${note}`);
81
+ });
82
+ report.expiredWaivers.forEach((w) => {
83
+ lines.push(` ! expired waiver ${w.code} (${w.detector}, expired ${w.expires}) — no longer applied`);
84
+ });
85
+ return lines.join('\n');
86
+ }
87
+ /** Throws for a waiver without a trace code, a reason or a valid expiry date. */
88
+ static validateWaivers(waivers) {
89
+ for (const waiver of waivers) {
90
+ const problems = [];
91
+ if (!DyE2E_UICheckRunner_Util.waiverCodePattern.test(waiver.code ?? '')) {
92
+ problems.push('code must be a BL- / BFR- / BUG- / CFR- trace code');
93
+ }
94
+ if (!(waiver.reason ?? '').trim()) {
95
+ problems.push('reason is empty');
96
+ }
97
+ if (!/^\d{4}-\d{2}-\d{2}$/.test(waiver.expires ?? '') || isNaN(Date.parse(waiver.expires))) {
98
+ problems.push('expires must be a YYYY-MM-DD date');
99
+ }
100
+ if (!(waiver.detector ?? '').trim()) {
101
+ problems.push('detector is empty');
102
+ }
103
+ if (problems.length) {
104
+ throw new Error(`Invalid UI-check waiver ${JSON.stringify(waiver)}: ${problems.join('; ')} — a detector is ` +
105
+ 'never switched off silently (BFR-FLEET-012).');
106
+ }
107
+ }
108
+ }
109
+ /** The target of a finding in one line: selector, text, test id, label. */
110
+ static describeTarget(finding) {
111
+ const t = finding.target;
112
+ return [t.selector, t.text ? `"${t.text}"` : '', t.testId ? `[data-testid=${t.testId}]` : '',
113
+ t.ariaLabel ? `(aria-label "${t.ariaLabel}")` : ''].filter(Boolean).join(' ');
114
+ }
115
+ /** Whether `waiver` applies to `finding`. */
116
+ static waiverMatches(waiver, finding) {
117
+ if (waiver.detector !== finding.detector) {
118
+ return false;
119
+ }
120
+ if (!waiver.target) {
121
+ return true;
122
+ }
123
+ return [finding.target.selector, finding.target.text, finding.target.testId ?? '']
124
+ .some((value) => value.includes(waiver.target));
125
+ }
126
+ }
127
+ exports.DyE2E_UICheckRunner_Util = DyE2E_UICheckRunner_Util;
128
+ //# sourceMappingURL=ui-check-runner.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-check-runner.util.js","sourceRoot":"","sources":["../../../../src/_modules/ui-check/_collections/ui-check-runner.util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { Page } from '@playwright/test';
2
+ /** Who is logged in while an interactive detector presses controls. */
3
+ export type DyE2E_UICheckAccount_Type = 'anonymous' | 'throwaway';
4
+ /**
5
+ * The page a UI check runs on, and the safety limits of the run.
6
+ *
7
+ * Interactive detectors (they press controls) run ONLY on a test host (`test.*`, `*.test`, `localhost`, … or
8
+ * `allowHosts`), and only anonymously or with a throwaway account — the runner refuses anything else.
9
+ */
10
+ export interface DyE2E_UICheckContext_Interface {
11
+ /** The page under check — interactive detectors reload it before every press. */
12
+ url: string;
13
+ /** Declared by the caller: `throwaway` = an account created for this run and deleted afterwards. */
14
+ accountKind: DyE2E_UICheckAccount_Type;
15
+ /** Extra hosts treated as test hosts (exact match). */
16
+ allowHosts?: string[];
17
+ /** At most this many controls are pressed per detector and page (default 60). */
18
+ maxControls?: number;
19
+ /** Wait after a press before the effect is read, ms (default 600). */
20
+ settleMs?: number;
21
+ /** Controls whose text / label / test id matches any of these are never pressed (added to the default list). */
22
+ extraDenyPatterns?: RegExp[];
23
+ /**
24
+ * Mutating requests (non-GET) are ABORTED by default during a press — the press is still counted as an effect.
25
+ * A request whose URL matches one of these is let through, unless it hits the hard deny list (payment, e-mail) or
26
+ * carries a non-reserved e-mail address in its body.
27
+ */
28
+ mutationAllow?: RegExp[];
29
+ /** Own e-mail domains that may appear in a let-through request body (besides the reserved ones). */
30
+ ownEmailDomains?: string[];
31
+ /**
32
+ * Runs after every (re)load, before anything is listed or pressed — closes the ENTRY dialogs a returning user no
33
+ * longer sees (an environment notice, a cookie banner). While a modal dialog stays open, only its controls count.
34
+ */
35
+ prepare?: (page: Page) => Promise<void>;
36
+ /** Every press (and what it caused) is written into the report notes — for debugging a detector on a real page. */
37
+ trace?: boolean;
38
+ }
39
+ //# sourceMappingURL=ui-check-context.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-check-context.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ui-check/_models/ui-check-context.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,uEAAuE;AACvE,MAAM,MAAM,yBAAyB,GAAG,WAAW,GAAG,WAAW,CAAC;AAElE;;;;;GAKG;AACH,MAAM,WAAW,8BAA8B;IAC7C,iFAAiF;IACjF,GAAG,EAAE,MAAM,CAAC;IACZ,oGAAoG;IACpG,WAAW,EAAE,yBAAyB,CAAC;IACvC,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gHAAgH;IAChH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,oGAAoG;IACpG,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,mHAAmH;IACnH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ui-check-context.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-check-context.interface.js","sourceRoot":"","sources":["../../../../src/_modules/ui-check/_models/ui-check-context.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import { Page } from '@playwright/test';
2
+ import { DyE2E_UICheckContext_Interface } from './ui-check-context.interface';
3
+ import { DyE2E_UICheckFinding_Interface } from './ui-check-finding.interface';
4
+ /** The human-found defect a detector was written for — every detector starts from one (BFR-FLEET-012). */
5
+ export interface DyE2E_UICheckOrigin_Interface {
6
+ /** The defect's trace code (BL / BFR / BUG). */
7
+ code: string;
8
+ /** Who identified it (owner, QA, a tester). */
9
+ foundBy: string;
10
+ /** When (ISO date). */
11
+ date: string;
12
+ }
13
+ /**
14
+ * One scripted, per-error-class UI detector. It returns VERDICTS: an empty list means the page is clean for this
15
+ * error class. A detector is added to the default list only after it caught the real, human-identified defect and
16
+ * stayed silent on the fixed version.
17
+ */
18
+ export interface DyE2E_UICheckDetector_Interface {
19
+ /** Stable id, kebab-case. */
20
+ id: string;
21
+ /** The error class it detects. */
22
+ errorClass: string;
23
+ /** One sentence: what the detector measures. */
24
+ description: string;
25
+ origin: DyE2E_UICheckOrigin_Interface;
26
+ /** It presses controls ⇒ test host + anonymous / throwaway account only. */
27
+ interactive: boolean;
28
+ /** What the last run could not measure (a skipped control, a page that changed) — copied into the report. */
29
+ notes?: string[];
30
+ run(page: Page, context: DyE2E_UICheckContext_Interface): Promise<DyE2E_UICheckFinding_Interface[]>;
31
+ }
32
+ //# sourceMappingURL=ui-check-detector.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-check-detector.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ui-check/_models/ui-check-detector.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAE9E,0GAA0G;AAC1G,MAAM,WAAW,6BAA6B;IAC5C,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,+BAA+B;IAC9C,6BAA6B;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,6BAA6B,CAAC;IACtC,4EAA4E;IAC5E,WAAW,EAAE,OAAO,CAAC;IACrB,6GAA6G;IAC7G,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,8BAA8B,EAAE,CAAC,CAAC;CACrG"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ui-check-detector.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-check-detector.interface.js","sourceRoot":"","sources":["../../../../src/_modules/ui-check/_models/ui-check-detector.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ /** The control or region a UI-check finding points at — enough to find it again without a screenshot. */
2
+ export interface DyE2E_UICheckTarget_Interface {
3
+ /** A unique CSS path in the page (re-resolvable after a reload). */
4
+ selector: string;
5
+ tag: string;
6
+ /** Whitespace-collapsed visible text, capped at 120 chars. */
7
+ text: string;
8
+ testId: string | null;
9
+ ariaLabel: string | null;
10
+ }
11
+ /**
12
+ * One UI-check finding: a VERDICT (this is a defect of the detector's error class), not evidence for a reviewer.
13
+ * It carries what was measured and what the correct behaviour would have been (`core-error-debuggable`).
14
+ */
15
+ export interface DyE2E_UICheckFinding_Interface {
16
+ /** The detector id (e.g. `dead-control`). */
17
+ detector: string;
18
+ /** The error class of the detector (e.g. `control-without-effect`). */
19
+ errorClass: string;
20
+ /** The page the finding was measured on. */
21
+ url: string;
22
+ target: DyE2E_UICheckTarget_Interface;
23
+ /** What was measured, in one sentence. */
24
+ measured: string;
25
+ /** What a working UI would have done. */
26
+ expected: string;
27
+ /** Raw measurements behind the verdict. */
28
+ details: Record<string, unknown>;
29
+ }
30
+ //# sourceMappingURL=ui-check-finding.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-check-finding.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ui-check/_models/ui-check-finding.interface.ts"],"names":[],"mappings":"AAAA,yGAAyG;AACzG,MAAM,WAAW,6BAA6B;IAC5C,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,8BAA8B;IAC7C,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,6BAA6B,CAAC;IACtC,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ui-check-finding.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-check-finding.interface.js","sourceRoot":"","sources":["../../../../src/_modules/ui-check/_models/ui-check-finding.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ import { DyE2E_UICheckFinding_Interface } from './ui-check-finding.interface';
2
+ /**
3
+ * A coded, dated exception for one known finding — a detector is NEVER switched off silently (BFR-FLEET-012/-013).
4
+ * Without a trace code, a reason and an expiry date the runner rejects it; after the expiry it no longer applies.
5
+ */
6
+ export interface DyE2E_UICheckWaiver_Interface {
7
+ /** The detector id the waiver applies to. */
8
+ detector: string;
9
+ /** Substring of the finding's selector, text or test id; omitted = every finding of the detector on the page. */
10
+ target?: string;
11
+ /** The open defect's trace code: `BL-…`, `BFR-…`, `BUG-…` or `CFR-…`. */
12
+ code: string;
13
+ reason: string;
14
+ /** ISO date (`YYYY-MM-DD`); from the next day on the waiver is expired. */
15
+ expires: string;
16
+ }
17
+ /** A finding the waiver suppressed — still listed in the report. */
18
+ export interface DyE2E_UICheckWaived_Interface {
19
+ finding: DyE2E_UICheckFinding_Interface;
20
+ waiver: DyE2E_UICheckWaiver_Interface;
21
+ }
22
+ /** A detector that crashed — a crash is a failed check, never a clean one. */
23
+ export interface DyE2E_UICheckError_Interface {
24
+ detector: string;
25
+ message: string;
26
+ }
27
+ /** The result of one UI check on one page. */
28
+ export interface DyE2E_UICheckReport_Interface {
29
+ url: string;
30
+ detectorsRun: string[];
31
+ findings: DyE2E_UICheckFinding_Interface[];
32
+ waived: DyE2E_UICheckWaived_Interface[];
33
+ expiredWaivers: DyE2E_UICheckWaiver_Interface[];
34
+ errors: DyE2E_UICheckError_Interface[];
35
+ /** What a detector could not measure — read them: a skipped control is not a clean one. */
36
+ notes: string[];
37
+ }
38
+ //# sourceMappingURL=ui-check-report.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-check-report.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/ui-check/_models/ui-check-report.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAE9E;;;GAGG;AACH,MAAM,WAAW,6BAA6B;IAC5C,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,iHAAiH;IACjH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oEAAoE;AACpE,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,8BAA8B,CAAC;IACxC,MAAM,EAAE,6BAA6B,CAAC;CACvC;AAED,8EAA8E;AAC9E,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,8CAA8C;AAC9C,MAAM,WAAW,6BAA6B;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,8BAA8B,EAAE,CAAC;IAC3C,MAAM,EAAE,6BAA6B,EAAE,CAAC;IACxC,cAAc,EAAE,6BAA6B,EAAE,CAAC;IAChD,MAAM,EAAE,4BAA4B,EAAE,CAAC;IACvC,2FAA2F;IAC3F,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ui-check-report.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-check-report.interface.js","sourceRoot":"","sources":["../../../../src/_modules/ui-check/_models/ui-check-report.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * `@futdevpro/dynamo-e2e/ui-check` — scripted, per-error-class UI detectors that return VERDICTS (BFR-FLEET-012).
3
+ * The `/vqa` layer collects evidence for a reviewer; this layer fails the run.
4
+ *
5
+ * ```ts
6
+ * import { DyE2E_UICheckRunner_Util } from '@futdevpro/dynamo-e2e/ui-check';
7
+ *
8
+ * test('| the register page has no UI defect', async ({ page }) => {
9
+ * await page.goto('/landing/register');
10
+ * const report = await DyE2E_UICheckRunner_Util.run(page, { url: page.url(), accountKind: 'anonymous' });
11
+ * DyE2E_UICheckRunner_Util.assertClean(report);
12
+ * });
13
+ * ```
14
+ */
15
+ export * from './_collections/constants/ui-check-page-scripts.const';
16
+ export * from './_collections/detectors/dead-control.detector';
17
+ export * from './_collections/detectors/nested-scroll.detector';
18
+ export * from './_collections/detectors/non-toggling-control.detector';
19
+ export * from './_collections/ui-check-default-detectors.const';
20
+ export * from './_collections/ui-check-guard.util';
21
+ export * from './_collections/ui-check-page.util';
22
+ export * from './_collections/ui-check-runner.util';
23
+ export * from './_models/ui-check-context.interface';
24
+ export * from './_models/ui-check-detector.interface';
25
+ export * from './_models/ui-check-finding.interface';
26
+ export * from './_models/ui-check-report.interface';
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/ui-check/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,cAAc,sDAAsD,CAAC;AACrE,cAAc,gDAAgD,CAAC;AAC/D,cAAc,iDAAiD,CAAC;AAChE,cAAc,wDAAwD,CAAC;AACvE,cAAc,iDAAiD,CAAC;AAChE,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ /**
18
+ * `@futdevpro/dynamo-e2e/ui-check` — scripted, per-error-class UI detectors that return VERDICTS (BFR-FLEET-012).
19
+ * The `/vqa` layer collects evidence for a reviewer; this layer fails the run.
20
+ *
21
+ * ```ts
22
+ * import { DyE2E_UICheckRunner_Util } from '@futdevpro/dynamo-e2e/ui-check';
23
+ *
24
+ * test('| the register page has no UI defect', async ({ page }) => {
25
+ * await page.goto('/landing/register');
26
+ * const report = await DyE2E_UICheckRunner_Util.run(page, { url: page.url(), accountKind: 'anonymous' });
27
+ * DyE2E_UICheckRunner_Util.assertClean(report);
28
+ * });
29
+ * ```
30
+ */
31
+ __exportStar(require("./_collections/constants/ui-check-page-scripts.const"), exports);
32
+ __exportStar(require("./_collections/detectors/dead-control.detector"), exports);
33
+ __exportStar(require("./_collections/detectors/nested-scroll.detector"), exports);
34
+ __exportStar(require("./_collections/detectors/non-toggling-control.detector"), exports);
35
+ __exportStar(require("./_collections/ui-check-default-detectors.const"), exports);
36
+ __exportStar(require("./_collections/ui-check-guard.util"), exports);
37
+ __exportStar(require("./_collections/ui-check-page.util"), exports);
38
+ __exportStar(require("./_collections/ui-check-runner.util"), exports);
39
+ __exportStar(require("./_models/ui-check-context.interface"), exports);
40
+ __exportStar(require("./_models/ui-check-detector.interface"), exports);
41
+ __exportStar(require("./_models/ui-check-finding.interface"), exports);
42
+ __exportStar(require("./_models/ui-check-report.interface"), exports);
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/ui-check/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;GAaG;AACH,uFAAqE;AACrE,iFAA+D;AAC/D,kFAAgE;AAChE,yFAAuE;AACvE,kFAAgE;AAChE,qEAAmD;AACnD,oEAAkD;AAClD,sEAAoD;AACpD,uEAAqD;AACrD,wEAAsD;AACtD,uEAAqD;AACrD,sEAAoD"}
package/build/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export * from './_modules/presets/index';
5
5
  export * from './_modules/cwv/index';
6
6
  export * from './_modules/vqa/index';
7
7
  export * from './_modules/game/index';
8
+ export * from './_modules/ui-check/index';
8
9
  export * from './_modules/coverage/index';
9
10
  /** Package-version stamp — npm-publish-time runtime-érték. */
10
11
  export declare const DYE2E_PACKAGE_VERSION: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAE1C,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,EAAE,MAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAE1C,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,EAAE,MAAmB,CAAC"}
package/build/index.js CHANGED
@@ -23,7 +23,8 @@ __exportStar(require("./_modules/presets/index"), exports);
23
23
  __exportStar(require("./_modules/cwv/index"), exports);
24
24
  __exportStar(require("./_modules/vqa/index"), exports);
25
25
  __exportStar(require("./_modules/game/index"), exports);
26
+ __exportStar(require("./_modules/ui-check/index"), exports);
26
27
  __exportStar(require("./_modules/coverage/index"), exports);
27
28
  /** Package-version stamp — npm-publish-time runtime-érték. */
28
- exports.DYE2E_PACKAGE_VERSION = '01.18.26';
29
+ exports.DYE2E_PACKAGE_VERSION = '01.18.29';
29
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6EAA6E;AAC7E,6DAA2C;AAC3C,8DAA4C;AAC5C,2DAAyC;AACzC,2DAAyC;AACzC,uDAAqC;AACrC,uDAAqC;AACrC,wDAAsC;AACtC,4DAA0C;AAE1C,8DAA8D;AACjD,QAAA,qBAAqB,GAAW,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6EAA6E;AAC7E,6DAA2C;AAC3C,8DAA4C;AAC5C,2DAAyC;AACzC,2DAAyC;AACzC,uDAAqC;AACrC,uDAAqC;AACrC,wDAAsC;AACtC,4DAA0C;AAC1C,4DAA0C;AAE1C,8DAA8D;AACjD,QAAA,qBAAqB,GAAW,UAAU,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@futdevpro/dynamo-e2e",
3
- "version": "01.18.26",
3
+ "version": "01.18.29",
4
4
  "description": "End-to-end testing engine for the Dynamo + FDP ecosystem — auto-generated form-coverage tests, viewport audit matrix, CWV diagnostics. Settings-POJO-first.",
5
5
  "DyBu_settings": {
6
6
  "packageType": "core-package",
@@ -96,6 +96,12 @@
96
96
  "types": "./build/_modules/vqa/index.d.ts",
97
97
  "typings": "./build/_modules/vqa/index.d.ts"
98
98
  },
99
+ "./ui-check": {
100
+ "default": "./build/_modules/ui-check/index.js",
101
+ "module": "./build/_modules/ui-check/index.js",
102
+ "types": "./build/_modules/ui-check/index.d.ts",
103
+ "typings": "./build/_modules/ui-check/index.d.ts"
104
+ },
99
105
  "./game": {
100
106
  "default": "./build/_modules/game/index.js",
101
107
  "module": "./build/_modules/game/index.js",
@@ -123,6 +129,9 @@
123
129
  "vqa": [
124
130
  "build/_modules/vqa/index.d.ts"
125
131
  ],
132
+ "ui-check": [
133
+ "build/_modules/ui-check/index.d.ts"
134
+ ],
126
135
  "game": [
127
136
  "build/_modules/game/index.d.ts"
128
137
  ]