@sun-asterisk/sungen 3.2.21 → 3.2.22-beta.2
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/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +8 -0
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/delivery.d.ts +3 -0
- package/dist/cli/commands/delivery.d.ts.map +1 -1
- package/dist/cli/commands/delivery.js +15 -0
- package/dist/cli/commands/delivery.js.map +1 -1
- package/dist/cli/commands/inspect.d.ts +41 -0
- package/dist/cli/commands/inspect.d.ts.map +1 -0
- package/dist/cli/commands/inspect.js +134 -0
- package/dist/cli/commands/inspect.js.map +1 -0
- package/dist/cli/commands/trace.d.ts.map +1 -1
- package/dist/cli/commands/trace.js +9 -0
- package/dist/cli/commands/trace.js.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/exporters/matrix/build.d.ts +10 -0
- package/dist/exporters/matrix/build.d.ts.map +1 -1
- package/dist/exporters/matrix/build.js +38 -0
- package/dist/exporters/matrix/build.js.map +1 -1
- package/dist/exporters/matrix/export.d.ts.map +1 -1
- package/dist/exporters/matrix/export.js +11 -0
- package/dist/exporters/matrix/export.js.map +1 -1
- package/dist/exporters/matrix/render-xlsx.d.ts.map +1 -1
- package/dist/exporters/matrix/render-xlsx.js +44 -1
- package/dist/exporters/matrix/render-xlsx.js.map +1 -1
- package/dist/exporters/matrix/types.d.ts +10 -0
- package/dist/exporters/matrix/types.d.ts.map +1 -1
- package/dist/exporters/matrix/types.js.map +1 -1
- package/dist/exporters/playwright-report-parser.d.ts.map +1 -1
- package/dist/exporters/playwright-report-parser.js +1 -0
- package/dist/exporters/playwright-report-parser.js.map +1 -1
- package/dist/exporters/types.d.ts +2 -0
- package/dist/exporters/types.d.ts.map +1 -1
- package/dist/generators/test-generator/adapters/appium/templates/imports.hbs +9 -0
- package/dist/generators/test-generator/adapters/appium/templates/scenario.hbs +23 -1
- package/dist/generators/test-generator/adapters/appium/templates/steps/actions/capture-row-column.hbs +2 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/actions/capture-variable.hbs +10 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/actions/click-with-alert-action.hbs +7 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/actions/drag-action.hbs +14 -2
- package/dist/generators/test-generator/adapters/appium/templates/steps/actions/hover-element-with-text.hbs +3 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/actions/table-action-in-row-nth.hbs +2 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/all-contain-assertion.hbs +17 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/all-contain-element.hbs +13 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/disabled-with-filter-assertion.hbs +26 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/disabled-with-role-variable-assertion.hbs +24 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/disabled-with-variable-assertion.hbs +9 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/hidden-dialog-heading-assertion.hbs +10 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/hidden-with-filter-assertion.hbs +14 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/hidden-with-role-variable-assertion.hbs +21 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/hidden-with-variable-assertion.hbs +10 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/row-scoped-column-assertion.hbs +2 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/state-with-filter-assertion.hbs +23 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/storage-key-assertion.hbs +2 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/tab-order-assertion.hbs +3 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/visible-dialog-heading-assertion.hbs +10 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/visible-filtered-assertion.hbs +17 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/visible-with-role-variable-assertion.hbs +13 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/navigation/wait-table-refresh.hbs +13 -0
- package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/drag-action.hbs +1 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/frame-enter-action.hbs +1 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/all-contain-element.hbs +5 -5
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/row-scoped-column-assertion.hbs +1 -0
- package/dist/generators/test-generator/code-generator.d.ts.map +1 -1
- package/dist/generators/test-generator/code-generator.js +29 -8
- package/dist/generators/test-generator/code-generator.js.map +1 -1
- package/dist/generators/test-generator/diagnostics.d.ts +25 -1
- package/dist/generators/test-generator/diagnostics.d.ts.map +1 -1
- package/dist/generators/test-generator/diagnostics.js +24 -0
- package/dist/generators/test-generator/diagnostics.js.map +1 -1
- package/dist/generators/test-generator/patterns/index.d.ts +45 -0
- package/dist/generators/test-generator/patterns/index.d.ts.map +1 -1
- package/dist/generators/test-generator/patterns/index.js +159 -20
- package/dist/generators/test-generator/patterns/index.js.map +1 -1
- package/dist/generators/test-generator/patterns/types.d.ts +36 -0
- package/dist/generators/test-generator/patterns/types.d.ts.map +1 -1
- package/dist/generators/test-generator/step-mapper.d.ts +33 -0
- package/dist/generators/test-generator/step-mapper.d.ts.map +1 -1
- package/dist/generators/test-generator/step-mapper.js +100 -24
- package/dist/generators/test-generator/step-mapper.js.map +1 -1
- package/dist/harness/audit.d.ts +2 -0
- package/dist/harness/audit.d.ts.map +1 -1
- package/dist/harness/audit.js +101 -10
- package/dist/harness/audit.js.map +1 -1
- package/dist/harness/flow-contract.d.ts +87 -0
- package/dist/harness/flow-contract.d.ts.map +1 -0
- package/dist/harness/flow-contract.js +259 -0
- package/dist/harness/flow-contract.js.map +1 -0
- package/dist/harness/flow-plan.d.ts +3 -0
- package/dist/harness/flow-plan.d.ts.map +1 -1
- package/dist/harness/flow-plan.js +6 -2
- package/dist/harness/flow-plan.js.map +1 -1
- package/dist/harness/parse.d.ts +5 -0
- package/dist/harness/parse.d.ts.map +1 -1
- package/dist/harness/parse.js +29 -1
- package/dist/harness/parse.js.map +1 -1
- package/dist/harness/perf.d.ts +40 -0
- package/dist/harness/perf.d.ts.map +1 -0
- package/dist/harness/perf.js +136 -0
- package/dist/harness/perf.js.map +1 -0
- package/dist/harness/sensors.d.ts.map +1 -1
- package/dist/harness/sensors.js +13 -1
- package/dist/harness/sensors.js.map +1 -1
- package/dist/harness/spec-coverage.d.ts +8 -0
- package/dist/harness/spec-coverage.d.ts.map +1 -1
- package/dist/harness/spec-coverage.js +60 -6
- package/dist/harness/spec-coverage.js.map +1 -1
- package/dist/orchestrator/templates/ai-src/commands/add-flow.md +51 -3
- package/dist/orchestrator/templates/ai-src/commands/create-test.md +10 -0
- package/dist/orchestrator/templates/ai-src/commands/run-test.md +23 -0
- package/dist/orchestrator/templates/ai-src/skills/sungen-api-design/SKILL.md +2 -2
- package/dist/orchestrator/templates/ai-src/skills/sungen-error-mapping/SKILL.md +4 -0
- package/dist/orchestrator/templates/ai-src/skills/sungen-gherkin-syntax/SKILL.md +61 -12
- package/dist/orchestrator/templates/ai-src/skills/sungen-mobile-gestures/SKILL.md +22 -8
- package/dist/orchestrator/templates/ai-src/skills/sungen-tc-generation/SKILL.md +65 -17
- package/dist/orchestrator/templates/qa-context.md +14 -1
- package/dist/orchestrator/templates/specs-api.d.ts.map +1 -1
- package/dist/orchestrator/templates/specs-api.js +104 -29
- package/dist/orchestrator/templates/specs-api.js.map +1 -1
- package/dist/orchestrator/templates/specs-api.ts +104 -26
- package/dist/orchestrator/templates/specs-db.d.ts.map +1 -1
- package/dist/orchestrator/templates/specs-db.js +18 -5
- package/dist/orchestrator/templates/specs-db.js.map +1 -1
- package/dist/orchestrator/templates/specs-db.ts +19 -5
- package/package.json +3 -3
- package/src/cli/commands/audit.ts +8 -0
- package/src/cli/commands/delivery.ts +14 -2
- package/src/cli/commands/inspect.ts +128 -0
- package/src/cli/commands/trace.ts +9 -0
- package/src/cli/index.ts +2 -0
- package/src/exporters/matrix/build.ts +40 -0
- package/src/exporters/matrix/export.ts +11 -0
- package/src/exporters/matrix/render-xlsx.ts +45 -1
- package/src/exporters/matrix/types.ts +10 -0
- package/src/exporters/playwright-report-parser.ts +2 -0
- package/src/exporters/types.ts +2 -0
- package/src/generators/test-generator/adapters/appium/templates/imports.hbs +9 -0
- package/src/generators/test-generator/adapters/appium/templates/scenario.hbs +23 -1
- package/src/generators/test-generator/adapters/appium/templates/steps/actions/capture-row-column.hbs +2 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/actions/capture-variable.hbs +10 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/actions/click-with-alert-action.hbs +7 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/actions/drag-action.hbs +14 -2
- package/src/generators/test-generator/adapters/appium/templates/steps/actions/hover-element-with-text.hbs +3 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/actions/table-action-in-row-nth.hbs +2 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/assertions/all-contain-assertion.hbs +17 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/assertions/all-contain-element.hbs +13 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/assertions/disabled-with-filter-assertion.hbs +26 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/assertions/disabled-with-role-variable-assertion.hbs +24 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/assertions/disabled-with-variable-assertion.hbs +9 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/assertions/hidden-dialog-heading-assertion.hbs +10 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/assertions/hidden-with-filter-assertion.hbs +14 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/assertions/hidden-with-role-variable-assertion.hbs +21 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/assertions/hidden-with-variable-assertion.hbs +10 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/assertions/row-scoped-column-assertion.hbs +2 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/assertions/state-with-filter-assertion.hbs +23 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/assertions/storage-key-assertion.hbs +2 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/assertions/tab-order-assertion.hbs +3 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/assertions/visible-dialog-heading-assertion.hbs +10 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/assertions/visible-filtered-assertion.hbs +17 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/assertions/visible-with-role-variable-assertion.hbs +13 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/navigation/wait-table-refresh.hbs +13 -0
- package/src/generators/test-generator/adapters/playwright/templates/steps/actions/drag-action.hbs +1 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/actions/frame-enter-action.hbs +1 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/all-contain-element.hbs +5 -5
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/row-scoped-column-assertion.hbs +1 -0
- package/src/generators/test-generator/code-generator.ts +34 -9
- package/src/generators/test-generator/diagnostics.ts +25 -1
- package/src/generators/test-generator/patterns/index.ts +172 -25
- package/src/generators/test-generator/patterns/types.ts +35 -0
- package/src/generators/test-generator/step-mapper.ts +106 -23
- package/src/harness/audit.ts +104 -11
- package/src/harness/flow-contract.ts +261 -0
- package/src/harness/flow-plan.ts +10 -3
- package/src/harness/parse.ts +31 -1
- package/src/harness/perf.ts +112 -0
- package/src/harness/sensors.ts +13 -1
- package/src/harness/spec-coverage.ts +55 -5
- package/src/orchestrator/templates/ai-src/commands/add-flow.md +51 -3
- package/src/orchestrator/templates/ai-src/commands/create-test.md +10 -0
- package/src/orchestrator/templates/ai-src/commands/run-test.md +23 -0
- package/src/orchestrator/templates/ai-src/skills/sungen-api-design/SKILL.md +2 -2
- package/src/orchestrator/templates/ai-src/skills/sungen-error-mapping/SKILL.md +4 -0
- package/src/orchestrator/templates/ai-src/skills/sungen-gherkin-syntax/SKILL.md +61 -12
- package/src/orchestrator/templates/ai-src/skills/sungen-mobile-gestures/SKILL.md +22 -8
- package/src/orchestrator/templates/ai-src/skills/sungen-tc-generation/SKILL.md +65 -17
- package/src/orchestrator/templates/qa-context.md +14 -1
- package/src/orchestrator/templates/specs-api.ts +104 -26
- package/src/orchestrator/templates/specs-db.ts +19 -5
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{{!-- Native alert (mobile): unlike web (handler set BEFORE the trigger), mobile alerts appear
|
|
2
|
+
AFTER the triggering action — click first, then best-effort accept/dismiss (ignore if no
|
|
3
|
+
alert appears; mirrors alert-accept-action.hbs / alert-dismiss-action.hbs). --}}
|
|
4
|
+
{
|
|
5
|
+
await {{> locator}}.click();
|
|
6
|
+
try { await driver.{{#if (eq dialogAction 'dismiss')}}dismissAlert{{else}}acceptAlert{{/if}}(); } catch { /* no native alert present */ }
|
|
7
|
+
}
|
package/dist/generators/test-generator/adapters/appium/templates/steps/actions/drag-action.hbs
CHANGED
|
@@ -1,2 +1,14 @@
|
|
|
1
|
-
{{!-- Drag the source element onto the target. WebdriverIO dragAndDrop drives W3C touch actions.
|
|
2
|
-
|
|
1
|
+
{{!-- Drag the source element onto the target. WebdriverIO dragAndDrop drives W3C touch actions.
|
|
2
|
+
|
|
3
|
+
The TARGET selector is rendered by the canonical `appium-selector` partial, NOT by a switch
|
|
4
|
+
of its own. This file used to hand-roll one covering 5 of the 13 strategies that partial
|
|
5
|
+
knows, and its default branch preferred `targetValue` over `targetName` — backwards for the
|
|
6
|
+
`role` strategy, where the resolver puts the generic role type in `value` ('button') and the
|
|
7
|
+
real accessible label in `name` ('Submit'). Since `role` is the DEFAULT strategy for buttons,
|
|
8
|
+
links and headings, a drag onto a role-resolved target aimed at `~button`.
|
|
9
|
+
It was invisible until C3: before that, the target FIELDS were never passed at all (only a
|
|
10
|
+
pre-built Playwright locator string), so the switch fell through with everything undefined
|
|
11
|
+
and emitted `$('~')` — broken, but obviously so. C3 populated the fields and turned an
|
|
12
|
+
obvious break into a plausible-looking wrong one. Delegating removes the second copy of a
|
|
13
|
+
mapping that only ever needed one. --}}
|
|
14
|
+
await (await {{> locator}}).dragAndDrop(await $('{{> appium-selector strategy=targetStrategy value=targetValue name=targetName}}'));
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
{{!-- Positional table row actions target HTML <table> roles — not available on native mobile. --}}
|
|
2
|
+
throw new Error("[sungen] 'table action in row (nth)' targets HTML table roles and is not supported on the appium adapter. Use list / accessibility-id steps, or tag this scenario @manual.");
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{{!-- All-contain (mobile): $$ over the base selector, per-OS multi-source text read (same idiom
|
|
2
|
+
as contain-text-assertion), substring check on every match — no CSS filter() combinator
|
|
3
|
+
exists on Appium, so this loop replaces it. --}}
|
|
4
|
+
{
|
|
5
|
+
const __items_{{stepCounter}} = await $$({{> appium-selector-expr}});
|
|
6
|
+
if (__items_{{stepCounter}}.length === 0) throw new Error('[sungen] Expected at least one [{{escapeQuotes selectorRef}}]');
|
|
7
|
+
const __expected_{{stepCounter}} = String('{{escapeQuotes expectedText}}').trim();
|
|
8
|
+
for (const __el_{{stepCounter}} of __items_{{stepCounter}}) {
|
|
9
|
+
const __sources_{{stepCounter}} = driver.isIOS
|
|
10
|
+
? [await __el_{{stepCounter}}.getAttribute('label'), await __el_{{stepCounter}}.getAttribute('value')]
|
|
11
|
+
: [await __el_{{stepCounter}}.getText(), await __el_{{stepCounter}}.getAttribute('content-desc')];
|
|
12
|
+
const __actual_{{stepCounter}} = String(__sources_{{stepCounter}}.find(s => s && String(s).trim() !== '') ?? '').trim();
|
|
13
|
+
if (!__actual_{{stepCounter}}.includes(__expected_{{stepCounter}})) {
|
|
14
|
+
throw new Error(`[sungen] Expected [{{escapeQuotes selectorRef}}] text containing "${__expected_{{stepCounter}} }" but found "${__actual_{{stepCounter}} }"`);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{{!-- Q2 all-card structural assertion (mobile): every container element must hold the child.
|
|
2
|
+
WebdriverIO's $$() returns a live element ARRAY, not a lazy Locator — there is no `.nth()`
|
|
3
|
+
(that is Playwright's API). Enumerate by index and chain off the array element itself via
|
|
4
|
+
`.$()` (WDIO findElementFromElement). --}}
|
|
5
|
+
{
|
|
6
|
+
const {{containerVar}} = await $$('{{> appium-selector}}');
|
|
7
|
+
if ({{containerVar}}.length === 0) {
|
|
8
|
+
throw new Error('[sungen] Expected at least one [{{escapeQuotes selectorRef}}]');
|
|
9
|
+
}
|
|
10
|
+
for (let {{containerIndexVar}} = 0; {{containerIndexVar}} < {{containerVar}}.length; {{containerIndexVar}}++) {
|
|
11
|
+
await expect({{#with child}}{{> locator parentLocator=(add (add (add ../containerVar "[") ../containerIndexVar) "]")}}{{/with}}).toBeDisplayed();
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{{!-- Filtered disabled (mobile): $$ over the base selector, per-OS text read matched against
|
|
2
|
+
dataValue — no CSS filter() combinator exists on Appium, so the match is hand-rolled.
|
|
3
|
+
Assert the matching element is not enabled.
|
|
4
|
+
|
|
5
|
+
The `__found` guard is load-bearing, NOT defensive noise. Playwright's twin
|
|
6
|
+
(`expect(locator.filter(...)).toBeDisabled()`) FAILS when the filtered locator matches
|
|
7
|
+
nothing, because a Playwright locator re-queries and times out. WDIO's `$$()` returns an
|
|
8
|
+
already-resolved ARRAY, so an assertion placed only inside the match branch simply never
|
|
9
|
+
runs when nothing matches — the scenario then passes having asserted NOTHING. That safety
|
|
10
|
+
property comes free on web and has to be reproduced by hand here.
|
|
11
|
+
(`hidden-with-filter-assertion` deliberately has no such guard: Playwright's `toBeHidden()`
|
|
12
|
+
also passes on a zero-match locator, since "not attached" counts as hidden. `toBeDisabled()`
|
|
13
|
+
has no such exemption — absent is not disabled.) --}}
|
|
14
|
+
{
|
|
15
|
+
const __expected = String('{{escapeQuotes dataValue}}').trim();
|
|
16
|
+
const __items = await $$({{> appium-selector-expr}});
|
|
17
|
+
let __found = false;
|
|
18
|
+
for (const __el of __items) {
|
|
19
|
+
const __sources = driver.isIOS
|
|
20
|
+
? [await __el.getAttribute('label'), await __el.getAttribute('value')]
|
|
21
|
+
: [await __el.getText(), await __el.getAttribute('content-desc')];
|
|
22
|
+
const __actual = String(__sources.find(s => s && String(s).trim() !== '') ?? '').trim();
|
|
23
|
+
if (__actual === __expected) { __found = true; await expect(__el).not.toBeEnabled(); }
|
|
24
|
+
}
|
|
25
|
+
if (!__found) throw new Error(`[sungen] No element with text "${__expected}" to assert disabled — the assertion never ran`);
|
|
26
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{{!-- Role variable, disabled (mobile best-effort): mirrors hidden-with-role-variable-assertion —
|
|
2
|
+
a static name scopes the search via the role→accessibility-id mapping in
|
|
3
|
+
appium-selector.hbs, then dataValue filters by per-OS text within that scope; with no name,
|
|
4
|
+
search directly by dataValue text. Assert the matching element(s) are not enabled. --}}
|
|
5
|
+
{{#if name}}
|
|
6
|
+
{
|
|
7
|
+
const __expected = String('{{escapeQuotes dataValue}}').trim();
|
|
8
|
+
const __items = await $$('~{{escapeQuotes name}}');
|
|
9
|
+
let __found = false;
|
|
10
|
+
for (const __el of __items) {
|
|
11
|
+
const __s = driver.isIOS ? [await __el.getAttribute('label'), await __el.getAttribute('value')] : [await __el.getText(), await __el.getAttribute('content-desc')];
|
|
12
|
+
if (String(__s.find(s => s && String(s).trim() !== '') ?? '').trim() === __expected) { __found = true; await expect(__el).not.toBeEnabled(); }
|
|
13
|
+
}
|
|
14
|
+
{{!-- Guard: with no match the loop body never runs, so the step would pass having asserted
|
|
15
|
+
nothing. See disabled-with-filter-assertion for why `disabled` needs this and `hidden` does not. --}}
|
|
16
|
+
if (!__found) throw new Error(`[sungen] No element with text "${__expected}" to assert disabled — the assertion never ran`);
|
|
17
|
+
}
|
|
18
|
+
{{else}}
|
|
19
|
+
{
|
|
20
|
+
const __expected = String('{{escapeQuotes dataValue}}').trim();
|
|
21
|
+
const __sel = driver.isIOS ? `-ios predicate string:label == "${__expected}" OR value == "${__expected}"` : `android=new UiSelector().text("${__expected}")`;
|
|
22
|
+
await expect($(__sel)).not.toBeEnabled();
|
|
23
|
+
}
|
|
24
|
+
{{/if}}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{{!-- Disabled by value (mobile): search directly for an element whose text/label/value equals
|
|
2
|
+
dataValue (same idiom as label-value-assertion) and assert it is not enabled. --}}
|
|
3
|
+
{
|
|
4
|
+
const __expected = String('{{escapeQuotes dataValue}}').trim();
|
|
5
|
+
const __sel = driver.isIOS
|
|
6
|
+
? `-ios predicate string:label == "${__expected}" OR value == "${__expected}"`
|
|
7
|
+
: `android=new UiSelector().text("${__expected}")`;
|
|
8
|
+
await expect($(__sel)).not.toBeEnabled();
|
|
9
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{{!-- Dialog heading, hidden (mobile best-effort): mirrors visible-dialog-heading-assertion —
|
|
2
|
+
search for the heading text directly (no native "dialog" role to scope to) and assert it
|
|
3
|
+
is not displayed. --}}
|
|
4
|
+
{
|
|
5
|
+
const __expected = String('{{escapeQuotes dataValue}}').trim();
|
|
6
|
+
const __sel = driver.isIOS
|
|
7
|
+
? `-ios predicate string:label == "${__expected}" OR value == "${__expected}"`
|
|
8
|
+
: `android=new UiSelector().text("${__expected}")`;
|
|
9
|
+
await expect($(__sel)).not.toBeDisplayed();
|
|
10
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{{!-- Filtered hidden (mobile): $$ over the base selector, per-OS text read (contain-text-assertion
|
|
2
|
+
idiom) matched against dataValue — no CSS filter() combinator exists on Appium, so the match
|
|
3
|
+
is hand-rolled. Assert none of the matching elements is displayed. --}}
|
|
4
|
+
{
|
|
5
|
+
const __expected = String('{{escapeQuotes dataValue}}').trim();
|
|
6
|
+
const __items = await $$({{> appium-selector-expr}});
|
|
7
|
+
for (const __el of __items) {
|
|
8
|
+
const __sources = driver.isIOS
|
|
9
|
+
? [await __el.getAttribute('label'), await __el.getAttribute('value')]
|
|
10
|
+
: [await __el.getText(), await __el.getAttribute('content-desc')];
|
|
11
|
+
const __actual = String(__sources.find(s => s && String(s).trim() !== '') ?? '').trim();
|
|
12
|
+
if (__actual === __expected) await expect(__el).not.toBeDisplayed();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{{!-- Role variable, hidden (mobile best-effort): role has no native-mobile analog. A static name
|
|
2
|
+
scopes the search via the role→accessibility-id mapping in appium-selector.hbs, then
|
|
3
|
+
dataValue filters by per-OS text within that scope; with no name, search directly by
|
|
4
|
+
dataValue text like hidden-with-variable-assertion. Assert none of the matches is
|
|
5
|
+
displayed. --}}
|
|
6
|
+
{{#if name}}
|
|
7
|
+
{
|
|
8
|
+
const __expected = String('{{escapeQuotes dataValue}}').trim();
|
|
9
|
+
const __items = await $$('~{{escapeQuotes name}}');
|
|
10
|
+
for (const __el of __items) {
|
|
11
|
+
const __s = driver.isIOS ? [await __el.getAttribute('label'), await __el.getAttribute('value')] : [await __el.getText(), await __el.getAttribute('content-desc')];
|
|
12
|
+
if (String(__s.find(s => s && String(s).trim() !== '') ?? '').trim() === __expected) await expect(__el).not.toBeDisplayed();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
{{else}}
|
|
16
|
+
{
|
|
17
|
+
const __expected = String('{{escapeQuotes dataValue}}').trim();
|
|
18
|
+
const __sel = driver.isIOS ? `-ios predicate string:label == "${__expected}" OR value == "${__expected}"` : `android=new UiSelector().text("${__expected}")`;
|
|
19
|
+
await expect($(__sel)).not.toBeDisplayed();
|
|
20
|
+
}
|
|
21
|
+
{{/if}}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{{!-- Hidden by value (mobile): no base selector to filter — search directly for an element
|
|
2
|
+
whose text/label/value equals dataValue (same idiom as label-value-assertion) and assert
|
|
3
|
+
it is not displayed. --}}
|
|
4
|
+
{
|
|
5
|
+
const __expected = String('{{escapeQuotes dataValue}}').trim();
|
|
6
|
+
const __sel = driver.isIOS
|
|
7
|
+
? `-ios predicate string:label == "${__expected}" OR value == "${__expected}"`
|
|
8
|
+
: `android=new UiSelector().text("${__expected}")`;
|
|
9
|
+
await expect($(__sel)).not.toBeDisplayed();
|
|
10
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
{{!-- Row-scoped column assertions target HTML <table> ARIA roles — not available on native mobile. --}}
|
|
2
|
+
throw new Error("[sungen] row-scoped column assertion targets HTML table roles and is not supported on the appium adapter. Use list / accessibility-id assertions, or tag this scenario @manual.");
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{{!-- State-with-filter (mobile): $$ over the base selector, per-OS text read (hand-rolled — no
|
|
2
|
+
CSS filter() combinator on Appium) matched against dataValue, then assert the state on the
|
|
3
|
+
match. checked/selected map to the composite-row attribute (mirrors checked-assertion);
|
|
4
|
+
empty is a text read; enabled/focused use direct WDIO matchers. A state with no
|
|
5
|
+
native-mobile analog (sorted*, aria-busy loading) fails loud, matching sorted-assertion's
|
|
6
|
+
house style. --}}
|
|
7
|
+
{
|
|
8
|
+
const __expected = String('{{escapeQuotes dataValue}}').trim();
|
|
9
|
+
const __items = await $$({{> appium-selector-expr}});
|
|
10
|
+
let __el: WebdriverIO.Element | undefined;
|
|
11
|
+
for (const __c of __items) {
|
|
12
|
+
const __s = driver.isIOS ? [await __c.getAttribute('label'), await __c.getAttribute('value')] : [await __c.getText(), await __c.getAttribute('content-desc')];
|
|
13
|
+
if (String(__s.find(s => s && String(s).trim() !== '') ?? '').trim() === __expected) { __el = __c; break; }
|
|
14
|
+
}
|
|
15
|
+
if (!__el) throw new Error(`[sungen] No match with text "${__expected}" to assert state on`);
|
|
16
|
+
{{#if (or selectedProbe (eq stateAssertion "toBeChecked()"))}}await expect(__el).toHaveAttribute(driver.isIOS ? 'value' : 'checked', driver.isIOS ? '1' : 'true');
|
|
17
|
+
{{else if (eq stateAssertion "toBeChecked({ checked: false })")}}await expect(__el).not.toHaveAttribute(driver.isIOS ? 'value' : 'checked', driver.isIOS ? '1' : 'true');
|
|
18
|
+
{{else if (eq stateAssertion "toBeEnabled()")}}await expect(__el).toBeEnabled();
|
|
19
|
+
{{else if (eq stateAssertion "toBeFocused()")}}await expect(__el).toBeFocused();
|
|
20
|
+
{{else if (eq stateAssertion "toBeEmpty()")}}await expect(__el).toHaveText('');
|
|
21
|
+
{{else}}throw new Error('[sungen] state qualifier has no native-mobile equivalent — tag this scenario @manual.');
|
|
22
|
+
{{/if}}
|
|
23
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
{{!-- Browser localStorage/sessionStorage has no native-mobile equivalent. --}}
|
|
2
|
+
throw new Error("[sungen] browser local/session storage is web-only and has no native-mobile equivalent. Assert the equivalent app state via a UI element, or via @api/@query against the backend, or tag this scenario @manual.");
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
{{!-- Keyboard tab order is a web-only accessibility concern — no keyboard focus traversal on
|
|
2
|
+
native touch input. --}}
|
|
3
|
+
throw new Error("[sungen] tab order assertions are web-only (keyboard focus traversal) and have no native-mobile equivalent. Run a keyboard/accessibility audit manually and tag this scenario @manual.");
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{{!-- Dialog heading, visible (mobile best-effort): no native "dialog" role — a native alert and
|
|
2
|
+
an in-app modal both render their heading as ordinary text, so search for it directly (same
|
|
3
|
+
idiom as label-value-assertion) and assert displayed. --}}
|
|
4
|
+
{
|
|
5
|
+
const __expected = String('{{escapeQuotes dataValue}}').trim();
|
|
6
|
+
const __sel = driver.isIOS
|
|
7
|
+
? `-ios predicate string:label == "${__expected}" OR value == "${__expected}"`
|
|
8
|
+
: `android=new UiSelector().text("${__expected}")`;
|
|
9
|
+
await expect($(__sel)).toBeDisplayed();
|
|
10
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{{!-- Filtered visible (mobile): $$ over the base selector, per-OS text read matched against
|
|
2
|
+
dataValue — no CSS filter() combinator exists on Appium, so the match is hand-rolled
|
|
3
|
+
(covers both the locator- and role-strategy call sites, since both resolve through
|
|
4
|
+
appium-selector-expr). Assert at least one match is displayed. --}}
|
|
5
|
+
{
|
|
6
|
+
const __expected = String('{{escapeQuotes dataValue}}').trim();
|
|
7
|
+
const __items = await $$({{> appium-selector-expr}});
|
|
8
|
+
let __found = false;
|
|
9
|
+
for (const __el of __items) {
|
|
10
|
+
const __sources = driver.isIOS
|
|
11
|
+
? [await __el.getAttribute('label'), await __el.getAttribute('value')]
|
|
12
|
+
: [await __el.getText(), await __el.getAttribute('content-desc')];
|
|
13
|
+
const __actual = String(__sources.find(s => s && String(s).trim() !== '') ?? '').trim();
|
|
14
|
+
if (__actual === __expected && await __el.isDisplayed()) { __found = true; break; }
|
|
15
|
+
}
|
|
16
|
+
if (!__found) throw new Error(`[sungen] Expected a visible match with text "${__expected}"`);
|
|
17
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{{!-- Role variable, visible (mobile best-effort): ARIA role has no native-mobile analog — reuse
|
|
2
|
+
the role→accessibility-id mapping in appium-selector.hbs (`~name`) when a static name
|
|
3
|
+
exists; the resolver already folds dataValue into name when there is none, so this is only
|
|
4
|
+
the fallback for a caller that omits both. --}}
|
|
5
|
+
{{#if name}}
|
|
6
|
+
await expect($('~{{escapeQuotes name}}')).toBeDisplayed();
|
|
7
|
+
{{else}}
|
|
8
|
+
{
|
|
9
|
+
const __expected = String('{{escapeQuotes dataValue}}').trim();
|
|
10
|
+
const __sel = driver.isIOS ? `-ios predicate string:label == "${__expected}" OR value == "${__expected}"` : `android=new UiSelector().text("${__expected}")`;
|
|
11
|
+
await expect($(__sel)).toBeDisplayed();
|
|
12
|
+
}
|
|
13
|
+
{{/if}}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{{!-- Table refresh (mobile): no aria-busy analog — `indicator` is a raw WDIO selector string
|
|
2
|
+
from qa/app.yaml. Soft-wait for it to appear (it may already be gone), hard-wait for it to
|
|
3
|
+
clear; if it never appears within the soft window, fall back to a short settle pause
|
|
4
|
+
instead of hanging on an indicator this app never shows. --}}
|
|
5
|
+
{
|
|
6
|
+
const __indicator = $('{{escapeQuotes indicator}}');
|
|
7
|
+
const __appeared = await __indicator.waitForDisplayed({ timeout: 1500 }).catch(() => false);
|
|
8
|
+
if (__appeared) {
|
|
9
|
+
await __indicator.waitForDisplayed({ reverse: true, timeout: 15000 });
|
|
10
|
+
} else {
|
|
11
|
+
await driver.pause(500);
|
|
12
|
+
}
|
|
13
|
+
}
|
package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/drag-action.hbs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
await {{> locator}}.dragTo({{
|
|
1
|
+
await {{> locator}}.dragTo({{#switch targetStrategy}}{{#case 'role'}}{{#if targetName}}page.getByRole('{{targetRole}}', { name: '{{escapeQuotes targetName}}' }){{else}}page.getByRole('{{targetRole}}'){{/if}}{{/case}}{{#case 'testid'}}page.getByTestId('{{escapeQuotes targetValue}}'){{/case}}{{#case 'text'}}page.getByText('{{escapeQuotes targetValue}}'){{/case}}{{#case 'locator'}}page.locator('{{escapeQuotes targetValue}}'){{/case}}{{#default}}page.getByText('{{escapeQuotes targetRef}}'){{/default}}{{/switch}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const frame = page.frameLocator('{{
|
|
1
|
+
const frame = page.frameLocator('{{escapeQuotes frameSelector}}');
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
const
|
|
3
|
-
const __n_{{stepCounter}} = await
|
|
4
|
-
expect(__n_{{stepCounter}}, 'Expected at least one [{{selectorRef}}]').toBeGreaterThan(0);
|
|
5
|
-
for (let
|
|
6
|
-
await expect({{#with child}}{{> locator}}{{/with}}, 'Every [{{selectorRef}}] must contain [{{childRef}}]').toBeVisible();
|
|
2
|
+
const {{containerVar}} = {{> locator}};
|
|
3
|
+
const __n_{{stepCounter}} = await {{containerVar}}.count();
|
|
4
|
+
expect(__n_{{stepCounter}}, 'Expected at least one [{{escapeQuotes selectorRef}}]').toBeGreaterThan(0);
|
|
5
|
+
for (let {{containerIndexVar}} = 0; {{containerIndexVar}} < __n_{{stepCounter}}; {{containerIndexVar}}++) {
|
|
6
|
+
await expect({{#with child}}{{> locator parentLocator=(add (add (add ../containerVar ".nth(") ../containerIndexVar) ")")}}{{/with}}, 'Every [{{escapeQuotes selectorRef}}] must contain [{{escapeQuotes childRef}}]').toBeVisible();
|
|
7
7
|
}
|
|
8
8
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{{!-- Column assertion scoped to the current row (`tableRow`, bound by the row-in-table entry step that ran before this one). columnIndex uses `isDefined` rather than a bare truthy check: column 0 is a valid index. --}}{{#if (isDefined columnIndex)}}await expect(tableRow.getByRole('cell', { includeHidden: true }).filter({ visible: true }).nth({{columnIndex}})).toHaveText('{{escapeQuotes cellValue}}');{{else if isGiven}}await tableRow.getByRole('cell', { includeHidden: true }).filter({ hasText: '{{escapeQuotes cellValue}}' }).filter({ visible: true }).waitFor();{{else}}await expect(tableRow.getByRole('cell', { includeHidden: true }).filter({ hasText: '{{escapeQuotes cellValue}}' }).filter({ visible: true })).toBeVisible();{{/if}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-generator.d.ts","sourceRoot":"","sources":["../../../src/generators/test-generator/code-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAA8B,MAAM,mBAAmB,CAAC;AAI9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"code-generator.d.ts","sourceRoot":"","sources":["../../../src/generators/test-generator/code-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAA8B,MAAM,mBAAmB,CAAC;AAI9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAqOrD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAM;IAErB,OAAO,CAAC,eAAe,CAAc;IAErC,OAAO,CAAC,aAAa,CAAqC;IAE1D,OAAO,CAAC,WAAW,CAA8B;gBAErC,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAO;IAiBtK,oFAAoF;IACpF,cAAc,IAAI,oBAAoB;IAItC;;OAEG;IACG,YAAY,CAChB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC;IA0EzB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAclB;;OAEG;IACH,SAAS,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAS7C;;OAEG;IACH;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IA0C3B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAoB/B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAY3B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;YASzB,gBAAgB;YA0ThB,uBAAuB;YAYvB,kBAAkB;YAoBlB,YAAY;IAqB1B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;YASlB,gBAAgB;IAoJ9B;;OAEG;IACH,OAAO,CAAC,UAAU;IAKlB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;OAEG;IACH;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,kBAAkB;IAyBpB,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,aAAa,EAAE,CAAC;CA+D5B"}
|
|
@@ -74,21 +74,31 @@ function extractCleanupFlags(tags) {
|
|
|
74
74
|
return found ? flags : undefined;
|
|
75
75
|
}
|
|
76
76
|
/**
|
|
77
|
-
* Extract pass-through tags (non-functional)
|
|
78
|
-
* Any tag not recognized by sungen as functional → pass through.
|
|
77
|
+
* Extract pass-through tags (non-functional) — the unique, unformatted tag tokens (e.g. `@smoke`).
|
|
78
|
+
* Any tag not recognized by sungen as functional → pass through. Formatting is adapter-specific
|
|
79
|
+
* (Playwright wants a quoted `{ tag: [...] }` array; Appium/mocha has no such option and instead
|
|
80
|
+
* appends the tags to the `it()` title — see `formatPassThroughTags`).
|
|
79
81
|
*/
|
|
80
82
|
const FUNCTIONAL_TAG_PREFIXES = [
|
|
81
83
|
'@parallel', '@serial', '@cleanup:', '@auth:', '@manual', '@no-auth',
|
|
82
84
|
'@steps:', '@extend:', '@screenshot:', '@beforeAll', '@afterEach', '@afterAll',
|
|
83
|
-
'@flow', '@cases:', '@deferred:', '@owned-by:',
|
|
85
|
+
'@flow', '@cases:', '@deferred:', '@owned-by:', '@platform:',
|
|
84
86
|
];
|
|
85
87
|
function extractPassThroughTags(scenarioTags, featureTags) {
|
|
86
88
|
const allTags = [...featureTags, ...scenarioTags];
|
|
87
89
|
const passThrough = allTags.filter(tag => !FUNCTIONAL_TAG_PREFIXES.some(prefix => tag.startsWith(prefix)));
|
|
88
|
-
|
|
89
|
-
|
|
90
|
+
return [...new Set(passThrough)];
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Format the unique pass-through tags for the active adapter's `ScenarioData.tags` field:
|
|
94
|
+
* - Playwright: `'@smoke', '@high'` — spliced verbatim into `{ tag: [...] }` (see scenario.hbs).
|
|
95
|
+
* - Appium: `@smoke @high` — appended to the mocha `it()` title (D5) so `--grep` still filters,
|
|
96
|
+
* since mocha has no per-test tag/annotation option like Playwright's.
|
|
97
|
+
*/
|
|
98
|
+
function formatPassThroughTags(tags, frameworkName) {
|
|
99
|
+
if (tags.length === 0)
|
|
90
100
|
return undefined;
|
|
91
|
-
return
|
|
101
|
+
return frameworkName === 'appium' ? tags.join(' ') : tags.map(t => `'${t}'`).join(', ');
|
|
92
102
|
}
|
|
93
103
|
/**
|
|
94
104
|
* Derive a feature's unit from its source path: the catalog-resolution id (relative to qa/), the
|
|
@@ -651,6 +661,16 @@ class CodeGenerator {
|
|
|
651
661
|
// - Single group: flat structure (test.use at describe level if auth)
|
|
652
662
|
// - Multiple groups: nested describes per auth role
|
|
653
663
|
const needsGrouping = authGroups.length > 1;
|
|
664
|
+
// D6 — the Appium test-file template has no per-group before-hook (only `singleAuthRole` runs
|
|
665
|
+
// `__ensureAuth`); >1 auth group would render every group's scenarios with NO authentication at
|
|
666
|
+
// all, silently. Mirrors the web `@parallel` guard below, but unconditional (isParallel has no
|
|
667
|
+
// per-group meaning on mobile — the template never branches on it).
|
|
668
|
+
if (needsGrouping && this.adapter.frameworkName === 'appium') {
|
|
669
|
+
const roles = groupOrder.map(k => k || '(no @auth)').join(', ');
|
|
670
|
+
throw new Error(`Feature "${feature.name}" has multiple auth groups (${roles}) but the Appium adapter only ` +
|
|
671
|
+
`supports a single shared auth role per feature — the other groups would run unauthenticated.\n` +
|
|
672
|
+
`Fix: split "${feature.name}" into one feature file per @auth role.`);
|
|
673
|
+
}
|
|
654
674
|
if (needsGrouping && !isParallel) {
|
|
655
675
|
throw new Error(`Feature "${feature.name}" has multiple auth groups but no @parallel tag.\n` +
|
|
656
676
|
`Serial mode uses a shared browser context — it cannot mix different auth roles.\n` +
|
|
@@ -874,8 +894,9 @@ class CodeGenerator {
|
|
|
874
894
|
});
|
|
875
895
|
}
|
|
876
896
|
}
|
|
877
|
-
// Extract pass-through tags (feature + scenario, excluding functional tags)
|
|
878
|
-
|
|
897
|
+
// Extract pass-through tags (feature + scenario, excluding functional tags), formatted for
|
|
898
|
+
// the active adapter (Playwright `{ tag: [...] }` vs. Appium's mocha-title suffix — D5).
|
|
899
|
+
const tags = formatPassThroughTags(extractPassThroughTags(scenario.tags, featureTags), this.adapter.frameworkName);
|
|
879
900
|
// Use adapter to render scenario
|
|
880
901
|
const rendered = this.adapter.renderScenario({
|
|
881
902
|
scenarioName: scenario.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-generator.js","sourceRoot":"","sources":["../../../src/generators/test-generator/code-generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"code-generator.js","sourceRoot":"","sources":["../../../src/generators/test-generator/code-generator.ts"],"names":[],"mappings":"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"}
|