@php echo "namespaces->apiTests }}; use Illuminate\Foundation\Testing\WithoutMiddleware; use Illuminate\Foundation\Testing\DatabaseTransactions; use {{ $config->namespaces->tests }}\TestCase; use {{ $config->namespaces->tests }}\ApiTestTrait; use {{ $config->namespaces->model }}\{{ $config->modelNames->name }}; class {{ $config->modelNames->name }}ApiTest extends TestCase { use ApiTestTrait, WithoutMiddleware, DatabaseTransactions; /** * @test */ public function test_create_{{ $config->modelNames->snake }}() { ${{ $config->modelNames->camel }} = {{ $config->modelNames->name }}::factory()->make()->toArray(); $this->response = $this->json( 'POST', '/{{ $config->apiPrefix }}/{{ $config->modelNames->dashedPlural }}', ${{ $config->modelNames->camel }} ); $this->assertApiResponse(${{ $config->modelNames->camel }}); } /** * @test */ public function test_read_{{ $config->modelNames->snake }}() { ${{ $config->modelNames->camel }} = {{ $config->modelNames->name }}::factory()->create(); $this->response = $this->json( 'GET', '/{{ $config->apiPrefix }}/{{ $config->modelNames->dashedPlural }}/'.${{ $config->modelNames->camel }}->{{ $config->primaryName }} ); $this->assertApiResponse(${{ $config->modelNames->camel }}->toArray()); } /** * @test */ public function test_update_{{ $config->modelNames->snake }}() { ${{ $config->modelNames->camel }} = {{ $config->modelNames->name }}::factory()->create(); $edited{{ $config->modelNames->name }} = {{ $config->modelNames->name }}::factory()->make()->toArray(); $this->response = $this->json( 'PUT', '/{{ $config->apiPrefix }}/{{ $config->modelNames->dashedPlural }}/'.${{ $config->modelNames->camel }}->{{ $config->primaryName }}, $edited{{ $config->modelNames->name }} ); $this->assertApiResponse($edited{{ $config->modelNames->name }}); } /** * @test */ public function test_delete_{{ $config->modelNames->snake }}() { ${{ $config->modelNames->camel }} = {{ $config->modelNames->name }}::factory()->create(); $this->response = $this->json( 'DELETE', '/{{ $config->apiPrefix }}/{{ $config->modelNames->dashedPlural }}/'.${{ $config->modelNames->camel }}->{{ $config->primaryName }} ); $this->assertApiSuccess(); $this->response = $this->json( 'GET', '/{{ $config->apiPrefix }}/{{ $config->modelNames->dashedPlural }}/'.${{ $config->modelNames->camel }}->{{ $config->primaryName }} ); $this->response->assertStatus(404); } }