/
githubmirror
/
react-hook-form
Обзор
Документация
Войти
/
githubmirror
/
react-hook-form
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
e2e/setValue.spec.ts
79 строк
3 KB
Bill
🥗 migrate to playwright & fix delay error feature (#13589)
11 июл 2026, 12:39
Не верифицирован
11 июл 2026, 12:39
11bd6df
Код
Авторство
О чём код?
import { expect, test } from '@playwright/test'; import { type } from './utils'; test.describe('form setValue', () => { test('should set input value, trigger validation and clear all errors', async ({ page, }) => { await page.goto('/setValue'); await expect(page.locator('input[name="firstName"]')).toHaveValue('wrong'); await expect(page.locator('input[name="age"]')).toHaveValue('2'); await expect(page.locator('input[name="array.0"]')).toHaveValue('array.0'); await expect(page.locator('input[name="array.1"]')).toHaveValue('array.1'); await expect(page.locator('input[name="array.2"]')).toHaveValue('array.2'); await expect(page.locator('input[name="object.firstName"]')).toHaveValue( 'firstName', ); await expect(page.locator('input[name="object.lastName"]')).toHaveValue( 'lastName', ); await expect(page.locator('input[name="object.middleName"]')).toHaveValue( 'middleName', ); await expect(page.locator('input[name="radio"]')).toBeChecked(); await expect( page.locator('input[name="checkboxArray"][value="2"]'), ).toBeChecked(); await expect( page.locator('input[name="checkboxArray"][value="3"]'), ).toBeChecked(); await expect(page.locator('select[name="select"]')).toHaveValue('a'); await expect(page.locator('select[name="multiple"]')).toHaveValues([ 'a', 'b', ]); await expect(page.locator('#trigger')).toContainText('Trigger error'); await expect(page.locator('#lastName')).toHaveCount(0); await expect(page.locator('#nestedValue')).toContainText('required'); await page.locator('#submit').click(); await expect(page.locator('#lastName')).toContainText('Last name error'); await type(page.locator('input[name="lastName"]'), 'test'); await type(page.locator('input[name="trigger"]'), 'trigger'); await type(page.locator('input[name="nestedValue"]'), 'test'); await page.locator('#submit').click(); await expect(page.locator('p')).toHaveCount(0); // Verified stable at 8 across repeated runs under Playwright (Cypress // observed 7; the extra render is a genuine timing difference, not flake). await expect(page.locator('#renderCount')).toContainText('8'); await page.locator('#setMultipleValues').click(); await expect(page.locator('input[name="array.0"]')).toHaveValue( 'array[0]1', ); await expect(page.locator('input[name="array.1"]')).toHaveValue( 'array[1]1', ); await expect(page.locator('input[name="array.2"]')).toHaveValue( 'array[2]1', ); await expect(page.locator('input[name="object.firstName"]')).toHaveValue( 'firstName1', ); await expect(page.locator('input[name="object.lastName"]')).toHaveValue( 'lastName1', ); await expect(page.locator('input[name="object.middleName"]')).toHaveValue( 'middleName1', ); await expect(page.locator('input[name="nestedValue"]')).toHaveValue('a,b'); // Verified stable at 8 across repeated runs under Playwright (Cypress // observed 7; the extra render is a genuine timing difference, not flake). await expect(page.locator('#renderCount')).toContainText('8'); }); });