Как установить / изменить значение поля ввода в Jest при тестировании модуля без проекта? - PullRequest
1 голос
/ 25 апреля 2019

Я пытаюсь выполнить модульное тестирование формы, чтобы убедиться, что мой валидатор отображает ошибку, когда в поле ввода есть недопустимое значение.

Я использую библиотеку jquery-validation, и она повторнопроверяет на изменение.Я использую Jest для своих тестов, и все, что я нашел в Google, - это примеры использования оболочки для переднего плана реакции.Мой интерфейс - JSP, и я не уверен, есть ли способ имитировать изменение ввода.Если пользователь вводит недопустимое значение, я ожидаю увидеть новый элемент ошибки в DOM, и как только он изменится на допустимый текст, этот элемент будет удален.

global.$ = global.jQuery = require( 'jquery' );
require('jquery.validate.js');  // The library file
require('form-validators.js');  // My rules and custom validation functions

document.body.innerHTML =
    '<form id="createUser" novalidate="novalidate">' +
    '  <input id="create_email" name="username" required="required" value="">' +
    '</form>';

$('#create_email').text("AN_INVALID_EMAIL");
console.log($('#create_email').text());  // Displays the expected text: AN_INVALID_EMAIL
expect($('#create_email-error').length).toEqual(1);  // This fails

Я ожидаю, что изменение входного текста в DOM и изменение активируют функцию проверки, поэтому в результате отобразится ошибка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...