/** * Auto-generated by @futdevpro/dynamo-e2e — FormSuite Generator * Form key: sandbox-radio-vertical * Route: /c/radio-select-field-new * Built at: WAVE-1-STAMP * * DO NOT EDIT BY HAND. Re-emit via `dc e2e generate-form-suite` or * `DyE2E_FormSuite_Generator.emit({...})` consumer-script. */ import { test, expect, Locator } from '@playwright/test'; test.describe('Sandbox: DyNX_RadioSelectFieldNew (Vertical variant)', (): void => { test.describe('Field: priority (radioSelect)', (): void => { test.beforeEach(async ({ page }): Promise => { const response = await page.goto('/c/radio-select-field-new'); expect(response?.ok()).toBeTruthy(); await page.locator('dynamo-radio-select-field-new').first().waitFor({ state: 'visible' }); }); test('field[priority] select:none-selected → valid — semmi nincs választva', async ({ page }): Promise => { // options index → testId-suffix selection const fieldRoot: Locator = page.locator('[data-testid="sandbox-radio-vertical"], dynamo-radio-select-field-new').first(); // sentinel -1 — generator-runtime should clamp to options.length // Wave-1: explicit selector-pattern is per-consumer; szándékosan minimalista. const fieldRoot: Locator = page.locator('[data-testid="sandbox-radio-vertical"]').locator('xpath=ancestor-or-self::*[contains(@class,"field") or starts-with(local-name(),"dynamo-")]').first(); await expect(fieldRoot.locator('.text-red-400.mt-1')).toHaveCount(0); }); test('field[priority] select:first-option → valid — első opció kiválasztva', async ({ page }): Promise => { // options index → testId-suffix selection const fieldRoot: Locator = page.locator('[data-testid="sandbox-radio-vertical"], dynamo-radio-select-field-new').first(); // option index 0 (case-input[0]) // Wave-1: explicit selector-pattern is per-consumer; szándékosan minimalista. const fieldRoot: Locator = page.locator('[data-testid="sandbox-radio-vertical"]').locator('xpath=ancestor-or-self::*[contains(@class,"field") or starts-with(local-name(),"dynamo-")]').first(); await expect(fieldRoot.locator('.text-red-400.mt-1')).toHaveCount(0); }); test('field[priority] select:last-option → valid — utolsó opció kiválasztva', async ({ page }): Promise => { // options index → testId-suffix selection const fieldRoot: Locator = page.locator('[data-testid="sandbox-radio-vertical"], dynamo-radio-select-field-new').first(); // option index 3 (case-input[0]) // Wave-1: explicit selector-pattern is per-consumer; szándékosan minimalista. const fieldRoot: Locator = page.locator('[data-testid="sandbox-radio-vertical"]').locator('xpath=ancestor-or-self::*[contains(@class,"field") or starts-with(local-name(),"dynamo-")]').first(); await expect(fieldRoot.locator('.text-red-400.mt-1')).toHaveCount(0); }); test('field[priority] select:required-empty → invalid:required — required + semmi → invalid', async ({ page }): Promise => { // options index → testId-suffix selection const fieldRoot: Locator = page.locator('[data-testid="sandbox-radio-vertical"], dynamo-radio-select-field-new').first(); // sentinel -1 — generator-runtime should clamp to options.length // Wave-1: explicit selector-pattern is per-consumer; szándékosan minimalista. const fieldRoot: Locator = page.locator('[data-testid="sandbox-radio-vertical"]').locator('xpath=ancestor-or-self::*[starts-with(local-name(),"dynamo-")]').first(); await expect(fieldRoot.locator('.text-red-400.mt-1').first()).toBeVisible(); // expectedErrorKey: required }); test('field[priority] select:disabled-option → valid — disabled opció nem klikkelheto', async ({ page }): Promise => { // options index → testId-suffix selection const fieldRoot: Locator = page.locator('[data-testid="sandbox-radio-vertical"], dynamo-radio-select-field-new').first(); // sentinel -1 — generator-runtime should clamp to options.length // Wave-1: explicit selector-pattern is per-consumer; szándékosan minimalista. const fieldRoot: Locator = page.locator('[data-testid="sandbox-radio-vertical"]').locator('xpath=ancestor-or-self::*[contains(@class,"field") or starts-with(local-name(),"dynamo-")]').first(); await expect(fieldRoot.locator('.text-red-400.mt-1')).toHaveCount(0); }); }); });