/
kaws
/
ui-kit-ce
Обзор
Документация
Войти
/
kaws
/
ui-kit-ce
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
jest/utils/userEvent.ts
35 строк
1 KB
OUT-Albov.A.A
fix(masked-input): конфигурация маски
22 июл 2024, 12:06
22 июл 2024, 12:06
0cb4e1a
Код
Авторство
О чём код?
import testingLibraryUserEvent from '@testing-library/user-event' import { waitFor } from '@testing-library/dom' type UserEventType = typeof testingLibraryUserEvent & { /** * Функция для ввода символов в `MaskedInput`. Это альтернативный вариант * для функции `type`, но без рандомного перемещения selectedIndex */ typeMasked: ( ...args: Partial<Parameters<typeof userEvent.type>> ) => Promise<void> } const userEvent = testingLibraryUserEvent as UserEventType userEvent.typeMasked = async ( ...args: Partial<Parameters<typeof userEvent.type>> ): Promise<void> => { const [input, text = '', options = {}] = args if (!(input instanceof HTMLInputElement)) { return } const textFlip = text.split('').reverse().join('') for (let i = 0; i < textFlip.length; i++) { input.setSelectionRange(0, 0) await waitFor(() => userEvent.keyboard(textFlip[i], options), { timeout: 5, }) } } export { userEvent }