<?php namespace Tests\Feature; use App\Models\Retailer; use App\Models\User; use Hash; use Laravel\Sanctum\Sanctum; use Tests\TestCase; class RetailerDetailsTest extends TestCase { public function test_success_access_to_retailer_details_by_admin() { $user = User::factory()->create([ 'role' => 'admin', 'password' => Hash::make('123123123'), ]); Sanctum::actingAs( $user, ['*'] ); $retailer = Retailer::factory()->create(); $response = $this->get('/nova/resources/retailers/' . $retailer->id); $user->delete(); $retailer->delete(); $response->assertStatus(200); } public function test_success_access_to_retailer_details_by_analyst() { $user = User::factory()->create([ 'role' => 'analyst', 'password' => Hash::make('123123123'), ]); Sanctum::actingAs( $user, ['*'] ); $retailer = Retailer::factory()->create(); $response = $this->get('/nova/resources/retailers/' . $retailer->id); $user->delete(); $retailer->delete(); $response->assertStatus(200); } public function test_access_to_retailers_detail_by_common() { $user = User::factory()->create([ 'role' => 'common', 'password' => Hash::make('123123123'), ]); Sanctum::actingAs( $user, ['*'] ); $retailer = Retailer::factory()->create(); $response = $this->get('/nova/resources/retailers/' . $retailer->id); $user->delete(); $retailer->delete(); $response->assertStatus(403); } public function test_access_to_retailers_detail_by_unauthorized() { $retailer = Retailer::factory()->create(); $response = $this->get('/nova/resources/retailers/' . $retailer->id); $retailer->delete(); $response->assertStatus(302); } }