Я пытаюсь выполнить модульное тестирование формы, чтобы убедиться, что мой валидатор отображает ошибку, когда в поле ввода есть недопустимое значение.
Я использую библиотеку 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 и изменение активируют функцию проверки, поэтому в результате отобразится ошибка