aiblog/tests/Feature/CategoryTest.php
2024-11-17 11:30:01 +08:00

48 lines
No EOL
1.2 KiB
PHP

<?php
declare(strict_types=1);
namespace Tests\Feature;
use App\Models\Category;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
class CategoryTest extends TestCase
{
use RefreshDatabase;
public function test_admin_can_create_category(): void
{
$admin = User::factory()->create(['role' => 'admin']);
$response = $this->actingAs($admin)
->postJson('/api/categories', [
'name' => 'New Category',
'description' => 'Category Description',
]);
$response->assertStatus(200)
->assertJson([
'message' => 'Category created successfully',
]);
$this->assertDatabaseHas('categories', [
'name' => 'New Category',
]);
}
public function test_author_cannot_create_category(): void
{
$author = User::factory()->create(['role' => 'author']);
$response = $this->actingAs($author)
->postJson('/api/categories', [
'name' => 'New Category',
'description' => 'Category Description',
]);
$response->assertStatus(403);
}
}