Suppose a API request fetches a users id, email address and their designated role. Sample API Request below:
GET: /v1/users HTTP/1.1
Content-Type: application/json
Authorization: bearer {access_token}
For the above request, the following is the response:
{
"content": [
{
"id": 1,
"email": "[email protected]",
"full_name": "AlbusDumbledore",
"role": "OWNER"
},
{
"id": 40,
"email": "[email protected]",
"role": "OWNER"
}
],
"last": false,
"total_elements": 2,
"total_pages": 1,
"sort": null,
"first": true,
"number_of_elements": 2,
"size": 20,
"number": 0
}
Now, what will be the test in postman to make sure that all the returned values under role node is equal to OWNER?
You could add something like a loop to check for it?
pm.test("Check role equals OWNER", () => {
var jsonData = pm.response.json()
for (i = 0; i < jsonData.content.length; i++) {
pm.expect(jsonData.content[i].role).to.equal('OWNER')
}
})
This should work to check the value of each role
property, if the schema response you posted is correct.
I changed one of the values and ran the test again to show you it working - This will show the failure in Postman if the property is not equal to 'OWNER'.