Проверить, что массив объектов содержит значение ⇐ Javascript
-
Anonymous
Проверить, что массив объектов содержит значение
Я столкнулся с проблемой: у меня есть ответ, содержащий массив объектов. В зависимости от ответа массив не всегда находится в одном и том же порядке, но мне нужно убедиться, что хотя бы один из объектов в массив объектов содержит определенное значение (или пару ключ/значение).
Например, JSON выглядит так:
{ данные: [ { foo: 'Имя 1', бар: '2022-06-07T00:00:00', }, { foo: 'Имя 2', бар: '2022-06-07T00:00:00', }, { foo: 'Имя 3', бар: '2022-06-07T00:00:00', }
Я бы использовал что-то вроде expect(responseBody.data).toContainEqual({foo: "Name 2"}), но это не работает. Что-то вроде toHaveProperty подойдет лучше? (Все еще не уверен, что понимаю разницу между toEqual, toBe и toContainEqual и т. д., поскольку они очень похожи.
Полагаю, мне нужно что-то добавить, сам объект, который я проверяю, может содержать случайные данные (например, даты/временные метки и т. д.), поэтому я не буду знать конкретно все данные объекта.
Я столкнулся с проблемой: у меня есть ответ, содержащий массив объектов. В зависимости от ответа массив не всегда находится в одном и том же порядке, но мне нужно убедиться, что хотя бы один из объектов в массив объектов содержит определенное значение (или пару ключ/значение).
Например, JSON выглядит так:
{ данные: [ { foo: 'Имя 1', бар: '2022-06-07T00:00:00', }, { foo: 'Имя 2', бар: '2022-06-07T00:00:00', }, { foo: 'Имя 3', бар: '2022-06-07T00:00:00', }
Я бы использовал что-то вроде expect(responseBody.data).toContainEqual({foo: "Name 2"}), но это не работает. Что-то вроде toHaveProperty подойдет лучше? (Все еще не уверен, что понимаю разницу между toEqual, toBe и toContainEqual и т. д., поскольку они очень похожи.
Полагаю, мне нужно что-то добавить, сам объект, который я проверяю, может содержать случайные данные (например, даты/временные метки и т. д.), поэтому я не буду знать конкретно все данные объекта.
Мобильная версия