artisan('db:seed', ['--class' => FinancialWorkflowPermissionsSeeder::class]); } public function test_user_without_permissions_cannot_access_admin_articles(): void { $user = User::factory()->create(); $this->actingAs($user) ->get('/admin/articles') ->assertForbidden(); } public function test_secretary_general_can_access_admin_articles_and_create_draft(): void { $role = Role::where('name', 'secretary_general')->firstOrFail(); $user = User::factory()->create(); $user->assignRole($role); $this->actingAs($user) ->get('/admin/articles') ->assertOk(); $res = $this->actingAs($user)->post('/admin/articles', [ 'title' => 'Test Article', 'content' => 'Hello world', 'content_type' => 'blog', 'access_level' => 'public', 'save_action' => 'draft', ]); $res->assertRedirect(); $this->assertDatabaseHas('articles', [ 'title' => 'Test Article', 'status' => 'draft', ]); } }