|
1 | 1 | import { expect, test } from '@playwright/test';
|
2 |
| -import { asyncEvents } from './utils/async-events.js'; |
3 | 2 |
|
4 |
| -test('Test happy paths on test page', async ({ page }) => { |
5 |
| - const { navigate } = asyncEvents(page); |
6 |
| - await navigate('/?clientId=60de77d5-dd2c-41ef-8c40-f8bb2381a359'); |
| 3 | +test('Should render form fields', async ({ page }) => { |
| 4 | + await page.goto('http://localhost:5829/?clientId=60de77d5-dd2c-41ef-8c40-f8bb2381a359'); |
| 5 | + await page.getByRole('heading', { name: 'Select Test Form' }).click(); |
| 6 | + await page.getByRole('button', { name: 'Form Fields' }).click(); |
| 7 | + await page.getByRole('textbox', { name: 'Text Input Label' }).click(); |
| 8 | + await page.getByRole('textbox', { name: 'Text Input Label' }).click(); |
7 | 9 |
|
8 |
| - console.log(page.url()); |
9 |
| - expect(page.url()).toBe('http://localhost:5829/?clientId=60de77d5-dd2c-41ef-8c40-f8bb2381a359'); |
| 10 | + const txtInput = page.getByRole('textbox', { name: 'Text Input Label' }); |
| 11 | + await txtInput.fill('This is some text'); |
| 12 | + expect(txtInput).toHaveValue('This is some text'); |
10 | 13 |
|
11 |
| - await expect(page.getByText('Select Test Form')).toBeVisible(); |
| 14 | + const flowLink = page.getByRole('button', { name: 'Flow Link' }); |
| 15 | + await flowLink.click(); |
12 | 16 |
|
13 |
| - const formFields = page.getByRole('button', { name: 'Form Fields' }); |
14 |
| - const formValidation = page.getByRole('button', { name: 'Form Validation' }); |
| 17 | + const flowButton = page.getByRole('button', { name: 'Flow Button' }); |
| 18 | + await flowButton.click(); |
15 | 19 |
|
16 |
| - await expect(formFields).toBeVisible(); |
17 |
| - await expect(formValidation).toBeVisible(); |
| 20 | + await page.getByRole('button', { name: 'Submit' }).click(); |
| 21 | +}); |
| 22 | + |
| 23 | +test('should render form validation fields', async ({ page }) => { |
| 24 | + await page.goto('http://localhost:5829/?clientId=60de77d5-dd2c-41ef-8c40-f8bb2381a359'); |
| 25 | + await expect(page.getByRole('link', { name: 'Vite logo' })).toBeVisible(); |
| 26 | + await expect(page.getByRole('button', { name: 'Form Validation' })).toBeVisible(); |
| 27 | + await expect(page.locator('#form')).toContainText('Form Validation'); |
| 28 | + await page.getByRole('button', { name: 'Form Validation' }).click(); |
| 29 | + await expect(page.getByRole('heading', { name: 'Form Fields Validation' })).toBeVisible(); |
| 30 | + await expect(page.getByText('Username')).toBeVisible(); |
| 31 | + await expect(page.getByRole('textbox', { name: 'Username' })).toBeVisible(); |
| 32 | + await expect(page.getByText('Email Address')).toBeVisible(); |
| 33 | + await expect(page.getByRole('textbox', { name: 'Email Address' })).toBeVisible(); |
| 34 | + await expect(page.getByRole('button', { name: 'Submit' })).toBeVisible(); |
| 35 | + await page.getByRole('textbox', { name: 'Username' }).click(); |
| 36 | + await page.getByRole('textbox', { name: 'Username' }).fill('sdk-user'); |
| 37 | + await expect(page.getByRole('textbox', { name: 'Username' })).toHaveValue('sdk-user'); |
| 38 | + await page.getByRole('textbox', { name: 'Email Address' }).click(); |
| 39 | + await page.getByRole('textbox', { name: 'Email Address' }).fill('[email protected]'); |
| 40 | + await expect(page.getByRole('textbox', { name: 'Email Address' })).toHaveValue( |
| 41 | + |
| 42 | + ); |
| 43 | + await page.getByRole('button', { name: 'Submit' }).click(); |
18 | 44 | });
|
0 commit comments