netsells / dredd-hooks-laravel
Laravel hooks for the Dredd testing tool
Installs: 12 558
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 1
Forks: 3
Open Issues: 1
Type:package
Requires
- php: >=7.1
- ddelnano/dredd-hooks-php: ^1.1
- nikic/php-parser: ^4.2
This package is auto-updated.
Last update: 2024-10-28 13:45:29 UTC
README
This package contains a PHP Dredd hook handler which provides a bridge between the Dredd API Testing Framework and PHP environment to ease implementation of testing hooks provided by Dredd. Most of the heavy lifting is provided by the ddelnano/dredd-hooks-php package.
It is created and maintained by the Netsells team
Installation
Composer
Laravel Hooks for Dredd should be installed via composer, we recommend you put this in your require-dev section.
composer require netsells/dredd-hooks-laravel --dev
Dredd Setup
In order to inject environment variables and use the full power of Larvel Dredd Hooks, you need to add the following to your dredd.yml
file (or put in your console arguments).
# This can be any single file which extends Netsells\Dredd\Kernel hookfiles: 'tests/dredd/Kernel.php' language: 'vendor/bin/dredd-hooks-laravel' server: 'php -S 127.0.0.1:3000 ./vendor/netsells/dredd-hooks-laravel/server.php -t public/' endpoint: 'http://127.0.0.1:3000'
Usage
The package requires you to make a single file (named in the hookfiles
part of dredd.yml above). This should have at least the handle
method.
<?php namespace Tests\Dredd; use Netsells\Dredd\Hook; use Netsells\Dredd\Transaction; use Illuminate\Support\Facades\Artisan; use Netsells\Dredd\Kernel as DreddKernel; class Kernel extends DreddKernel { public function handle(Hook $hook) { $this->beforeEach(function (Transaction &$transaction) { Artisan::call('migrate:fresh'); Artisan::call('passport:install'); Artisan::call('db:seed'); }); $hook->group('Posts', Hooks\Posts::class); } }