Asserting array properties
GET {{mockBaseUrl}}/goods
You can check whether an array is empty or not, and whether it contains particular items.
/*
response has this structure:
{
"errors": [],
"areas": [ "goods", "services" ],
"settings": [
{
"type": "notification",
"detail": [ "email", "sms" ]
},
{
"type": "visual",
"detail": [ "light", "large" ]
}
]
}
*/
const jsonData = pm.response.json();
pm.test("Test array properties", () => {
//errors array is empty
pm.expect(jsonData.errors).to.be.empty;
//areas includes "goods"
pm.expect(jsonData.areas).to.include("goods");
//get the notification settings object
const notificationSettings = jsonData.settings.find
(m => m.type === "notification");
pm.expect(notificationSettings)
.to.be.an("object", "Could not find the setting");
//detail array should include "sms"
pm.expect(notificationSettings.detail).to.include("sms");
//detail array should include all listed
pm.expect(notificationSettings.detail)
.to.have.members(["email", "sms"]);
});
The order in
.members
does not affect the test.
RESPONSES
status: OK
{"errors":[],"areas":["goods","services"],"settings":[{"type":"notification","detail":["email","sms"]},{"type":"visual","detail":["light","large"]}]}