canEditDay( ['status' => 'draft'], ['roles' => ['Teacher'], 'permissions' => []] ); $this->assertTrue($allowed); } public function test_teacher_cannot_edit_finalized(): void { $service = new AttendancePolicyService(); $allowed = $service->canEditDay( ['status' => 'finalized'], ['roles' => ['Teacher'], 'permissions' => []] ); $this->assertFalse($allowed); } public function test_admin_like_by_permission(): void { $service = new AttendancePolicyService(); $isAdmin = $service->isAdminLike([], ['attendance.manage.daily']); $this->assertTrue($isAdmin); } public function test_can_manage_early_dismissals_for_teacher(): void { $service = new AttendancePolicyService(); $allowed = $service->canManageEarlyDismissals(['Teacher']); $this->assertTrue($allowed); } }