Потерян в 'inside ()' в Cypress - PullRequest
2 голосов
/ 26 мая 2020

Опять же, вопрос по Cypress. У меня на странице много блоков превью публикаций, каждый блок содержит заголовок и несколько статусов самой публикации и ее пользователей, и мне нужно проверять статусы тех или иных блоков с помощью теста. Я не могу использовать 'eq ()', потому что данные - это динамический c и по некоторым причинам тесты также не выполняются в том же порядке, поэтому я часто получаю неправильную публикацию, подсчитывая eq (). Итак, я пытался использовать «внутри», но это не удалось.

Мой тест:

cy.get('[data-test="list-item"]').within(() => {
      cy.get('[data-test="title-link"]')
        .contains('Empty text')
        .find('[data-test="status"]')
        .contains('Draft');
    });

Я понимаю, что моя ошибка в 'contains ()', потому что он пытается искать в есть, но, как я упоминал выше, у меня нет другого способа фильтровать элементы, кроме как по заголовкам. Мне нужно проверить, что блок с заголовком A имеет статус «Черновик», блок с заголовком B имеет статус «Опубликован» и c.

Код, который я пытаюсь проверить (UPD: HTML, так как в реакции слишком много ненужной информации):

<div class="list-item bg-white cursor-pointer" data-test="list-item">
<div class="content-grid grid grid-rows-1 sm:grid-cols-2">
<div>
<a data-test="title-link" class="leading-lg font-medium text-lg text-black" href="/edit/details/5ecf5deb49ec7431bca16759">Empty text</a>
</div>
<div class="text-right mt-4 sm:mt-0">
<div class="leading-caption font-medium" data-test="status">Draft</div>
<div class="mt-4" data-test="phase">
</div>
</div>
</div>
</div>

1 Ответ

1 голос
/ 27 мая 2020

Если я правильно слежу за вашей структурой компонентов React, я думаю, вы могли бы протестировать ее следующим образом

REF: родители ()

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