Как проверить в почтальоне, независимо от количества результатов, что все данные в ответе возвращают id, firstname, lastname и т.д.
Вот как выглядит ответ:
[
{
"id": 1,
"first_name": "Sebastian",
"last_name": "Eschweiler",
"email": "[email protected]"
},
{
"first_name": "Sebastian",
"last_name": "Eschweiler",
"email": "[email protected]",
"id": 4
},
{
"id": 5,
"first_name": "Sebastian",
"last_name": "Eschweiler",
"email": "[email protected]"
},
{
"first_name": "Sebastian",
"last_name": "Eschweiler",
"email": "[email protected]",
"id": 8
},
{
"id": 9,
"first_name": "Sebastian",
"last_name": "Eschweiler",
"email": "[email protected]"
},
{
"first_name": "Sebastian",
"last_name": "Eschweiler",
"email": "[email protected]",
"id": 12
}
]
Я хочу проверить две вещи:
1) Ответ возвращает id, first_name, last_name, email
2) Все first_name равно "Себастьяну", независимо от того, есть ли только один результат или 100
Это то, что я пытался, однако, он работает только для одного результата:
const jsonData = pm.response.json();
pm.test('Has data', function() {
pm.expect(jsonData).to.have.property('first_name');
pm.expect(jsonData).to.have.property('last_name');
pm.expect(jsonData).to.have.property('email');
pm.expect(jsonData).to.have.property('id');
});
Вы можете попробовать следующее:
pm.test("Has data",() => {
_.each(pm.response.json(), (item) => {
pm.expect(item.first_name).to.eql("Sebastian")
pm.expect(item).to.have.property('first_name')
pm.expect(item).to.have.property('last_name')
pm.expect(item).to.have.property('email')
pm.expect(item).to.have.property('id')
})
})
Это будет работать на основе набора данных, который вы предоставили.