Почтальон - Как утверждать, что массив в теле ответа содержит строковое значение во всех его элементах - PullRequest
1 голос
/ 10 января 2020

Новичок в Почтальоне и не привык писать код, поэтому, пожалуйста, помогите. Не могу найти ни одного подобного поста, который я мог бы использовать. Я хочу добавить утверждение, чтобы проверить, присутствует ли значение во всех элементах массива.

В приведенном ниже примере у меня есть массив Fee с 3 элементами. Я хочу пройти тест, когда все они имеют ClientName, в котором содержится «Севилья». Как я могу это сделать?

{
“Fees”: [
{
“Id”: 1,
“clientName”: “Seville ABC”,
“ProductName”: “Product A”,
“Fee”: “123”,
},
{
“Id”: 2,
“clientName”: “Seville”,
“ProductName”: “Product A”,
“Fee”: “123”,
},
{
“Id”: 3,
“clientName”: “Seville XYZ”,
“ProductName”: “Product A”,
“Fee”: “123”,
}
]

Заранее спасибо.

1 Ответ

1 голос
/ 10 января 2020

Вы можете попробовать что-то вроде этого:

let jsonData = pm.response.json()

pm.test('The `clientName` contains Seville', () => {
    _.each(jsonData.Fee, (item) => {
        pm.expect(item.clientName).to.include('Seville')
    })
})

Он проходит по массиву Fee и затем с помощью функции .include chai проверяет, содержит ли значение clientName каждого объекта, эта строка.

...