<?php namespace Tests\Feature; use App\Models\Product; use App\Models\User; use Hash; use Laravel\Sanctum\Sanctum; use Tests\TestCase; class ProductDeleteTest extends TestCase { public function test_success_delete_retailer_by_admin() { $user = User::factory()->create([ 'role' => 'admin', 'password' => Hash::make('123123123'), ]); $product = Product::factory()->create(); Sanctum::actingAs( $user, ['*'] ); $response = $this->delete('nova-api/products?filters=W10%3D&resources[]=' . $product->id); $user->delete(); $response->assertStatus(200); } public function test_success_delete_retailer_by_analyst() { $user = User::factory()->create([ 'role' => 'analyst', 'password' => Hash::make('123123123'), ]); $product = Product::factory()->create(); Sanctum::actingAs( $user, ['*'] ); $response = $this->delete('nova-api/products?filters=W10%3D&resources[]=' . $product->id); $user->delete(); $response->assertStatus(200); } public function test_delete_retailer_by_common() { $user = User::factory()->create([ 'role' => 'common', 'password' => Hash::make('123123123'), ]); Sanctum::actingAs( $user, ['*'] ); $product = Product::factory()->create(); $response = $this->delete('nova-api/products?filters=W10%3D&resources[]=' . $product->id); $product->delete(); $user->delete(); $response->assertStatus(403); } public function test_delete_retailer_by_unauthenticate_user() { $product = Product::factory()->create(); $response = $this->delete('nova-api/products?filters=W10%3D&resources[]=' . $product->id); $product->delete(); $response->assertStatus(401); } }