@futdevpro/dynamo-e2e 1.18.7 → 1.18.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.dynamo/pipeline.cicd.config.json +3 -3
- package/CHANGELOG.md +23 -0
- package/README.md +1 -1
- package/build/_modules/contracts/_collections/utils/test-id.util.d.ts +2 -0
- package/build/_modules/contracts/_collections/utils/test-id.util.d.ts.map +1 -1
- package/build/_modules/contracts/_collections/utils/test-id.util.js +4 -0
- package/build/_modules/contracts/_collections/utils/test-id.util.js.map +1 -1
- package/build/_modules/generators/_collections/cli-runner.util.d.ts.map +1 -1
- package/build/_modules/generators/_collections/cli-runner.util.js +5 -11
- package/build/_modules/generators/_collections/cli-runner.util.js.map +1 -1
- package/build/_modules/generators/_collections/field-emission.util.d.ts +5 -0
- package/build/_modules/generators/_collections/field-emission.util.d.ts.map +1 -1
- package/build/_modules/generators/_collections/field-emission.util.js +27 -6
- package/build/_modules/generators/_collections/field-emission.util.js.map +1 -1
- package/build/_modules/generators/_models/form-settings-shape.interface.d.ts +15 -0
- package/build/_modules/generators/_models/form-settings-shape.interface.d.ts.map +1 -1
- package/build/_modules/generators/bootstrap.spec.js +4 -3
- package/build/_modules/generators/bootstrap.spec.js.map +1 -1
- package/build/_modules/generators/field-emission-edge.spec.js +49 -0
- package/build/_modules/generators/field-emission-edge.spec.js.map +1 -1
- package/build/_modules/presets/_collections/constants/playwright-viewport-presets.const.d.ts +22 -0
- package/build/_modules/presets/_collections/constants/playwright-viewport-presets.const.d.ts.map +1 -0
- package/build/_modules/presets/_collections/constants/playwright-viewport-presets.const.js +69 -0
- package/build/_modules/presets/_collections/constants/playwright-viewport-presets.const.js.map +1 -0
- package/build/_modules/presets/_collections/global-setup.factory.d.ts +14 -0
- package/build/_modules/presets/_collections/global-setup.factory.d.ts.map +1 -0
- package/build/_modules/presets/_collections/global-setup.factory.js +113 -0
- package/build/_modules/presets/_collections/global-setup.factory.js.map +1 -0
- package/build/_modules/presets/_collections/playwright-config.factory.d.ts +19 -0
- package/build/_modules/presets/_collections/playwright-config.factory.d.ts.map +1 -0
- package/build/_modules/presets/_collections/playwright-config.factory.js +107 -0
- package/build/_modules/presets/_collections/playwright-config.factory.js.map +1 -0
- package/build/_modules/presets/_collections/viewport-preset-resolver.util.d.ts +8 -0
- package/build/_modules/presets/_collections/viewport-preset-resolver.util.d.ts.map +1 -0
- package/build/_modules/presets/_collections/viewport-preset-resolver.util.js +25 -0
- package/build/_modules/presets/_collections/viewport-preset-resolver.util.js.map +1 -0
- package/build/_modules/presets/_models/interfaces/global-setup-options.interface.d.ts +28 -0
- package/build/_modules/presets/_models/interfaces/global-setup-options.interface.d.ts.map +1 -0
- package/build/_modules/presets/_models/interfaces/global-setup-options.interface.js +3 -0
- package/build/_modules/presets/_models/interfaces/global-setup-options.interface.js.map +1 -0
- package/build/_modules/presets/_models/interfaces/playwright-config-options.interface.d.ts +43 -0
- package/build/_modules/presets/_models/interfaces/playwright-config-options.interface.d.ts.map +1 -0
- package/build/_modules/presets/_models/interfaces/playwright-config-options.interface.js +3 -0
- package/build/_modules/presets/_models/interfaces/playwright-config-options.interface.js.map +1 -0
- package/build/_modules/presets/index.d.ts +6 -0
- package/build/_modules/presets/index.d.ts.map +1 -1
- package/build/_modules/presets/index.js +12 -1
- package/build/_modules/presets/index.js.map +1 -1
- package/build/_modules/presets/presets.spec.d.ts +2 -0
- package/build/_modules/presets/presets.spec.d.ts.map +1 -0
- package/build/_modules/presets/presets.spec.js +230 -0
- package/build/_modules/presets/presets.spec.js.map +1 -0
- package/build/_modules/vqa/generators/ai-agent-readme.template.d.ts +2 -1
- package/build/_modules/vqa/generators/ai-agent-readme.template.d.ts.map +1 -1
- package/build/_modules/vqa/generators/ai-agent-readme.template.js +22 -3
- package/build/_modules/vqa/generators/ai-agent-readme.template.js.map +1 -1
- package/coverage/contracts/_collections/index.html +1 -1
- package/coverage/contracts/_collections/index.ts.html +1 -1
- package/coverage/contracts/_collections/utils/index.html +1 -1
- package/coverage/contracts/_collections/utils/test-id.util.ts.html +10 -10
- package/coverage/contracts/_enums/cwv-metric-type.enum.ts.html +1 -1
- package/coverage/contracts/_enums/field-test-case-type.enum.ts.html +4 -34
- package/coverage/contracts/_enums/index.html +5 -5
- package/coverage/contracts/_enums/index.ts.html +1 -1
- package/coverage/contracts/_enums/standard-viewport.enum.ts.html +1 -1
- package/coverage/contracts/_enums/test-expectation-type.enum.ts.html +1 -1
- package/coverage/contracts/_enums/test-run-mode-type.enum.ts.html +1 -1
- package/coverage/contracts/index.html +1 -1
- package/coverage/contracts/index.ts.html +1 -1
- package/coverage/cwv/_collections/cwv-aggregator.util.ts.html +1 -1
- package/coverage/cwv/_collections/cwv-comparison.util.ts.html +4 -4
- package/coverage/cwv/_collections/cwv-diagnose.util.ts.html +1 -1
- package/coverage/cwv/_collections/cwv-emission.util.ts.html +1 -1
- package/coverage/cwv/_collections/cwv-summarize.util.ts.html +1 -1
- package/coverage/cwv/_collections/index.html +7 -7
- package/coverage/cwv/_collections/inp-interaction-script.const.ts.html +1 -1
- package/coverage/cwv/_collections/web-vitals-page-script.const.ts.html +1 -1
- package/coverage/cwv/cwv-suite.generator.ts.html +3 -3
- package/coverage/cwv/index.html +5 -5
- package/coverage/generators/_collections/cli-runner.util.ts.html +1 -1
- package/coverage/generators/_collections/config-validator.util.ts.html +1 -1
- package/coverage/generators/_collections/field-emission.util.ts.html +87 -126
- package/coverage/generators/_collections/form-level-emission.util.ts.html +33 -39
- package/coverage/generators/_collections/index.html +29 -29
- package/coverage/generators/_collections/json-schema.util.ts.html +1 -1
- package/coverage/generators/_collections/preset-configs.const.ts.html +1 -1
- package/coverage/generators/_collections/spec-emission.util.ts.html +35 -35
- package/coverage/generators/_collections/test-case-filter.util.ts.html +66 -258
- package/coverage/generators/_collections/viewport-emission.util.ts.html +1 -1
- package/coverage/generators/form-suite.generator.ts.html +79 -97
- package/coverage/generators/index.html +18 -18
- package/coverage/generators/viewport-suite.generator.ts.html +3 -3
- package/coverage/index.html +45 -90
- package/coverage/lcov-report/contracts/_collections/index.html +1 -1
- package/coverage/lcov-report/contracts/_collections/index.ts.html +1 -1
- package/coverage/lcov-report/contracts/_collections/utils/index.html +1 -1
- package/coverage/lcov-report/contracts/_collections/utils/test-id.util.ts.html +10 -10
- package/coverage/lcov-report/contracts/_enums/cwv-metric-type.enum.ts.html +1 -1
- package/coverage/lcov-report/contracts/_enums/field-test-case-type.enum.ts.html +4 -34
- package/coverage/lcov-report/contracts/_enums/index.html +5 -5
- package/coverage/lcov-report/contracts/_enums/index.ts.html +1 -1
- package/coverage/lcov-report/contracts/_enums/standard-viewport.enum.ts.html +1 -1
- package/coverage/lcov-report/contracts/_enums/test-expectation-type.enum.ts.html +1 -1
- package/coverage/lcov-report/contracts/_enums/test-run-mode-type.enum.ts.html +1 -1
- package/coverage/lcov-report/contracts/index.html +1 -1
- package/coverage/lcov-report/contracts/index.ts.html +1 -1
- package/coverage/lcov-report/cwv/_collections/cwv-aggregator.util.ts.html +1 -1
- package/coverage/lcov-report/cwv/_collections/cwv-comparison.util.ts.html +4 -4
- package/coverage/lcov-report/cwv/_collections/cwv-diagnose.util.ts.html +1 -1
- package/coverage/lcov-report/cwv/_collections/cwv-emission.util.ts.html +1 -1
- package/coverage/lcov-report/cwv/_collections/cwv-summarize.util.ts.html +1 -1
- package/coverage/lcov-report/cwv/_collections/index.html +7 -7
- package/coverage/lcov-report/cwv/_collections/inp-interaction-script.const.ts.html +1 -1
- package/coverage/lcov-report/cwv/_collections/web-vitals-page-script.const.ts.html +1 -1
- package/coverage/lcov-report/cwv/cwv-suite.generator.ts.html +3 -3
- package/coverage/lcov-report/cwv/index.html +5 -5
- package/coverage/lcov-report/generators/_collections/cli-runner.util.ts.html +1 -1
- package/coverage/lcov-report/generators/_collections/config-validator.util.ts.html +1 -1
- package/coverage/lcov-report/generators/_collections/field-emission.util.ts.html +87 -126
- package/coverage/lcov-report/generators/_collections/form-level-emission.util.ts.html +33 -39
- package/coverage/lcov-report/generators/_collections/index.html +29 -29
- package/coverage/lcov-report/generators/_collections/json-schema.util.ts.html +1 -1
- package/coverage/lcov-report/generators/_collections/preset-configs.const.ts.html +1 -1
- package/coverage/lcov-report/generators/_collections/spec-emission.util.ts.html +35 -35
- package/coverage/lcov-report/generators/_collections/test-case-filter.util.ts.html +66 -258
- package/coverage/lcov-report/generators/_collections/viewport-emission.util.ts.html +1 -1
- package/coverage/lcov-report/generators/form-suite.generator.ts.html +79 -97
- package/coverage/lcov-report/generators/index.html +18 -18
- package/coverage/lcov-report/generators/viewport-suite.generator.ts.html +3 -3
- package/coverage/lcov-report/index.html +45 -90
- package/coverage/lcov-report/runtime/_collections/assertion-helpers.util.ts.html +7 -16
- package/coverage/lcov-report/runtime/_collections/index.html +17 -17
- package/coverage/lcov-report/runtime/_collections/unique-generator.util.ts.html +3 -3
- package/coverage/lcov-report/runtime/_collections/wait-helpers.util.ts.html +5 -5
- package/coverage/lcov-report/runtime/_services/dialog-page-object.ts.html +2 -2
- package/coverage/lcov-report/runtime/_services/field-page-object.ts.html +2 -2
- package/coverage/lcov-report/runtime/_services/form-page-object.ts.html +2 -2
- package/coverage/lcov-report/runtime/_services/index.html +9 -9
- package/coverage/lcov-report/runtime/_services/loader-page-object.ts.html +2 -2
- package/coverage/lcov-report/runtime/_services/logger.service.ts.html +5 -5
- package/coverage/lcov-report/runtime/_services/login-flow-helper.base.ts.html +2 -2
- package/coverage/lcov-report/runtime/_services/nav-page-object.ts.html +2 -2
- package/coverage/lcov-report/runtime/_services/toast-page-object.ts.html +1 -1
- package/coverage/lcov-report/runtime/_services/wave-2b-page-objects.ts.html +6 -6
- package/coverage/lcov-report/runtime/index.html +1 -1
- package/coverage/lcov-report/runtime/index.ts.html +1 -1
- package/coverage/lcov.info +737 -3049
- package/coverage/runtime/_collections/assertion-helpers.util.ts.html +7 -16
- package/coverage/runtime/_collections/index.html +17 -17
- package/coverage/runtime/_collections/unique-generator.util.ts.html +3 -3
- package/coverage/runtime/_collections/wait-helpers.util.ts.html +5 -5
- package/coverage/runtime/_services/dialog-page-object.ts.html +2 -2
- package/coverage/runtime/_services/field-page-object.ts.html +2 -2
- package/coverage/runtime/_services/form-page-object.ts.html +2 -2
- package/coverage/runtime/_services/index.html +9 -9
- package/coverage/runtime/_services/loader-page-object.ts.html +2 -2
- package/coverage/runtime/_services/logger.service.ts.html +5 -5
- package/coverage/runtime/_services/login-flow-helper.base.ts.html +2 -2
- package/coverage/runtime/_services/nav-page-object.ts.html +2 -2
- package/coverage/runtime/_services/toast-page-object.ts.html +1 -1
- package/coverage/runtime/_services/wave-2b-page-objects.ts.html +6 -6
- package/coverage/runtime/index.html +1 -1
- package/coverage/runtime/index.ts.html +1 -1
- package/coverage/tmp/coverage-228636-1781075225757-0.json +1 -0
- package/coverage/tmp/coverage-228704-1781075227108-0.json +1 -0
- package/dogfood/generated/date-range-field-new.spec.ts +54 -0
- package/dogfood/generated/password-field-new.spec.ts +97 -0
- package/dogfood/generated/radio-select-field-new.spec.ts +69 -0
- package/dogfood/generated/slider-field-new.spec.ts +47 -0
- package/dogfood/generated/text-field-new.spec.ts +0 -0
- package/logs/cicd-job.json +3 -0
- package/logs/cicd-report.json +3 -0
- package/logs/cicd-status.json +3 -0
- package/package.json +4 -1
- package/.dynamo/logs/cicd-pipeline/status.json +0 -74
- package/coverage/lcov-report/vqa/_collections/utils/deterministic-finding.util.ts.html +0 -481
- package/coverage/lcov-report/vqa/_collections/utils/finding-id.util.ts.html +0 -214
- package/coverage/lcov-report/vqa/_collections/utils/finding-validator.util.ts.html +0 -463
- package/coverage/lcov-report/vqa/_collections/utils/index.html +0 -176
- package/coverage/lcov-report/vqa/_collections/utils/manifest-validator.util.ts.html +0 -652
- package/coverage/lcov-report/vqa/_collections/utils/risk-score.util.ts.html +0 -424
- package/coverage/lcov-report/vqa/_enums/dom-evidence-detector.enum.ts.html +0 -214
- package/coverage/lcov-report/vqa/_enums/finding-severity.enum.ts.html +0 -133
- package/coverage/lcov-report/vqa/_enums/finding-status.enum.ts.html +0 -151
- package/coverage/lcov-report/vqa/_enums/index.html +0 -161
- package/coverage/lcov-report/vqa/_enums/visual-state-type.enum.ts.html +0 -235
- package/coverage/lcov-report/vqa/generators/ai-agent-readme.template.ts.html +0 -643
- package/coverage/lcov-report/vqa/generators/bundle-summary.template.ts.html +0 -316
- package/coverage/lcov-report/vqa/generators/capture-spec.generator.ts.html +0 -835
- package/coverage/lcov-report/vqa/generators/comparison-bundle.generator.ts.html +0 -898
- package/coverage/lcov-report/vqa/generators/index.html +0 -176
- package/coverage/lcov-report/vqa/generators/review-bundle.generator.ts.html +0 -559
- package/coverage/tmp/coverage-19436-1783427587751-0.json +0 -1
- package/coverage/tmp/coverage-19441-1783427586112-0.json +0 -1
- package/coverage/vqa/_collections/utils/deterministic-finding.util.ts.html +0 -481
- package/coverage/vqa/_collections/utils/finding-id.util.ts.html +0 -214
- package/coverage/vqa/_collections/utils/finding-validator.util.ts.html +0 -463
- package/coverage/vqa/_collections/utils/index.html +0 -176
- package/coverage/vqa/_collections/utils/manifest-validator.util.ts.html +0 -652
- package/coverage/vqa/_collections/utils/risk-score.util.ts.html +0 -424
- package/coverage/vqa/_enums/dom-evidence-detector.enum.ts.html +0 -214
- package/coverage/vqa/_enums/finding-severity.enum.ts.html +0 -133
- package/coverage/vqa/_enums/finding-status.enum.ts.html +0 -151
- package/coverage/vqa/_enums/index.html +0 -161
- package/coverage/vqa/_enums/visual-state-type.enum.ts.html +0 -235
- package/coverage/vqa/generators/ai-agent-readme.template.ts.html +0 -643
- package/coverage/vqa/generators/bundle-summary.template.ts.html +0 -316
- package/coverage/vqa/generators/capture-spec.generator.ts.html +0 -835
- package/coverage/vqa/generators/comparison-bundle.generator.ts.html +0 -898
- package/coverage/vqa/generators/index.html +0 -176
- package/coverage/vqa/generators/review-bundle.generator.ts.html +0 -559
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.DyE2E_getGlobalSetup = DyE2E_getGlobalSetup;
|
|
27
|
+
const test_1 = require("@playwright/test");
|
|
28
|
+
const dotenv = __importStar(require("dotenv"));
|
|
29
|
+
const fs = __importStar(require("fs"));
|
|
30
|
+
const path = __importStar(require("path"));
|
|
31
|
+
/** Üres Playwright storageState — nincs cookie / origin (= unauthenticated fallback). */
|
|
32
|
+
const EMPTY_AUTH_STATE = { cookies: [], origins: [] };
|
|
33
|
+
/**
|
|
34
|
+
* baseURL elérhetőség-ellenőrzés AbortController + fetch timeout-tal.
|
|
35
|
+
* Ha a target nem él, egyértelmű hibával állunk le (ne 60 spec bukjon obscure timeout-tal).
|
|
36
|
+
*/
|
|
37
|
+
async function checkBaseUrlReachable(baseUrl, timeoutMs) {
|
|
38
|
+
const controller = new AbortController();
|
|
39
|
+
const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
|
|
40
|
+
try {
|
|
41
|
+
// Bármilyen HTTP-válasz (akár 4xx/5xx) = a szerver él; csak a network-error számít bukásnak
|
|
42
|
+
await fetch(baseUrl, { method: 'GET', signal: controller.signal });
|
|
43
|
+
clearTimeout(timeoutId);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
clearTimeout(timeoutId);
|
|
48
|
+
}
|
|
49
|
+
throw new Error(`[E2E] E2E_BASE_URL (${baseUrl}) nem elérhető. ` +
|
|
50
|
+
'Indítsd el a target környezetet (vagy állítsd az E2E_BASE_URL-t), majd futtasd újra az E2E teszteket.');
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Login-once + storageState mentés (C513 minta): a consumer login-hook-ja viszi végig a
|
|
54
|
+
* flow-t; siker esetén real state, bukás esetén empty stub kerül a storageStatePath-ra
|
|
55
|
+
* (a config `use.storageState`-je fájlt vár, ezért MINDIG írunk valamit).
|
|
56
|
+
*/
|
|
57
|
+
async function runLoginHook(opts, baseUrl) {
|
|
58
|
+
const browser = await test_1.chromium.launch();
|
|
59
|
+
const context = await browser.newContext({ ignoreHTTPSErrors: true, baseURL: baseUrl });
|
|
60
|
+
const page = await context.newPage();
|
|
61
|
+
try {
|
|
62
|
+
// A login-flow maga a consumer felelőssége (FDP-specifikus helper = fdp-e2e-helpers réteg)
|
|
63
|
+
await opts.login(page);
|
|
64
|
+
if (opts.storageStatePath) {
|
|
65
|
+
await context.storageState({ path: opts.storageStatePath });
|
|
66
|
+
console.info(`[E2E] Global setup: auth-state mentve → ${opts.storageStatePath}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
const errMsg = err instanceof Error ? err.message : String(err);
|
|
71
|
+
console.warn(`[E2E] Global setup: login-hook sikertelen — ${errMsg}. ` +
|
|
72
|
+
'Empty stub mentve; a specek per-test login flow-ra eshetnek vissza.');
|
|
73
|
+
if (opts.storageStatePath) {
|
|
74
|
+
fs.writeFileSync(opts.storageStatePath, JSON.stringify(EMPTY_AUTH_STATE));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
finally {
|
|
78
|
+
await browser.close();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* `DyE2E_getGlobalSetup` — a flotta e2e-global-setup.ts-einek közös magja:
|
|
83
|
+
* dotenv-load + kötelező-env warn + baseURL-reachability + opcionális login-once hook.
|
|
84
|
+
* A consumer global-setup fájlja így 3-soros wrapper:
|
|
85
|
+
*
|
|
86
|
+
* ```ts
|
|
87
|
+
* import { DyE2E_getGlobalSetup } from '@futdevpro/dynamo-e2e/presets';
|
|
88
|
+
* export default DyE2E_getGlobalSetup({ defaultBaseUrl: 'https://test.my-app.hu', envDir: __dirname });
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
function DyE2E_getGlobalSetup(opts) {
|
|
92
|
+
return async (_config) => {
|
|
93
|
+
// dotenv-load a hívó e2e-mappájából (a config-oldali load-dal idempotens)
|
|
94
|
+
dotenv.config({ path: path.join(opts.envDir || process.cwd(), '.env') });
|
|
95
|
+
// Kötelező env-változók — hiány esetén CSAK warn (a spec-ek fallback-elhetnek)
|
|
96
|
+
const missing = (opts.requiredEnvVars || []).filter((name) => !process.env[name]);
|
|
97
|
+
if (missing.length) {
|
|
98
|
+
console.warn(`[E2E] Global setup: hiányzó env: ${missing.join(', ')}. Töltsd ki a .env-et (.env.example minta).`);
|
|
99
|
+
}
|
|
100
|
+
// baseURL-reachability — fail-fast ha a target nem él
|
|
101
|
+
const baseUrl = process.env.E2E_BASE_URL || opts.defaultBaseUrl;
|
|
102
|
+
await checkBaseUrlReachable(baseUrl, opts.reachabilityTimeoutMs ?? 5_000);
|
|
103
|
+
if (opts.login) {
|
|
104
|
+
// Login-once + storageState (C513 minta)
|
|
105
|
+
await runLoginHook(opts, baseUrl);
|
|
106
|
+
}
|
|
107
|
+
else if (opts.storageStatePath) {
|
|
108
|
+
// Nincs login-hook, de a config storageState-fájlt vár → empty stub hogy létezzen
|
|
109
|
+
fs.writeFileSync(opts.storageStatePath, JSON.stringify(EMPTY_AUTH_STATE));
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=global-setup.factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-setup.factory.js","sourceRoot":"","sources":["../../../../src/_modules/presets/_collections/global-setup.factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { PlaywrightTestConfig } from '@playwright/test';
|
|
2
|
+
import { DyE2E_PlaywrightConfig_Options } from '../_models/interfaces/playwright-config-options.interface';
|
|
3
|
+
/**
|
|
4
|
+
* `DyE2E_getPlaywrightConfig` — a flotta playwright.config.ts-einek közös magja
|
|
5
|
+
* (organizer / overseer / master-prompter mintákból desztillálva). A consumer-projekt
|
|
6
|
+
* configja így 3-soros wrapper lesz (SSOT a bedrock-ban):
|
|
7
|
+
*
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { DyE2E_getPlaywrightConfig } from '@futdevpro/dynamo-e2e/presets';
|
|
10
|
+
* export default DyE2E_getPlaywrightConfig({ defaultBaseUrl: 'https://test.my-app.hu', envDir: __dirname });
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* Env-konvenciók (flotta-standard):
|
|
14
|
+
* - `E2E_BASE_URL` — target-override (LDP → local, CICD → test-szerver default)
|
|
15
|
+
* - `E2E_IGNORE_HTTPS_ERRORS=1` / `NODE_TLS_REJECT_UNAUTHORIZED=0` — self-signed TLS elfogadás
|
|
16
|
+
* - `E2E_WORKERS=N` — worker-szám override (https test-env ellen default 1 — login-race védelem)
|
|
17
|
+
*/
|
|
18
|
+
export declare function DyE2E_getPlaywrightConfig(opts: DyE2E_PlaywrightConfig_Options): PlaywrightTestConfig;
|
|
19
|
+
//# sourceMappingURL=playwright-config.factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playwright-config.factory.d.ts","sourceRoot":"","sources":["../../../../src/_modules/presets/_collections/playwright-config.factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAK7D,OAAO,EAAE,8BAA8B,EAAE,MAAM,2DAA2D,CAAC;AAG3G;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,8BAA8B,GAAG,oBAAoB,CAoEpG"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.DyE2E_getPlaywrightConfig = DyE2E_getPlaywrightConfig;
|
|
27
|
+
const test_1 = require("@playwright/test");
|
|
28
|
+
const dotenv = __importStar(require("dotenv"));
|
|
29
|
+
const path = __importStar(require("path"));
|
|
30
|
+
const viewport_preset_resolver_util_1 = require("./viewport-preset-resolver.util");
|
|
31
|
+
/**
|
|
32
|
+
* `DyE2E_getPlaywrightConfig` — a flotta playwright.config.ts-einek közös magja
|
|
33
|
+
* (organizer / overseer / master-prompter mintákból desztillálva). A consumer-projekt
|
|
34
|
+
* configja így 3-soros wrapper lesz (SSOT a bedrock-ban):
|
|
35
|
+
*
|
|
36
|
+
* ```ts
|
|
37
|
+
* import { DyE2E_getPlaywrightConfig } from '@futdevpro/dynamo-e2e/presets';
|
|
38
|
+
* export default DyE2E_getPlaywrightConfig({ defaultBaseUrl: 'https://test.my-app.hu', envDir: __dirname });
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* Env-konvenciók (flotta-standard):
|
|
42
|
+
* - `E2E_BASE_URL` — target-override (LDP → local, CICD → test-szerver default)
|
|
43
|
+
* - `E2E_IGNORE_HTTPS_ERRORS=1` / `NODE_TLS_REJECT_UNAUTHORIZED=0` — self-signed TLS elfogadás
|
|
44
|
+
* - `E2E_WORKERS=N` — worker-szám override (https test-env ellen default 1 — login-race védelem)
|
|
45
|
+
*/
|
|
46
|
+
function DyE2E_getPlaywrightConfig(opts) {
|
|
47
|
+
// dotenv-load a hívó e2e-mappájából — CI-ben a secrets env-ből jönnek, lokálban .env
|
|
48
|
+
dotenv.config({ path: path.join(opts.envDir || process.cwd(), '.env') });
|
|
49
|
+
// baseURL: env-override → opts default (a default MINDIG a deployolt TEST szerver, SOHA nem localhost)
|
|
50
|
+
const baseURL = process.env.E2E_BASE_URL || opts.defaultBaseUrl;
|
|
51
|
+
const isHttps = baseURL.startsWith('https://');
|
|
52
|
+
// Self-signed TLS elfogadása ha a target https (test-env) vagy explicit env kéri
|
|
53
|
+
const ignoreHTTPSErrors = process.env.E2E_IGNORE_HTTPS_ERRORS === '1' ||
|
|
54
|
+
process.env.NODE_TLS_REJECT_UNAUTHORIZED === '0' ||
|
|
55
|
+
isHttps;
|
|
56
|
+
// Workers: env-override → opts fix érték → deriváció. Deployolt (https) test-env ellen 1 worker —
|
|
57
|
+
// a párhuzamos login-ok backend race-t okoznak (FDPNTS-UDS-RC1 "User already exists" minta).
|
|
58
|
+
const workers = process.env.E2E_WORKERS
|
|
59
|
+
? Number(process.env.E2E_WORKERS)
|
|
60
|
+
: (opts.workers ?? (isHttps ? 1 : undefined));
|
|
61
|
+
// Viewport-preset feloldás → Playwright projects (minden viewport = 1 chromium projekt)
|
|
62
|
+
const viewports = (0, viewport_preset_resolver_util_1.DyE2E_resolveViewportPreset)(opts.viewports);
|
|
63
|
+
const projects = viewports.map((vp) => ({
|
|
64
|
+
name: vp.key,
|
|
65
|
+
use: {
|
|
66
|
+
...test_1.devices['Desktop Chrome'],
|
|
67
|
+
viewport: { width: vp.width, height: vp.height },
|
|
68
|
+
// Az opcionális device-mezőket csak akkor írjuk felül, ha a viewport-def megadja
|
|
69
|
+
...(vp.deviceScaleFactor !== undefined ? { deviceScaleFactor: vp.deviceScaleFactor } : {}),
|
|
70
|
+
...(vp.isMobile !== undefined ? { isMobile: vp.isMobile } : {}),
|
|
71
|
+
...(vp.hasTouch !== undefined ? { hasTouch: vp.hasTouch } : {}),
|
|
72
|
+
},
|
|
73
|
+
}));
|
|
74
|
+
// A közös config-mag — a flotta-configok metszete + opcionális override-ok
|
|
75
|
+
return (0, test_1.defineConfig)({
|
|
76
|
+
testDir: opts.testDir || './tests',
|
|
77
|
+
// globalSetup csak ha a consumer adott path-t (require.resolve-olt abszolút path)
|
|
78
|
+
...(opts.globalSetupPath ? { globalSetup: opts.globalSetupPath } : {}),
|
|
79
|
+
timeout: opts.timeout ?? 60_000,
|
|
80
|
+
expect: {
|
|
81
|
+
timeout: opts.expectTimeout ?? 10_000,
|
|
82
|
+
},
|
|
83
|
+
fullyParallel: opts.fullyParallel ?? false,
|
|
84
|
+
// CI-ben tilos a .only (véletlen szűkített suite = fals zöld)
|
|
85
|
+
forbidOnly: !!process.env.CI,
|
|
86
|
+
// Retry CSAK CI-ben (load-flake tolerancia); lokálban a flake jel, nem zaj
|
|
87
|
+
retries: process.env.CI ? (opts.retriesInCi ?? 0) : 0,
|
|
88
|
+
workers: workers,
|
|
89
|
+
reporter: [
|
|
90
|
+
['html'],
|
|
91
|
+
['json', { outputFile: 'test-results/results.json' }],
|
|
92
|
+
['list'],
|
|
93
|
+
],
|
|
94
|
+
use: {
|
|
95
|
+
baseURL: baseURL,
|
|
96
|
+
ignoreHTTPSErrors: ignoreHTTPSErrors,
|
|
97
|
+
screenshot: 'only-on-failure',
|
|
98
|
+
trace: 'retain-on-failure',
|
|
99
|
+
video: 'retain-on-failure',
|
|
100
|
+
// Consumer-specifikus use-mezők (pl. storageState) a mag TETEJÉRE merge-ölve
|
|
101
|
+
...(opts.extraUse || {}),
|
|
102
|
+
},
|
|
103
|
+
outputDir: 'test-results',
|
|
104
|
+
projects: projects,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=playwright-config.factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playwright-config.factory.js","sourceRoot":"","sources":["../../../../src/_modules/presets/_collections/playwright-config.factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DyE2E_Viewport_Interface } from '../../contracts/_models/interfaces/viewport.interface';
|
|
2
|
+
import { DyE2E_ViewportsOption_Type } from '../_models/interfaces/playwright-config-options.interface';
|
|
3
|
+
/**
|
|
4
|
+
* Viewport-opció feloldása konkrét viewport-tömbre.
|
|
5
|
+
* Custom tömb → passthrough; preset-név → a megfelelő konstans; hiányzó opció → `'single'`.
|
|
6
|
+
*/
|
|
7
|
+
export declare function DyE2E_resolveViewportPreset(viewports?: DyE2E_ViewportsOption_Type): DyE2E_Viewport_Interface[];
|
|
8
|
+
//# sourceMappingURL=viewport-preset-resolver.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewport-preset-resolver.util.d.ts","sourceRoot":"","sources":["../../../../src/_modules/presets/_collections/viewport-preset-resolver.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,2DAA2D,CAAC;AAOvG;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,CAAC,EAAE,0BAA0B,GAAG,wBAAwB,EAAE,CAe9G"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DyE2E_resolveViewportPreset = DyE2E_resolveViewportPreset;
|
|
4
|
+
const playwright_viewport_presets_const_1 = require("./constants/playwright-viewport-presets.const");
|
|
5
|
+
/**
|
|
6
|
+
* Viewport-opció feloldása konkrét viewport-tömbre.
|
|
7
|
+
* Custom tömb → passthrough; preset-név → a megfelelő konstans; hiányzó opció → `'single'`.
|
|
8
|
+
*/
|
|
9
|
+
function DyE2E_resolveViewportPreset(viewports) {
|
|
10
|
+
// Custom katalógus — a consumer sajátja, változtatás nélkül adjuk tovább
|
|
11
|
+
if (Array.isArray(viewports)) {
|
|
12
|
+
return viewports;
|
|
13
|
+
}
|
|
14
|
+
// Named preset feloldás — default a 'single' (legkisebb, biztonságos mátrix)
|
|
15
|
+
switch (viewports) {
|
|
16
|
+
case 'visual-8':
|
|
17
|
+
return playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_VISUAL8;
|
|
18
|
+
case 'named-4':
|
|
19
|
+
return playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_NAMED4;
|
|
20
|
+
case 'single':
|
|
21
|
+
default:
|
|
22
|
+
return playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_SINGLE;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=viewport-preset-resolver.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewport-preset-resolver.util.js","sourceRoot":"","sources":["../../../../src/_modules/presets/_collections/viewport-preset-resolver.util.ts"],"names":[],"mappings":";;AAYA,kEAeC;AAzBD,qGAIuD;AAEvD;;;GAGG;AACH,SAAgB,2BAA2B,CAAC,SAAsC;IAChF,yEAAyE;IACzE,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,6EAA6E;IAC7E,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,2DAAuB,CAAC;QACjC,KAAK,SAAS;YACZ,OAAO,0DAAsB,CAAC;QAChC,KAAK,QAAQ,CAAC;QACd;YACE,OAAO,0DAAsB,CAAC;IAClC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Page } from '@playwright/test';
|
|
2
|
+
/**
|
|
3
|
+
* A `DyE2E_getGlobalSetup` factory opciói — a flotta e2e-global-setup.ts-eiből
|
|
4
|
+
* desztillált közös mag (dotenv + env-check + reachability + opcionális login-once).
|
|
5
|
+
*/
|
|
6
|
+
export interface DyE2E_GlobalSetup_Options {
|
|
7
|
+
/** Default E2E target ha nincs `E2E_BASE_URL` env-override (a config-gal azonos érték legyen). */
|
|
8
|
+
defaultBaseUrl: string;
|
|
9
|
+
/** A hívó e2e-mappája (jellemzően `__dirname`) — innen töltődik a `.env` dotenv-vel. Default: `process.cwd()`. */
|
|
10
|
+
envDir?: string;
|
|
11
|
+
/** Kötelező env-változó nevek — hiány esetén warn (NEM fatális; a spec-ek fallback-elhetnek). */
|
|
12
|
+
requiredEnvVars?: string[];
|
|
13
|
+
/** baseURL-reachability-check timeout ms-ben (AbortController + fetch). Default: `5_000`. */
|
|
14
|
+
reachabilityTimeoutMs?: number;
|
|
15
|
+
/**
|
|
16
|
+
* Opcionális login-once hook (C513 storageState-reuse minta): a factory nyit egy
|
|
17
|
+
* chromium page-et és ezt hívja; a hook felelős a login-flow végigviteléért.
|
|
18
|
+
* FDP-specifikus login-helper ide NEM tartozik — az a `fdp-e2e-helpers` rétege.
|
|
19
|
+
*/
|
|
20
|
+
login?: (page: Page) => Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* storageState mentési path (pl. `.auth-state.json`). Ha a login-hook sikeres → real state;
|
|
23
|
+
* ha nincs login-hook vagy a login bukik → empty stub (a config `use.storageState`-je
|
|
24
|
+
* fájlt vár, ezért MINDIG léteznie kell).
|
|
25
|
+
*/
|
|
26
|
+
storageStatePath?: string;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=global-setup-options.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-setup-options.interface.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/presets/_models/interfaces/global-setup-options.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,kGAAkG;IAClG,cAAc,EAAE,MAAM,CAAC;IACvB,kHAAkH;IAClH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iGAAiG;IACjG,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,6FAA6F;IAC7F,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-setup-options.interface.js","sourceRoot":"","sources":["../../../../../src/_modules/presets/_models/interfaces/global-setup-options.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { PlaywrightTestConfig } from '@playwright/test';
|
|
2
|
+
import { DyE2E_Viewport_Interface } from '../../../contracts/_models/interfaces/viewport.interface';
|
|
3
|
+
/**
|
|
4
|
+
* Viewport-opció a `DyE2E_getPlaywrightConfig`-hoz: named preset VAGY custom viewport-tömb.
|
|
5
|
+
* - `'visual-8'` — 8 viewport-os Tailwind-breakpoint visual-matrix (organizer-minta)
|
|
6
|
+
* - `'named-4'` — 4 nevesített viewport (desktop-1920 / wide-2560 / tablet-1024 / mobile-414, overseer-minta)
|
|
7
|
+
* - `'single'` — 1 standard desktop viewport (master-prompter-minta)
|
|
8
|
+
* - custom tömb — a consumer saját `DyE2E_Viewport_Interface[]` katalógusa
|
|
9
|
+
*/
|
|
10
|
+
export type DyE2E_ViewportsOption_Type = 'visual-8' | 'named-4' | 'single' | DyE2E_Viewport_Interface[];
|
|
11
|
+
/**
|
|
12
|
+
* A `DyE2E_getPlaywrightConfig` factory opciói — a flotta playwright.config.ts-eiből
|
|
13
|
+
* desztillált közös mag paraméterezése (organizer / overseer / master-prompter minták).
|
|
14
|
+
*/
|
|
15
|
+
export interface DyE2E_PlaywrightConfig_Options {
|
|
16
|
+
/**
|
|
17
|
+
* Default E2E target ha nincs `E2E_BASE_URL` env-override.
|
|
18
|
+
* KONVENCIÓ: MINDIG a deployolt TEST szerver — SOHA nem localhost (a CICD-runner ne
|
|
19
|
+
* célozzon PROD-ot; memory: feedback_e2e_ldp_local_cicd_test_target).
|
|
20
|
+
*/
|
|
21
|
+
defaultBaseUrl: string;
|
|
22
|
+
/** A hívó e2e-mappája (jellemzően `__dirname`) — innen töltődik a `.env` dotenv-vel. Default: `process.cwd()`. */
|
|
23
|
+
envDir?: string;
|
|
24
|
+
/** Playwright testDir. Default: `'./tests'`. */
|
|
25
|
+
testDir?: string;
|
|
26
|
+
/** globalSetup fájl abszolút path-ja — a consumer `require.resolve('./e2e-global-setup.ts')`-t ad át. */
|
|
27
|
+
globalSetupPath?: string;
|
|
28
|
+
/** Viewport-preset név vagy custom viewport-tömb. Default: `'single'`. */
|
|
29
|
+
viewports?: DyE2E_ViewportsOption_Type;
|
|
30
|
+
/** Playwright fullyParallel. Default: `false` (flotta-minta: deployolt env ellen szekvenciális). */
|
|
31
|
+
fullyParallel?: boolean;
|
|
32
|
+
/** Fix worker-szám — felülírja az isHttps-derivációt; az `E2E_WORKERS` env ezt is felülírja. */
|
|
33
|
+
workers?: number;
|
|
34
|
+
/** Retry-szám CI-ben (`process.env.CI` alatt). Default: `0`; lokálban MINDIG 0 (a flake ott jel, nem zaj). */
|
|
35
|
+
retriesInCi?: number;
|
|
36
|
+
/** Per-test timeout ms-ben. Default: `60_000`. */
|
|
37
|
+
timeout?: number;
|
|
38
|
+
/** expect() timeout ms-ben. Default: `10_000`. */
|
|
39
|
+
expectTimeout?: number;
|
|
40
|
+
/** Extra `use`-mezők (pl. `storageState`) — a common-mag `use` blokkjára merge-ölődnek. */
|
|
41
|
+
extraUse?: PlaywrightTestConfig['use'];
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=playwright-config-options.interface.d.ts.map
|
package/build/_modules/presets/_models/interfaces/playwright-config-options.interface.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playwright-config-options.interface.d.ts","sourceRoot":"","sources":["../../../../../src/_modules/presets/_models/interfaces/playwright-config-options.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAC;AAEpG;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,wBAAwB,EAAE,CAAC;AAExG;;;GAGG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,kHAAkH;IAClH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yGAAyG;IACzG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC,oGAAoG;IACpG,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gGAAgG;IAChG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8GAA8G;IAC9G,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC;CACxC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playwright-config-options.interface.js","sourceRoot":"","sources":["../../../../../src/_modules/presets/_models/interfaces/playwright-config-options.interface.ts"],"names":[],"mappings":""}
|
|
@@ -9,6 +9,12 @@
|
|
|
9
9
|
*/
|
|
10
10
|
export { DyE2E_FormSuite_Generator } from '../generators/form-suite.generator';
|
|
11
11
|
export type { DyE2E_FormSuiteGenerate_Options } from '../generators/_models/form-suite-generate-options.interface';
|
|
12
|
+
export { DyE2E_getPlaywrightConfig } from './_collections/playwright-config.factory';
|
|
13
|
+
export { DyE2E_getGlobalSetup } from './_collections/global-setup.factory';
|
|
14
|
+
export { DyE2E_resolveViewportPreset } from './_collections/viewport-preset-resolver.util';
|
|
15
|
+
export { DYE2E_VIEWPORTS_VISUAL8, DYE2E_VIEWPORTS_NAMED4, DYE2E_VIEWPORTS_SINGLE, } from './_collections/constants/playwright-viewport-presets.const';
|
|
16
|
+
export type { DyE2E_PlaywrightConfig_Options, DyE2E_ViewportsOption_Type, } from './_models/interfaces/playwright-config-options.interface';
|
|
17
|
+
export type { DyE2E_GlobalSetup_Options } from './_models/interfaces/global-setup-options.interface';
|
|
12
18
|
/** Wave-2/3 marker — itt lesz a viewport + CWV preset-runner. */
|
|
13
19
|
export declare const DYE2E_PRESETS_NEXT_WAVES: string[];
|
|
14
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/presets/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,YAAY,EAAE,+BAA+B,EAAE,MAAM,6DAA6D,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/presets/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,YAAY,EAAE,+BAA+B,EAAE,MAAM,6DAA6D,CAAC;AAGnH,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,4DAA4D,CAAC;AACpE,YAAY,EACV,8BAA8B,EAC9B,0BAA0B,GAC3B,MAAM,0DAA0D,CAAC;AAClE,YAAY,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AAErG,iEAAiE;AACjE,eAAO,MAAM,wBAAwB,EAAE,MAAM,EAAqD,CAAC"}
|
|
@@ -9,9 +9,20 @@
|
|
|
9
9
|
* Wave-1 MVP: vékony re-export a `generators`-ből.
|
|
10
10
|
*/
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.DYE2E_PRESETS_NEXT_WAVES = exports.DyE2E_FormSuite_Generator = void 0;
|
|
12
|
+
exports.DYE2E_PRESETS_NEXT_WAVES = exports.DYE2E_VIEWPORTS_SINGLE = exports.DYE2E_VIEWPORTS_NAMED4 = exports.DYE2E_VIEWPORTS_VISUAL8 = exports.DyE2E_resolveViewportPreset = exports.DyE2E_getGlobalSetup = exports.DyE2E_getPlaywrightConfig = exports.DyE2E_FormSuite_Generator = void 0;
|
|
13
13
|
var form_suite_generator_1 = require("../generators/form-suite.generator");
|
|
14
14
|
Object.defineProperty(exports, "DyE2E_FormSuite_Generator", { enumerable: true, get: function () { return form_suite_generator_1.DyE2E_FormSuite_Generator; } });
|
|
15
|
+
// Playwright-config preset (flotta e2e-config konszolidáció) — factory + global-setup + viewport-presetek
|
|
16
|
+
var playwright_config_factory_1 = require("./_collections/playwright-config.factory");
|
|
17
|
+
Object.defineProperty(exports, "DyE2E_getPlaywrightConfig", { enumerable: true, get: function () { return playwright_config_factory_1.DyE2E_getPlaywrightConfig; } });
|
|
18
|
+
var global_setup_factory_1 = require("./_collections/global-setup.factory");
|
|
19
|
+
Object.defineProperty(exports, "DyE2E_getGlobalSetup", { enumerable: true, get: function () { return global_setup_factory_1.DyE2E_getGlobalSetup; } });
|
|
20
|
+
var viewport_preset_resolver_util_1 = require("./_collections/viewport-preset-resolver.util");
|
|
21
|
+
Object.defineProperty(exports, "DyE2E_resolveViewportPreset", { enumerable: true, get: function () { return viewport_preset_resolver_util_1.DyE2E_resolveViewportPreset; } });
|
|
22
|
+
var playwright_viewport_presets_const_1 = require("./_collections/constants/playwright-viewport-presets.const");
|
|
23
|
+
Object.defineProperty(exports, "DYE2E_VIEWPORTS_VISUAL8", { enumerable: true, get: function () { return playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_VISUAL8; } });
|
|
24
|
+
Object.defineProperty(exports, "DYE2E_VIEWPORTS_NAMED4", { enumerable: true, get: function () { return playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_NAMED4; } });
|
|
25
|
+
Object.defineProperty(exports, "DYE2E_VIEWPORTS_SINGLE", { enumerable: true, get: function () { return playwright_viewport_presets_const_1.DYE2E_VIEWPORTS_SINGLE; } });
|
|
15
26
|
/** Wave-2/3 marker — itt lesz a viewport + CWV preset-runner. */
|
|
16
27
|
exports.DYE2E_PRESETS_NEXT_WAVES = ['viewport-audit (Wave-2)', 'cwv-diag (Wave-3)'];
|
|
17
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/presets/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,2EAA+E;AAAtE,iIAAA,yBAAyB,OAAA;AAGlC,iEAAiE;AACpD,QAAA,wBAAwB,GAAa,CAAC,yBAAyB,EAAE,mBAAmB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/presets/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,2EAA+E;AAAtE,iIAAA,yBAAyB,OAAA;AAGlC,0GAA0G;AAC1G,sFAAqF;AAA5E,sIAAA,yBAAyB,OAAA;AAClC,4EAA2E;AAAlE,4HAAA,oBAAoB,OAAA;AAC7B,8FAA2F;AAAlF,4IAAA,2BAA2B,OAAA;AACpC,gHAIoE;AAHlE,4IAAA,uBAAuB,OAAA;AACvB,2IAAA,sBAAsB,OAAA;AACtB,2IAAA,sBAAsB,OAAA;AAQxB,iEAAiE;AACpD,QAAA,wBAAwB,GAAa,CAAC,yBAAyB,EAAE,mBAAmB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presets.spec.d.ts","sourceRoot":"","sources":["../../../src/_modules/presets/presets.spec.ts"],"names":[],"mappings":""}
|