peridot-php/leo-http-foundation

Leo assertions for testing HttpFoundation applications

1.1.0 2015-02-10 18:03 UTC

This package is not auto-updated.

Last update: 2024-04-23 01:45:42 UTC


README

#Leo Http Foundation

Leo assertions for use with HttpFoundation

Build Status Scrutinizer Code Quality

This set of assertions is evolving as needed. Please feel free to submit pull requests and make feature requests.

##Usage

You can add HttpFoundation behavior to Leo by extending the Leo assertion property.

$assertion = Leo::assertion();
$assertion->extend(new LeoHttpFoundation());

##Assertions

###->allow(methods, [message])

  • @param array $methods
  • @param string $message [optional]

Checks that the Allowed header is present on the response and that it contains all values passed in the methods array.

expect($response)->to->allow(['POST', 'GET']);
expect($response)->to->not->allow(['GET']);

###->status(status, [message])

  • @param int $status
  • @param string $message [optional]

Asserts that the response status is equal to status.

expect($response)->to->have->status(200);
expect($response)->to->not->have->status(400);

###->json

  • @param bool $assoc [optional]
  • @param int $depth [optional]
  • @param int $options [optional]

A language chain that parses the response body as json and sets it as the subject of the assertion chain. The options parameters for json_decode() may also be included.

expect($response)->json->to->have->property('name');
expect($response)->json->to->loosely->equal($expected);
expect($response)->json(true, 999, JSON_BIGINT_AS_STRING)->to->equal($expected);