$not
The $not
matcher simply matches the opposite of the provided matcher or value.
Examples
- test: Recipe not guacamole
description: This recipe should not be named 'Guacamole'
request:
method: GET
url: ${BASE_URL}/recipes/${RECIPE_ID}
expect:
body:
title: $not Guacamole
The $not
matcher can match other matchers as well. This example uses a $regex
matcher to ensure that a field in the response does not contain any quotation marks.
- test: No quotes in name
description: The recipe title should not have quotes in the name
request:
method: GET
url: ${BASE_URL}/recipes/${RECIPE_ID}
expect:
body:
title: $not $regex /\"+/
In this more complex example, the $not
matcher negates an $includes
matcher to confirm that an object containing the specified id does not appear in the array.
- test: Deleted recipe gone
description: The now-deleted recipe should no longer appear in the list of recipes
request:
method: GET
url: ${BASE_URL}/recipes/all
expect:
status: 2xx
body:
data: '$not $includes { "id": "${RECIPE_ID}" }'