Package Data | |
---|---|
Maintainer Username: | mathieutu |
Maintainer Contact: | dev@mathieutu.ovh (Mathieu TUDISCO) |
Package Create Date: | 2016-11-22 |
Package Last Update: | 2017-07-31 |
Home Page: | |
Language: | PHP |
License: | GPL-3.0 |
Last Refreshed: | 2024-11-23 03:03:50 |
Package Statistics | |
---|---|
Total Downloads: | 1,944 |
Monthly Downloads: | 1 |
Daily Downloads: | 0 |
Total Stars: | 1 |
Total Watchers: | 2 |
Total Forks: | 0 |
Total Open Issues: | 0 |
This package provide you some methods to fully test your Laravel API.
The LaravelFr team is a group of french friends who decide to put in common some useful methods for testing API. Whoever you are, feel free to contribute to this package or join the organisation to add yours !
composer require laravelfr/api-testing
Once Laravel API Testing is installed, you can extend or implement the classes and traits in this package. There are no service providers to register.
It works both with old testing way (Laravel <5.4 and >5.4 with BrowserKit) and with new testing way (with response object).
\LaravelFr\ApiTesting\AssertArrays
and \LaravelFr\ApiTesting\AssertJsonResponse
traits, and use directly the methods from traits.AssertJsonResponse
, you can add the trait, and directly use the methods on response object.See Tests for some examples.
On this response example :
{
"foo": 134,
"foobar": {
"foobar_foo": "foo",
"foobar_bar": 212
},
"bars": [
{
"bar": true,
"foo": 134.212
},
{
"bar": false,
"foo": 134.212
},
{
"bar": false,
"foo": 134.212
}
],
"baz": [
{
"foo": "Laravel",
"bar": {
"foo": true,
"bar": 134
}
},
{
"foo": "France",
"bar": {
"foo": false,
"bar": 212
}
}
]
}
assertJsonStructureEquals
: check if it respects the exact structure pattern.$response->assertJsonStructureEquals([
'foo',
'baz' => ['*' => ['bar' => ['*'], 'foo']],
'bars' => ['*' => ['bar', 'foo']],
'foobar' => ['foobar_foo', 'foobar_bar'],
]);
seeJsonTypedStructure
: check if it respects a typed pattern.$response->seeJsonTypedStructure([
'foo' => 'integer',
'baz' => ['*' => ['bar' => 'array', 'foo' => 'string']],
'bars' => ['*' => ['bar' => 'boolean', 'foo' => 'float']],
'foobar' => ['foobar_foo' => 'string', 'foobar_bar' => 'int'],
]);
seeJsonTypedStructure
: retrieve a part of response in array format.$response->jsonResponse('foobar.foobar_bar')); // 212
Please feel free to make PRs and add yours!