createEdiCategory(); $response = $this->getJson('/api/edi-categories'); $response->assertStatus(200) ->assertJsonFragment(['id' => $item->id]); } public function test_show_returns_edi_category(): void { $item = $this->createEdiCategory(); $response = $this->getJson("/api/edi-categories/{$item->id}"); $response->assertStatus(200) ->assertJsonFragment(['id' => $item->id]); } public function test_admin_can_create_update_and_delete_edi_category(): void { $this->actingAsAdmin(); $createResponse = $this->postJson('/api/edi-categories', [ 'value' => 'EDI-CAT-A', ]); $createResponse->assertStatus(201); $itemId = $createResponse->json('id'); $updateResponse = $this->putJson("/api/edi-categories/{$itemId}", [ 'value' => 'EDI-CAT-B', ]); $updateResponse->assertStatus(200) ->assertJsonFragment(['id' => $itemId]); $this->deleteJson("/api/edi-categories/{$itemId}") ->assertStatus(204); } public function test_non_admin_cannot_create_edi_category(): void { $this->actingAsUser(); $this->postJson('/api/edi-categories', [ 'value' => 'EDI-CAT-A', ])->assertStatus(403); } }