'draft']; $user = [ 'roles' => ['teacher'], 'permissions' => [], ]; $this->assertTrue($service->canEditDay($day, $user)); } public function test_teacher_cannot_edit_finalized_day(): void { $service = new AttendancePolicyService(); $day = ['status' => 'finalized']; $user = [ 'roles' => ['teacher'], 'permissions' => [], ]; $this->assertFalse($service->canEditDay($day, $user)); } public function test_admin_can_edit_finalized_day(): void { $service = new AttendancePolicyService(); $day = ['status' => 'finalized']; $user = [ 'roles' => ['admin'], 'permissions' => [], ]; $this->assertTrue($service->canEditDay($day, $user)); } public function test_is_admin_like_excludes_teacher_roles(): void { $service = new AttendancePolicyService(); $this->assertFalse($service->isAdminLike(['teacher'])); $this->assertFalse($service->isAdminLike(['teacher_assistant'])); $this->assertTrue($service->isAdminLike(['principal'])); } }