Как подтвердить значение, установленное jQuery в приемочном тесте, с помощью Codeception?

Я пишу приложение на WordPress для управления усыновлением собак. В одном сценарии пользователь выбирает первичную породу из выборки и вторичную породу из другой выборки. Когда они выбирают породу, поле ввода (доступное только для чтения) заполняется значениями двух выбранных.

Я хотел проверить это, и я написал приемочный тест, который делает именно это. Выбирается порода собаки из выбора, и значение добавляется к входным данным через jQuery:

Изображение поля с заполненным значением собаки

Беда в том, что когда я пытаюсь утверждать, что текст существует, я постоянно получаю ошибку и тест не проходит. Следующие строки - это те, которые я пробовал:

$I->see('Kelpie X');
$I->seeElement( '#acf-field_mdr_dog_text_breed_name', ['value' => 'Kelpie X']);
$I->seeInField( 'input#acf-field_mdr_dog_text_breed_name', 'Kelpie X');

Почему эти состояния не проходят? Нужно ли это делать, потому что jQuery устанавливает значение?

Спасибо!


person csaborio    schedule 23.12.2020    source источник


Ответы (1)


Я не уверен, почему первый не сработал, но я заметил, что значение в текстовом поле ввода имело пробел после X. Очевидно, seeInField и seeElement очень строгие, так что это помогло:

// Note the space after the X
        $I->seeElement( 'input#acf-field_mdr_dog_text_breed_name', ['value' => 'Kelpie X ']);
        $I->seeInField( 'input#acf-field_mdr_dog_text_breed_name', 'Kelpie X ');
person csaborio    schedule 23.12.2020