{# PHP HTTP response assertions
Context variables:
- response_var: variable name of the response object (optional, used internally)
- status_code: expected HTTP status code
- headers: list of header assertions (each with assertion_code)
- body_assertion: optional body assertion code
- partial_body: optional partial body assertions (list of field assertions)
- validation_errors: optional validation error messages to check
#}
{% if status_code %}
$this->assertEquals({{ status_code }}, $response->getStatusCode());
{% endif %}
{% for header in headers %}
{{ header.assertion_code }}
{% endfor %}
{% if body_assertion %}
{{ body_assertion }}
{% endif %}
{% if partial_body %}
$body = json_decode((string) $response->getBody(), true, 512, JSON_THROW_ON_ERROR);
{% for field in partial_body %}
{{ field.assertion_code }}
{% endfor %}
{% endif %}
{% if validation_errors %}
$body = json_decode((string) $response->getBody(), true);
{% for error in validation_errors %}
{{ error.assertion_code }}
{% endfor %}
{% endif %}