/** * Auto-generated by @futdevpro/dynamo-e2e — FormSuite Generator * Form key: sb-textarea * Route: /c/textarea-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_TextAreaFieldNew', (): void => { test.describe('Field: bio (textarea)', (): void => { test.beforeEach(async ({ page }): Promise => { const response = await page.goto('/c/textarea-field-new'); expect(response?.ok()).toBeTruthy(); await page.locator('dynamo-textarea-field-new').first().waitFor({ state: 'visible' }); }); test('field[bio] textarea:empty → valid — üres textarea', async ({ page }): Promise => { const input: Locator = page.getByTestId('sandbox-textarea-default'); await input.fill(''); await input.blur(); const fieldRoot: Locator = page.locator('[data-testid="sandbox-textarea-default"]').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[bio] textarea:multiline → valid — több-soros bevitel', async ({ page }): Promise => { const input: Locator = page.getByTestId('sandbox-textarea-default'); await input.fill('első sor\nmásodik sor\nharmadik sor'); await input.blur(); const fieldRoot: Locator = page.locator('[data-testid="sandbox-textarea-default"]').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[bio] textarea:sentence → valid — egy sornyi mondat', async ({ page }): Promise => { const input: Locator = page.getByTestId('sandbox-textarea-default'); await input.fill('Egy mondat, ami minden rendben van.'); await input.blur(); const fieldRoot: Locator = page.locator('[data-testid="sandbox-textarea-default"]').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[bio] textarea:long-paragraph → invalid:maxLength — hosszú bekezdés (2000+ char)', async ({ page }): Promise => { const input: Locator = page.getByTestId('sandbox-textarea-default'); await input.fill('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'); await input.blur(); const fieldRoot: Locator = page.locator('[data-testid="sandbox-textarea-default"]').locator('xpath=ancestor-or-self::*[starts-with(local-name(),"dynamo-")]').first(); await expect(fieldRoot.locator('.text-red-400.mt-1').first()).toBeVisible(); // expectedErrorKey: maxLength }); test('field[bio] textarea:unicode-emoji → valid — emoji a textarea-ban', async ({ page }): Promise => { const input: Locator = page.getByTestId('sandbox-textarea-default'); await input.fill('Pénztárgép 🧾 fizetés 💳 vége 🎉'); await input.blur(); const fieldRoot: Locator = page.locator('[data-testid="sandbox-textarea-default"]').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[bio] textarea:xss-tag → valid — XSS-tag textarea-ban', async ({ page }): Promise => { const input: Locator = page.getByTestId('sandbox-textarea-default'); await input.fill(''); await input.blur(); const fieldRoot: Locator = page.locator('[data-testid="sandbox-textarea-default"]').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); }); }); });