Опять же, вопрос по 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>