Мне нужно проверить, что массив объектов содержит определенное значение. Тест написан на Cypress, и для этого я использую cy.wrap
и .some()
.
Мой код выглядит так:
const myCustomArray = [{ name: 'Lisa' }, { name: 'Katie' }];
cy.wrap(myCustomArray.some((user) => {
if (user.name === 'Lisa') {
return true;
} else {
return false;
}
})).should('eq', true);
Это работает хорошо, но проблема в том, что тогда он возвращает мне очень неопределенное c сообщение в консоли Cypress.
То, что я хотел бы получить, это изменить мой код таким образом, чтобы сообщение было понятно. По идее, это было бы что-то вроде этого:
const myCustomArray = [{ name: 'Lisa' }, { name: 'Katie' }];
cy.wrap(myCustomArray.some((user) => {
if (user.name === 'Lisa') {
return 'user name is Lisa';
}
})).should('eq', 'user name is Lisa');
Но это не может работать, поскольку .some()
может возвращать только логическое значение. Я предполагаю, что есть функция массива, которая могла бы помочь мне сделать это, но я не могу найти какую.
Я не уверен, что:
- Есть команды Cypress, которые я не зная, что может решить эту проблему, например. Настройка сообщения подтверждения.
- Или это можно решить с помощью JavaScript
Оба решения подойдут для меня.