diff --git a/tests/Feature/V3/Damage/ActivateTest.php b/tests/Feature/V3/Damage/ActivateTest.php index 97678b63..b1ea5bb2 100644 --- a/tests/Feature/V3/Damage/ActivateTest.php +++ b/tests/Feature/V3/Damage/ActivateTest.php @@ -2,11 +2,72 @@ namespace Tests\Feature\V3\Damage; +use App\Models\Damage; +use App\Models\Permission; +use App\Models\User; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Foundation\Testing\WithFaker; use Tests\TestCase; class ActivateTest extends TestCase { + use RefreshDatabase, WithFaker; + + public function test_unauthenticated_user_cannot_activate_damage(): void + { + $response = $this->postJson(route('v3.damages.store')); + $response->assertStatus(401); + } + + public function test_user_without_permission_cannot_activate_damage(): void + { + $user = User::factory()->create(); + + $response = $this->actingAs($user)->postJson(route('v3.damages.store')); + $response->assertForbidden(); + } + + + public function test_user_with_permission_can_activate_damage(): void + { + $user = User::factory() + ->has(Permission::factory()->state(['name' => 'manage-damage'])) + ->create(); + + $damage = Damage::factory()->create(['status' => 0]); + + $response = $this->actingAs($user)->postJson(route('v3.damages.activate', [$damage->id])); + + $response->assertOk() + ->assertJson([ + 'message' => __('messages.successful') + ]); + + $this->assertDatabaseHas('damages', [ + 'id' => $damage->id, + 'status' => 1, + ]); + } + + public function test_user_with_permission_can_deactivate_damage(): void + { + $user = User::factory() + ->has(Permission::factory()->state(['name' => 'manage-damage'])) + ->create(); + + $damage = Damage::factory()->create(['status' => 1]); + + $response = $this->actingAs($user)->postJson(route('v3.damages.activate', [$damage->id])); + + $response->assertOk() + ->assertJson([ + 'message' => __('messages.successful') + ]); + + $this->assertDatabaseHas('damages', [ + 'id' => $damage->id, + 'status' => 0, + ]); + } } diff --git a/tests/Feature/V3/Damage/IndexTest.php b/tests/Feature/V3/Damage/IndexTest.php index cc1de931..2a97e718 100644 --- a/tests/Feature/V3/Damage/IndexTest.php +++ b/tests/Feature/V3/Damage/IndexTest.php @@ -16,20 +16,20 @@ class IndexTest extends TestCase * A basic feature test example. */ - public function test_user_should_have_manage_damage_permission_index(): void + public function test_user_should_have_manage_damage_permission_index_damage(): void { $user = User::factory()->create(); $response = $this->actingAs($user)->getJson(route('v3.damages.index')); $response->assertForbidden(); } - public function test_user_cannot_access_authentication(): void + public function test_user_cannot_access_authentication_to_index_damage(): void { $response = $this->getJson(route('v3.damages.index')); $response->assertStatus(401); } - public function test_all_damages_returned_successfully_for_index(): void + public function test_all_damages_returned_successfully_for_index_damage(): void { $user = User::factory() diff --git a/tests/Feature/V3/Damage/ListTest.php b/tests/Feature/V3/Damage/ListTest.php index ba71e7d6..b582d845 100644 --- a/tests/Feature/V3/Damage/ListTest.php +++ b/tests/Feature/V3/Damage/ListTest.php @@ -13,13 +13,13 @@ class ListTest extends TestCase { use RefreshDatabase, WithFaker; - public function test_user_cannot_access_authentication(): void + public function test_user_cannot_access_authentication_list_damage(): void { $response = $this->getJson(route('v3.damages.list')); $response->assertStatus(401); } - public function test_all_damages_returned_successfully_for_list(): void + public function test_all_damages_returned_successfully_for_list_damage(): void { $user = User::factory()->create(); Damage::factory()->count(5)->create(); diff --git a/tests/Feature/V3/Damage/ShowTest.php b/tests/Feature/V3/Damage/ShowTest.php index 9256c488..34ba0eb5 100644 --- a/tests/Feature/V3/Damage/ShowTest.php +++ b/tests/Feature/V3/Damage/ShowTest.php @@ -13,7 +13,7 @@ class ShowTest extends TestCase { use RefreshDatabase , WithFaker; - public function test_unauthenticated_user_cannot_view_damage(): void + public function test_unauthenticated_user_cannot_view_show_damage(): void { $damage = Damage::factory()->create();; @@ -22,7 +22,7 @@ class ShowTest extends TestCase $response->assertStatus(401); } - public function test_user_without_permission_cannot_view_damage(): void + public function test_user_without_permission_cannot_view_damage_show_damage(): void { $user = User::factory()->create(); $damage = Damage::factory()->create();; @@ -32,7 +32,7 @@ class ShowTest extends TestCase $response->assertForbidden(); } - public function test_user_with_permission_can_view_damage(): void + public function test_user_with_permission_can_view_damage_to_show_damage(): void { $user = User::factory() ->has(Permission::factory([