PHP code example of fillincode / tests

1. Go to this page and download the library: Download fillincode/tests library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

fillincode / tests example snippets


php artisan vendor:publish --provider="Fillincode\Tests\TestServiceProvider"

[
    'user' => 200,
    'admin' => 200,
    'guest' => 401,

    'invalid_data' => 422,
    'invalid_parameters' => 404,
];

'users' => [
    'guest',
    'user' => 'Passport',
    'admin' => 'web',
],

return [
    'web_user' => 200,
    'api_user' => 200,
    'admin' => 200,
    'guest' => 401,

    'invalid_data' => 422,
    'invalid_parameters' => 404,

    'has_fillincode_swagger_parser' => true,

    'users' => [
        'guest',
        'web_user' => 'web',
        'api_user' => 'Passport'
        'admin' => 'Moonshine',
    ],
];

use App\Models\User;

    

use Fillincode\Tests\Interfaces\CodeInterface;
use Tests\Feature\BaseFeatureTest;

class ExampleTest extends BaseFeatureTest implements CodeInterface
{
    /**
     * {@inheritDoc}
     */
    public function getCodes(): array
    {
        return [
            'guest' => 401,
            'web_user' => 200,
            'api_user' => 401,
            'admin' => 401,
        ];       
    }
}

use Fillincode\Tests\Interfaces\ParametersCodeInterface;
use Tests\Feature\BaseFeatureTest;

class ExampleTest extends BaseFeatureTest implements ParametersCodeInterface
{
    /**
     * {@inheritDoc}
     */
    public function getCodesForInvalidParameters(): array
    {
        return [
            'guest' => 404,
            'web_user' => 404,
            'api_user' => 404,
            'admin' => 404,
        ];       
    }
}

use Fillincode\Tests\Interfaces\ParametersInterface;
use Tests\Feature\BaseFeatureTest;

class ExampleTest extends BaseFeatureTest implements ParametersInterface
{
    /**
     * {@inheritDoc}
     */
    public function getParameters(): array
    {
        return [
            'project' => Project::factory()->create(['status' => 'active'])
        ];       
    }
    
    /**
     * {@inheritDoc}
     */
    public function getInvalidParameters(): array
    {
        return [
            'project' => Project::factory()->create(['status' => 'draft']) 
        ];       
    }
}

use Fillincode\Tests\Interfaces\ValidateInterface;
use Tests\Feature\BaseFeatureTest;

class ExampleTest extends BaseFeatureTest implements ValidateInterface
{
    /**
     * {@inheritDoc}
     */
    public function getValidData(): array
    {
        return [
            'name' => 'test_name',
            'age' => 12,
        ];       
    }
    
    /**
     * {@inheritDoc}
     */
    public function getNotValidData(): array
    {
        return [
            'name' => 'q',
            'age' => null,
        ];       
    }
}

use Fillincode\Tests\Interfaces\FakeInterface;
use Tests\Feature\BaseFeatureTest;

class ExampleTest extends BaseFeatureTest implements FakeInterface
{
    /**
     * {@inheritDoc}
     */
    public function faker(): void
    {
        Project::factory(10)->create(['web_user_id' => $this->getWebUser()->id]);
    }
}

use Fillincode\Tests\Interfaces\FakeStorageInterface;
use Tests\Feature\BaseFeatureTest;

class ExampleTest extends BaseFeatureTest implements FakeStorageInterface
{
    
}

use Fillincode\Tests\Interfaces\MockInterface;
use Tests\Feature\BaseFeatureTest;

class ExampleTest extends BaseFeatureTest implements MockInterface
{
    /**
     * {@inheritDoc}
     */
    public function getMockAction(): void
    {
        Http::fake();
    }
}

    use Fillincode\Tests\Interfaces\DocIgnoreInterface;
    use Tests\Feature\BaseFeatureTest;
    
    class ExampleTest extends BaseFeatureTest implements DocIgnoreInterface
    {
        
    }
    

    if (! $this->checkDocIgnoreInterface()) {
        (new TestParser())->makeAutoDoc($testResponse);
    }
    

use Tests\Feature\BaseFeatureTest;

class ExampleTest extends BaseFeatureTest
{
    /**
     * {@inheritDoc}
     */
    public function getRouteName(): string
    {
        return 'api.user.update';
    }
    
    /**
     * {@inheritDoc}
     */
    public function getMiddleware(): array
    {
        return ['api', 'auth'];
    }
}

use Tests\Feature\BaseFeatureTest;
use Fillincode\Tests\Interfaces\CodeInterface;
use Fillincode\Tests\Interfaces\ParametersCodeInterface;
use Fillincode\Tests\Interfaces\ParametersInterface;
use Fillincode\Tests\Interfaces\ValidateInterface;
use Fillincode\Tests\Interfaces\FakeInterface;
use Fillincode\Tests\Interfaces\FakeStorageInterface;
use Fillincode\Tests\Interfaces\MockInterface;
use Fillincode\Tests\Interfaces\DocIgnoreInterface;

class ExampleTest extends BaseFeatureTest implements CodeInterface, ParametersCodeInterface, ParametersInterface, ValidateInterface, FakeInterface, FakeStorageInterface, MockInterface, DocIgnoreInterface
{
    /**
     * {@inheritDoc}
     */
    public function getRouteName(): string
    {
        return 'api.user.update';
    }
    
    /**
     * {@inheritDoc}
     */
    public function getMiddleware(): array
    {
        return ['api', 'auth'];
    }
    
    /**
     * {@inheritDoc}
     */
    public function getCodes(): array
    {
        return [
            'guest' => 401,
            'web_user' => 200,
            'api_user' => 401,
            'admin' => 401,
        ];       
    }
    
    /**
     * {@inheritDoc}
     */
    public function getCodesForInvalidParameters(): array
    {
        return [
            'guest' => 404,
            'web_user' => 404,
            'api_user' => 404,
            'admin' => 404,
        ];       
    }
    
    /**
     * {@inheritDoc}
     */
    public function getParameters(): array
    {
        return [
            'project' => Project::factory()->create(['status' => 'active'])
        ];       
    }
    
    /**
     * {@inheritDoc}
     */
    public function getInvalidParameters(): array
    {
        return [
            'project' => Project::factory()->create(['status' => 'draft']) 
        ];       
    }
    
    /**
     * {@inheritDoc}
     */
    public function getValidData(): array
    {
        return [
            'name' => 'test_name',
            'age' => 12,
        ];       
    }
    
    /**
     * {@inheritDoc}
     */
    public function getNotValidData(): array
    {
        return [
            'name' => 'q',
            'age' => null,
        ];       
    }
    
    /**
     * {@inheritDoc}
     */
    public function faker(): void
    {
        Project::factory(10)->create(['web_user_id' => $this->getWebUser()->id]);
    }
    
    /**
     * {@inheritDoc}
     */
    public function getMockAction(): void
    {
        Http::fake();
    }
}