api-test-helper
                                
                                 api-test-helper copied to clipboard
                                
                                    api-test-helper copied to clipboard
                            
                            
                            
                        A collection of helper methods for testing and debugging API endpoints.
Laravel API Test Helpers
This is a collection of helper methods for testing and debugging API endpoints.
Installation
You can install the package via composer:
composer require stephenjude/api-test-helper --dev
Usage
namespace Tests\Apis;
use App\Models\User;
use Tests\TestCase;
use Stephenjude\ApiTestHelper\WithApiHelper;
class UserApiTest extends TestCase
{
    use WithApiHelper;
    /*
    * @test
    */
    public function testGetAllUsers()
    {
        $actualUsers = User::all();
        $this->response = $this->getJson('/users');
        // Assert response is 200
        $this->response->assertOk();
        // Dump api data to the console
        $this->dumpApiData();
        // Write api data to the log file
        $this->logApiData();
        // Return a decoded api response data
        $responseData = $this->decodeApiResponse();
        // Assert API data is a collection 
        $this->assertApiResponseCollection($actualUsers);
    }
}
Available Helper Methods
| Method | Description | 
|---|---|
| decodeApiResponse() | Returns a decoded api response data. | 
| dumpApiData() | Dump api response data to the console. | 
| logApiData() | Write api response data to the log file. | 
| assertApiSuccess() | Assert api response data is successful: [success => true]. | 
| assertApiResponse($actualData) | Assert api response data is same actual data item. | 
| assertApiResponseCollection($actualData) | Assert api response data is same actual collection items. | 
Testing
composer test
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Credits
- Stephen Jude
- All Contributors
License
The MIT License (MIT). Please see License File for more information.