39228168c8
API CI/CD / Validate (composer + pint) (push) Successful in 3m14s
API CI/CD / Test (PHPUnit) (push) Failing after 3m28s
API CI/CD / Build frontend assets (push) Successful in 1m2s
API CI/CD / Security audit (push) Failing after 56s
API CI/CD / Deploy to shared hosting (PHP) (push) Has been skipped
1862 lines
92 KiB
Plaintext
1862 lines
92 KiB
Plaintext
|
||
FAIL Tests\Unit\ApiDocsServiceTest
|
||
⨯ public bootstrap matches ci public flags 0.01s
|
||
⨯ full bootstrap enables try and welcome 0.01s
|
||
|
||
FAIL Tests\Unit\ApiLoginSecurityServiceTest
|
||
✓ roles object map preserves role names 0.02s
|
||
⨯ build login response includes teacher class context 0.01s
|
||
⨯ build login response includes teacher assistant class context
|
||
|
||
PASS Tests\Unit\AuthSessionServiceTest
|
||
✓ sanitize redirect relative 0.01s
|
||
✓ sanitize redirect empty
|
||
✓ sanitize rejects protocol relative
|
||
|
||
PASS Tests\Unit\Http\Controllers\Api\AttendanceCommentTemplateControllerTest
|
||
✓ index returns success json 0.09s
|
||
✓ index passes active only true 0.01s
|
||
✓ show returns template 0.01s
|
||
✓ store returns created response 0.01s
|
||
✓ update returns success response 0.01s
|
||
✓ destroy returns success response 0.02s
|
||
✓ list data returns templates key 0.01s
|
||
|
||
PASS Tests\Unit\Grading\ScoreValueValidatorTest
|
||
✓ blank score remains null 0.04s
|
||
✓ score must be inside range
|
||
✓ status inference preserves legacy pending behavior
|
||
|
||
PASS Tests\Unit\Listeners\DeleteUnverifiedUserListenerTest
|
||
✓ listener invokes service 0.02s
|
||
|
||
PASS Tests\Unit\Models\AdditionalChargeTest
|
||
✓ scope by parent term filters status and orders desc 0.04s
|
||
✓ mark applied updates status and invoice 0.01s
|
||
✓ list all for term falls back to year 0.01s
|
||
✓ list all for term filters by search query 0.01s
|
||
|
||
PASS Tests\Unit\Models\AdminNotificationSubjectModelTest
|
||
✓ admin relationship returns user 0.04s
|
||
✓ timestamps are set on create 0.01s
|
||
|
||
PASS Tests\Unit\Models\AttendanceCommentTemplateModelTest
|
||
✓ get active templates filters and orders 0.03s
|
||
|
||
PASS Tests\Unit\Models\AttendanceDataTest
|
||
✓ get attendance by class and get attendance 0.02s
|
||
✓ unreported term rows filters unreported 0.01s
|
||
✓ get unreported absences and lates groups rows 0.01s
|
||
✓ mark reported and notified updates flags 0.01s
|
||
|
||
PASS Tests\Unit\Models\AttendanceDayTest
|
||
✓ get or create draft creates once and reuses 0.28s
|
||
✓ find by section date returns model or null 0.01s
|
||
✓ submit sets submitted fields 0.01s
|
||
✓ finalize is alias to submit 0.01s
|
||
✓ publish sets published fields 0.01s
|
||
✓ reopen sets reopen fields and status 0.01s
|
||
✓ reopen rejects invalid status 0.01s
|
||
✓ is finalized true for published or legacy finalized 0.01s
|
||
|
||
FAIL Tests\Unit\Models\AttendanceEmailTemplateTest
|
||
⨯ get template returns exact active variant when available 0.02s
|
||
⨯ get template falls back to default when requested variant missing 0.02s
|
||
⨯ get template ignores inactive exact variant and uses active default 0.01s
|
||
⨯ get template returns null when no active template exists 0.01s
|
||
|
||
PASS Tests\Unit\Models\AttendanceRecordTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\AttendanceTrackingTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\AuthorizedUserTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\BadgePrintLogTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\CalendarTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
FAIL Tests\Unit\Models\ClassPrepAdjustmentTest
|
||
⨯ model metadata is converted
|
||
✓ model class loads
|
||
|
||
FAIL Tests\Unit\Models\ClassPreparationLogTest
|
||
⨯ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\ClassProgressAttachmentTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\ClassProgressReportTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\ClassSectionTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\ClassTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
FAIL Tests\Unit\Models\CommunicationLogTest
|
||
⨯ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\CompetitionClassWinnerTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\CompetitionScoreTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\CompetitionTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\CompetitionWinnerTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\ConfigurationTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\ContactUsTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\CurrentFlagTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\DiscountUsageTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\DiscountVoucherTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\EarlyDismissalSignatureTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
FAIL Tests\Unit\EmailTemplateTest
|
||
⨯ get template returns exact variant when active 0.02s
|
||
⨯ get template falls back to default variant 0.01s
|
||
⨯ get template ignores inactive templates and can return null 0.01s
|
||
⨯ get template prefers exact variant over default 0.01s
|
||
|
||
PASS Tests\Unit\Models\EmergencyContactTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\EnrollmentTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
FAIL Tests\Unit\Models\EventChargesTest
|
||
⨯ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\EventTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\ExamDraftTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
FAIL Tests\Unit\Models\ExamTest
|
||
⨯ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\ExpenseTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\FamilyCommPrefTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\FamilyGuardianTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\FamilyStudentTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\FamilyTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
FAIL Tests\Unit\Models\FinalExamTest
|
||
⨯ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\FinalScoreTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\GradingLockTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
FAIL Tests\Unit\Models\HomeworkTest
|
||
⨯ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\IncidentTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\InventoryCategoryTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\InventoryItemTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\InventoryMovementTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\InvoiceEventTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\InvoiceStudentListTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
FAIL Tests\Unit\Models\InvoiceTest
|
||
⨯ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\IpAttemptTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\LateSlipLogTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\LoginActivityTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\ManualPaymentTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\MessageTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
FAIL Tests\Unit\Models\MidtermExamTest
|
||
⨯ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\MissingScoreOverrideTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\NavItemTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\NotificationTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\ParentAttendanceReportTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\ParentMeetingScheduleTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\ParentNotificationTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\ParentTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
FAIL Tests\Unit\Models\ParticipationTest
|
||
⨯ model metadata is converted
|
||
✓ model class loads
|
||
|
||
FAIL Tests\Unit\Models\PasswordResetRequestTest
|
||
⨯ model metadata is converted
|
||
✓ model class loads
|
||
|
||
FAIL Tests\Unit\Models\PasswordResetTest
|
||
⨯ model metadata is converted
|
||
✓ model class loads
|
||
|
||
FAIL Tests\Unit\Models\PayPalPaymentTest
|
||
⨯ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\PaymentErrorTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\PaymentNotificationLogTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
FAIL Tests\Unit\Models\PaymentTest
|
||
⨯ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\PaymentTransactionTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\PaypalTransactionTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\PermissionTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\PlacementBatchTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\PlacementLevelTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\PlacementScoreTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\PreferencesTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\PrintRequestTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\ProjectTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\PromotionQueueTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
FAIL Tests\Unit\Models\PurchaseOrderItemTest
|
||
⨯ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\PurchaseOrderTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
FAIL Tests\Unit\Models\QuizTest
|
||
⨯ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\RefundTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\ReimbursementBatchAdminFileTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\ReimbursementBatchItemTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\ReimbursementBatchTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\ReimbursementTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\RoleNavItemTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\RolePermissionTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\RoleTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
FAIL Tests\Unit\Models\ScoreCommentTest
|
||
⨯ model metadata is converted
|
||
✓ model class loads
|
||
|
||
FAIL Tests\Unit\Models\SectionTest
|
||
⨯ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\SemesterScoreTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\SettingsTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\StaffAttendanceTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
FAIL Tests\Unit\Models\StaffTest
|
||
⨯ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\StatsTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\StudentAllergyTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\StudentClassTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\StudentMedicalConditionTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\StudentTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\SubjectCurriculumTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\TeacherClassTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\TeacherSubmissionNotificationHistoryTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
FAIL Tests\Unit\Models\TeacherTest
|
||
⨯ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\UserNotificationTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\UserRoleTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
FAIL Tests\Unit\Models\UserTest
|
||
⨯ model metadata is converted
|
||
✓ model class loads
|
||
✓ password mutator preserves pbkdf2 hashes 0.62s
|
||
|
||
PASS Tests\Unit\Models\WhatsappGroupLinkTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\WhatsappGroupMembershipTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Models\WhatsappInviteLogTest
|
||
✓ model metadata is converted
|
||
✓ model class loads
|
||
|
||
PASS Tests\Unit\Http\Requests\AttendanceCommentTemplate\StoreAttendanceCommentTemplateRequestTest
|
||
✓ rules pass with valid data 0.01s
|
||
✓ rules fail when required fields missing 0.01s
|
||
✓ rules fail when max score less than min score 0.01s
|
||
✓ rules fail when score out of range 0.01s
|
||
|
||
PASS Tests\Unit\Http\Requests\AttendanceCommentTemplate\UpdateAttendanceCommentTemplateRequestTest
|
||
✓ rules pass with partial valid data 0.01s
|
||
✓ rules pass when both scores valid 0.01s
|
||
✓ rules fail when both scores invalid relation 0.01s
|
||
✓ rules fail on invalid boolean 0.01s
|
||
|
||
PASS Tests\Unit\Resources\ClassProgress\ClassProgressReportResourceTest
|
||
✓ resource has expected keys 0.02s
|
||
|
||
PASS Tests\Unit\Resources\Frontend\FrontendPageResourceTest
|
||
✓ resource returns page 0.01s
|
||
|
||
PASS Tests\Unit\Resources\Frontend\PageContentResourceTest
|
||
✓ resource returns content 0.01s
|
||
|
||
FAIL Tests\Unit\Resources\Messaging\MessageResourceTest
|
||
⨯ resource returns expected shape 0.02s
|
||
|
||
PASS Tests\Unit\Resources\Messaging\RecipientResourceTest
|
||
✓ resource returns expected shape 0.02s
|
||
|
||
PASS Tests\Unit\Resources\Notifications\NotificationResourceTest
|
||
✓ resource returns expected shape 0.02s
|
||
|
||
PASS Tests\Unit\Resources\Notifications\UserNotificationResourceTest
|
||
✓ resource returns expected shape 0.01s
|
||
|
||
PASS Tests\Unit\Resources\Roles\PermissionResourceTest
|
||
✓ resource shape 0.02s
|
||
|
||
PASS Tests\Unit\Resources\Roles\RolePermissionResourceTest
|
||
✓ resource shape 0.01s
|
||
|
||
PASS Tests\Unit\Resources\Roles\RoleResourceTest
|
||
✓ resource shape 0.01s
|
||
|
||
PASS Tests\Unit\Resources\Roles\UserWithRolesResourceTest
|
||
✓ resource shape 0.02s
|
||
|
||
PASS Tests\Unit\Resources\Settings\SchoolCalendarEventResourceTest
|
||
✓ resource returns expected shape 0.01s
|
||
|
||
PASS Tests\Unit\Resources\Settings\SettingsResourceTest
|
||
✓ resource returns expected shape 0.01s
|
||
|
||
FAIL Tests\Unit\Resources\Staff\StaffResourceTest
|
||
⨯ resource returns expected shape 0.01s
|
||
|
||
PASS Tests\Unit\Resources\Support\ContactMessageResourceTest
|
||
✓ resource returns expected shape 0.01s
|
||
|
||
FAIL Tests\Unit\Resources\Support\SupportRequestResourceTest
|
||
⨯ resource returns expected shape 0.01s
|
||
|
||
PASS Tests\Unit\Resources\Ui\UiStyleResourceTest
|
||
✓ resource returns expected shape 0.02s
|
||
|
||
PASS Tests\Unit\Services\Administrator\AdminNotificationSubjectServiceTest
|
||
✓ alerts data includes admins 0.02s
|
||
|
||
PASS Tests\Unit\Services\Administrator\AdminNotificationUserServiceTest
|
||
✓ fetch admin notification users excludes parents 0.02s
|
||
|
||
PASS Tests\Unit\Services\Administrator\AdminPrintRecipientServiceTest
|
||
✓ data returns admins and assigned 0.02s
|
||
|
||
FAIL Tests\Unit\Services\Administrator\AdministratorAbsenceServiceTest
|
||
⨯ submit requires reason 0.02s
|
||
|
||
PASS Tests\Unit\Services\Administrator\AdministratorDashboardServiceTest
|
||
✓ delegates to metrics and search 0.02s
|
||
|
||
FAIL Tests\Unit\Services\Administrator\AdministratorEnrollmentEventServiceTest
|
||
⨯ dispatch grouped events with empty groups 0.02s
|
||
|
||
PASS Tests\Unit\Services\Administrator\AdministratorEnrollmentQueryServiceTest
|
||
✓ enrollment withdrawal data returns structure 0.01s
|
||
|
||
PASS Tests\Unit\Services\Administrator\AdministratorEnrollmentRefundServiceTest
|
||
✓ process refunds reports missing invoice 0.02s
|
||
|
||
PASS Tests\Unit\Services\Administrator\AdministratorEnrollmentServiceTest
|
||
✓ delegates to query and status services 0.02s
|
||
|
||
PASS Tests\Unit\Services\Administrator\AdministratorEnrollmentStatusServiceTest
|
||
✓ update statuses requires payload 0.01s
|
||
|
||
PASS Tests\Unit\Services\Administrator\AdministratorMetricsServiceTest
|
||
✓ metrics returns counts 0.01s
|
||
|
||
PASS Tests\Unit\Services\Administrator\AdministratorNotificationServiceTest
|
||
✓ delegates to subject and print services 0.02s
|
||
|
||
PASS Tests\Unit\Services\Administrator\AdministratorSharedServiceTest
|
||
✓ get previous school year 0.01s
|
||
|
||
PASS Tests\Unit\Services\Administrator\AdministratorTeacherSubmissionServiceTest
|
||
✓ delegates to report and notification 0.01s
|
||
|
||
PASS Tests\Unit\Services\Administrator\AdministratorUserSearchServiceTest
|
||
✓ empty query returns no results 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Administrator\TeacherSubmissionNotificationServiceTest
|
||
⨯ send requires targets 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Administrator\TeacherSubmissionReportServiceTest
|
||
⨯ report returns summary 0.01s
|
||
|
||
PASS Tests\Unit\Services\Administrator\TeacherSubmissionSupportServiceTest
|
||
✓ submission status labels 0.02s
|
||
✓ build missing items 0.01s
|
||
|
||
PASS Tests\Unit\Services\Assignment\AssignmentContextServiceTest
|
||
✓ get current term values 0.01s
|
||
|
||
PASS Tests\Unit\Services\Assignment\AssignmentDataLoaderServiceTest
|
||
✓ load teacher classes includes teacher name 0.02s
|
||
✓ load student classes filters inactive 0.01s
|
||
|
||
PASS Tests\Unit\Services\Assignment\AssignmentMetaServiceTest
|
||
✓ get school years uses fallback 0.01s
|
||
✓ get school years returns distinct sorted 0.01s
|
||
✓ first non empty returns first value 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Assignment\AssignmentSectionServiceTest
|
||
⨯ get section names map 0.01s
|
||
|
||
FAIL Tests\Unit\Services\AssignmentServiceTest
|
||
✓ get current semester returns config value 0.02s
|
||
✓ get current school year returns config value 0.02s
|
||
⨯ get assignments overview returns grouped sections 0.02s
|
||
✓ get assignments overview uses fallback config values when metadata… 0.01s
|
||
✓ get assignments overview excludes inactive students 0.02s
|
||
⨯ get assignments overview sorts sections by name 0.01s
|
||
✓ get assignments overview collects school years descending 0.01s
|
||
✓ store assignment creates new row 0.02s
|
||
✓ store assignment updates existing row 0.03s
|
||
⨯ get class assignment data returns all sections 0.02s
|
||
✓ get class assignment data deduplicates teacher names 0.01s
|
||
|
||
PASS Tests\Feature\Api\Attendance\AdminAttendanceApiControllerTest
|
||
✓ daily data returns success 0.05s
|
||
|
||
PASS Tests\Unit\Services\Attendance\AttendanceAutoPublishJobServiceTest
|
||
✓ run publishes due records 0.01s
|
||
|
||
PASS Tests\Unit\Services\Attendance\AttendanceAutoPublishServiceTest
|
||
✓ second sunday after end of day 0.01s
|
||
✓ second sunday backward date 0.01s
|
||
|
||
PASS Tests\Unit\Services\Attendance\AttendanceCommentServiceTest
|
||
✓ comment from score uses template and name 0.01s
|
||
✓ comment from score falls back to this student 0.02s
|
||
|
||
PASS Tests\Unit\Services\Attendance\AttendanceConsequenceServiceTest
|
||
✓ send follow up requires parent email 0.03s
|
||
✓ send follow up marks tracking and notifies 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Attendance\AttendanceDailySummaryServiceTest
|
||
⨯ send absentees summary notifies parent 0.02s
|
||
|
||
PASS Tests\Unit\Services\Attendance\AttendancePolicyServiceTest
|
||
✓ teacher can edit draft 0.01s
|
||
✓ teacher cannot edit finalized 0.01s
|
||
✓ admin like by permission 0.01s
|
||
✓ can manage early dismissals for teacher 0.01s
|
||
|
||
PASS Tests\Unit\Services\Attendance\AttendanceQueryServiceTest
|
||
✓ teacher grid returns section labels and grid 0.02s
|
||
|
||
PASS Tests\Unit\Services\Attendance\AttendanceRecordSyncServiceTest
|
||
✓ update attendance record adjusts totals 0.02s
|
||
✓ add new attendance record creates row 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Attendance\AttendanceSemesterRangeServiceTest
|
||
⨯ get semester range 0.01s
|
||
✓ build sunday list returns sundays 0.01s
|
||
|
||
PASS Tests\Unit\Services\Attendance\AttendanceServiceTest
|
||
✓ update attendance management throws when locked 0.02s
|
||
✓ update attendance management saves row 0.02s
|
||
|
||
PASS Tests\Unit\Services\Attendance\AttendanceSummaryRebuildServiceTest
|
||
✓ rebuild inserts summary rows 0.02s
|
||
|
||
FAIL Tests\Unit\Services\Attendance\LateSlipLogCommandServiceTest
|
||
⨯ delete removes log 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Attendance\LateSlipLogQueryServiceTest
|
||
⨯ paginate filters by date 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Attendance\SemesterRangeServiceTest
|
||
✓ normalize semester
|
||
⨯ get school year range
|
||
✓ build sunday list
|
||
|
||
PASS Tests\Feature\Api\Attendance\StaffAttendanceApiControllerTest
|
||
✓ month data returns success 0.02s
|
||
✓ admins data returns success 0.02s
|
||
|
||
PASS Tests\Unit\Services\Attendance\StaffAttendanceServiceTest
|
||
✓ month data returns sections and days 0.02s
|
||
|
||
PASS Tests\Unit\Services\Attendance\StudentAttendanceWriterServiceTest
|
||
✓ resolve student school id from student 0.02s
|
||
✓ save or update updates existing and syncs record 0.01s
|
||
|
||
PASS Tests\Feature\Api\Attendance\TeacherAttendanceApiControllerTest
|
||
✓ teacher grid endpoint returns success 0.02s
|
||
✓ teacher form endpoint returns success or validation message 0.02s
|
||
|
||
PASS Tests\Unit\Services\Attendance\TeacherAttendanceSubmissionServiceTest
|
||
✓ submit requires attendance data 0.02s
|
||
|
||
PASS Tests\Unit\Services\AttendanceManagement\AttendanceManagementServiceTest
|
||
✓ badge scan persists school year and semester for the event date 0.02s
|
||
✓ dashboard derives academic context for legacy rows and applies filt… 0.02s
|
||
|
||
PASS Tests\Unit\Services\AttendanceTracking\AttendanceCaseQueryServiceTest
|
||
✓ returns not found when student missing 0.02s
|
||
|
||
PASS Tests\Unit\Services\AttendanceTracking\AttendanceCommunicationSupportServiceTest
|
||
✓ compose requires student id 0.01s
|
||
✓ get violation dates for student 0.02s
|
||
|
||
PASS Tests\Unit\Services\AttendanceTracking\AttendanceEmailComposerServiceTest
|
||
✓ render template replaces tokens 0.01s
|
||
✓ pick variant fallback 0.01s
|
||
|
||
PASS Tests\Unit\Services\AttendanceTracking\AttendanceNotificationLogServiceTest
|
||
✓ log notification creates and updates 0.02s
|
||
|
||
PASS Tests\Unit\Services\AttendanceTracking\AttendanceNotificationWorkflowServiceTest
|
||
✓ record requires parent email 0.02s
|
||
|
||
PASS Tests\Unit\Services\AttendanceTracking\AttendanceParentLookupServiceTest
|
||
✓ get primary parent for student 0.01s
|
||
✓ get secondary parent falls back to parent row 0.01s
|
||
|
||
PASS Tests\Unit\Services\AttendanceTracking\AttendancePendingViolationServiceTest
|
||
✓ returns error when no students 0.01s
|
||
|
||
FAIL Tests\Unit\Services\AttendanceTracking\AttendanceTrackingServiceTest
|
||
⨯ service instantiates 0.01s
|
||
|
||
PASS Tests\Unit\Services\AttendanceTracking\AttendanceViolationStudentResolverServiceTest
|
||
✓ resolve for school year returns students 0.02s
|
||
|
||
PASS Tests\Unit\Services\AttendanceTracking\ViolationRuleEngineServiceTest
|
||
✓ school year helpers 0.01s
|
||
✓ window weeks for violation code 0.01s
|
||
|
||
PASS Tests\Unit\Services\Auth\PasswordResetCleanupServiceTest
|
||
✓ cleanup removes old requests 0.02s
|
||
|
||
PASS Tests\Unit\Services\Auth\PermissionCheckServiceTest
|
||
✓ has permission returns true when assigned 0.01s
|
||
|
||
PASS Tests\Unit\Services\Auth\RegistrationCaptchaServiceTest
|
||
✓ generate sets cache value 0.01s
|
||
✓ verify and clear 0.02s
|
||
|
||
PASS Tests\Unit\Services\Auth\RegistrationFormatterServiceTest
|
||
✓ format normalizes parent fields 0.01s
|
||
✓ format includes second parent when present 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Auth\RegistrationServiceTest
|
||
⨯ register creates parent user 0.02s
|
||
⨯ register rejects pending activation 0.32s
|
||
|
||
PASS Tests\Unit\Services\Auth\UserRoleServiceTest
|
||
✓ has permission for crud checks roles 0.01s
|
||
|
||
PASS Tests\Unit\Services\Badges\BadgeFormDataServiceTest
|
||
✓ build formats users and assigns latest class for teacherish roles 0.02s
|
||
✓ build defaults invalid active role to teacher 0.01s
|
||
|
||
PASS Tests\Unit\Services\Badges\BadgePdfServiceTest
|
||
✓ generate returns pdf response and logs prints 0.10s
|
||
✓ generate returns empty state pdf when no valid users found 0.09s
|
||
✓ generate deduplicates same badge content 0.08s
|
||
|
||
PASS Tests\Unit\Services\Badges\BadgePrintLogServiceTest
|
||
✓ get status normalizes ids before calling model 0.02s
|
||
✓ log normalizes ids and returns inserted count 0.01s
|
||
✓ log safely swallows exceptions and logs error 0.01s
|
||
|
||
PASS Tests\Unit\Services\Badges\BadgeTextFormatterTest
|
||
✓ normalize ids filters and deduplicates 0.02s
|
||
✓ norm removes extra spaces and control chars 0.01s
|
||
✓ format role handles special words and acronyms 0.01s
|
||
✓ format roles csv formats each role 0.01s
|
||
✓ format class normalizes known values 0.01s
|
||
✓ resolve role prefers first available candidate 0.01s
|
||
✓ to pdf returns string 0.01s
|
||
✓ fit text returns size within bounds 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Billing\BalanceCalculationServiceTest
|
||
⨯ calculate family account applies balance formula 0.02s
|
||
✓ overpayment records account credit 0.01s
|
||
✓ student rows include event charges 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Billing\BillingTotalsServiceTest
|
||
⨯ event and additional subtotals 0.02s
|
||
⨯ additional subtotal by parent sums applied charges 0.01s
|
||
✓ event subtotals by student groups amounts 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Billing\ChargeServiceTest
|
||
✓ create extra charge blocks duplicate 0.02s
|
||
✓ create event charge blocks duplicate 0.01s
|
||
✓ create event charge succeeds 0.01s
|
||
⨯ cancel event charge zeros charge and creates credit 0.01s
|
||
✓ apply extra charge marks applied 0.02s
|
||
✓ list for parent returns both charge types 0.01s
|
||
|
||
PASS Tests\Unit\Services\BroadcastEmail\BroadcastEmailComposerServiceTest
|
||
✓ sanitize removes script and events 0.01s
|
||
✓ compose replaces name when personalized 0.02s
|
||
|
||
PASS Tests\Unit\Services\BroadcastEmail\BroadcastEmailRecipientServiceTest
|
||
✓ parents with emails filters missing email 0.02s
|
||
✓ recipients by ids returns names 0.02s
|
||
|
||
PASS Tests\Unit\Services\BroadcastEmail\BroadcastEmailSenderOptionsServiceTest
|
||
✓ list options from env 0.02s
|
||
|
||
PASS Tests\Unit\Services\CertificateAdminServiceTest
|
||
✓ dashboard groups students and uses saved decisions as source of tru… 0.02s
|
||
✓ issue certificates reuses existing record and creates new one for u… 0.02s
|
||
✓ audit log returns year summary and filtered records 0.02s
|
||
|
||
PASS Tests\Unit\Services\ClassPrep\ClassRosterServiceTest
|
||
✓ list students by class 0.01s
|
||
|
||
PASS Tests\Unit\Services\ClassPrep\StickerCountServiceTest
|
||
✓ list all returns totals excluding youth 0.01s
|
||
✓ list for class limits results 0.02s
|
||
|
||
PASS Tests\Unit\Services\ClassPreparation\ClassPreparationAdjustmentServiceTest
|
||
✓ apply adjustments updates counts 0.01s
|
||
|
||
FAIL Tests\Unit\Services\ClassPreparation\ClassPreparationAdjustmentWriterServiceTest
|
||
⨯ save adjustments persists allowed items 0.02s
|
||
|
||
PASS Tests\Unit\Services\ClassPreparation\ClassPreparationCalculatorServiceTest
|
||
✓ get class level by section 0.02s
|
||
✓ calculate prep items for lower grades 0.01s
|
||
|
||
PASS Tests\Unit\Services\ClassPreparation\ClassPreparationContextServiceTest
|
||
✓ has roster for semester 0.01s
|
||
|
||
PASS Tests\Unit\Services\ClassPreparation\ClassPreparationInventoryServiceTest
|
||
✓ build availability uses max value 0.02s
|
||
|
||
FAIL Tests\Unit\Services\ClassPreparation\ClassPreparationLogServiceTest
|
||
✓ has prep changed detects diff 0.01s
|
||
⨯ create log and get latest 0.01s
|
||
|
||
FAIL Tests\Unit\Services\ClassPreparation\ClassPreparationPrintServiceTest
|
||
⨯ print prep creates log 0.02s
|
||
✓ print prep handles log failure 0.02s
|
||
|
||
PASS Tests\Unit\Services\ClassPreparation\ClassPreparationRosterServiceTest
|
||
✓ get class section student counts 0.01s
|
||
✓ get student count for section 0.02s
|
||
|
||
FAIL Tests\Unit\Services\ClassPreparation\ClassPreparationServiceTest
|
||
✓ list prep returns sections and totals 0.02s
|
||
⨯ mark printed creates logs 0.01s
|
||
|
||
PASS Tests\Unit\Services\ClassProgress\ClassProgressAttachmentServiceTest
|
||
✓ store attachments persists records 0.04s
|
||
|
||
PASS Tests\Unit\Services\ClassProgress\ClassProgressMetaServiceTest
|
||
✓ subject sections return configured values 0.01s
|
||
|
||
FAIL Tests\Unit\Services\ClassProgress\ClassProgressMutationServiceTest
|
||
⨯ create reports persists multiple subjects 0.02s
|
||
⨯ update report changes status 0.02s
|
||
⨯ delete report removes record 0.01s
|
||
|
||
PASS Tests\Unit\Services\ClassProgress\ClassProgressQueryServiceTest
|
||
✓ list reports filters by class section 0.02s
|
||
|
||
PASS Tests\Unit\Services\ClassProgress\ClassProgressRuleServiceTest
|
||
✓ build unit chapter summary limits length
|
||
✓ ensure week end defaults to six days
|
||
|
||
PASS Tests\Unit\Services\ClassSections\ClassAttendanceServiceTest
|
||
✓ get attendance payload includes students 0.02s
|
||
|
||
PASS Tests\Unit\Services\ClassSections\ClassSectionCommandServiceTest
|
||
✓ create update delete 0.01s
|
||
|
||
PASS Tests\Unit\Services\ClassSections\ClassSectionQueryServiceTest
|
||
✓ list filters by search 0.01s
|
||
|
||
PASS Tests\Unit\Services\ClassSections\ClassSectionSeedServiceTest
|
||
✓ seed defaults creates rows 0.02s
|
||
|
||
PASS Tests\Unit\Services\Communication\CommunicationTemplateServiceTest
|
||
✓ list active templates maps columns 0.01s
|
||
|
||
PASS Tests\Unit\Services\CompetitionScores\CompetitionScoresSaveServiceTest
|
||
✓ filter scores rejects non integers 0.01s
|
||
✓ save scores upserts 0.02s
|
||
|
||
PASS Tests\Unit\Services\Dashboard\DashboardRouteServiceTest
|
||
✓ resolve returns fallback when no roles 0.01s
|
||
✓ resolve returns dashboard route for role 0.02s
|
||
|
||
FAIL Tests\Unit\Services\Discounts\DiscountApplyServiceTest
|
||
⨯ apply voucher returns error when no remaining uses 0.02s
|
||
|
||
PASS Tests\Unit\Services\Email\EmailExtractorServiceTest
|
||
✓ list and compare emails 0.01s
|
||
|
||
PASS Tests\Unit\Services\Email\EmailProfileServiceTest
|
||
✓ resolve profile maps aliases 0.01s
|
||
✓ env key from profile 0.01s
|
||
✓ sanitize reply to name 0.01s
|
||
|
||
PASS Tests\Unit\Services\EmergencyContacts\EmergencyContactDirectoryServiceTest
|
||
✓ groups include parent students contacts and phones 0.02s
|
||
|
||
PASS Tests\Unit\Services\Events\EventCategoryServiceTest
|
||
✓ categories returns list 0.02s
|
||
|
||
PASS Tests\Unit\Services\Events\EventChargeQueryServiceTest
|
||
✓ list returns paginated charges 0.01s
|
||
|
||
PASS Tests\Unit\Services\Events\EventChargeServiceTest
|
||
✓ seed charges creates event charges 0.01s
|
||
|
||
PASS Tests\Unit\Services\Events\EventListServiceTest
|
||
✓ list filters active events 0.02s
|
||
|
||
PASS Tests\Unit\Services\Events\EventManagementServiceTest
|
||
✓ update returns not found 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Events\EventStudentChargeServiceTest
|
||
⨯ list students with charges 0.01s
|
||
|
||
PASS Tests\Unit\Services\Exams\ExamDraftTeacherServiceTest
|
||
✓ store creates draft 0.02s
|
||
|
||
FAIL Tests\Unit\Services\Expenses\ExpenseReceiptServiceTest
|
||
⨯ store receipt returns filename and url 0.01s
|
||
|
||
PASS Tests\Unit\Services\Expenses\ExpenseStaffServiceTest
|
||
✓ list staff users excludes parents 0.02s
|
||
|
||
PASS Tests\Unit\Services\ExtraCharges\ExtraChargesMetaServiceTest
|
||
✓ get school years uses fallback 0.01s
|
||
✓ get school years merges sources 0.01s
|
||
|
||
PASS Tests\Unit\Services\Families\FamilyFinanceServiceTest
|
||
✓ load financials for parents returns summary 0.01s
|
||
|
||
PASS Tests\Unit\Services\Families\FamilyMutationServiceTest
|
||
✓ bootstrap creates family 0.02s
|
||
✓ attach second by email creates guardian 0.02s
|
||
✓ set primary home updates flag 0.02s
|
||
|
||
PASS Tests\Unit\Services\Families\FamilyNotificationServiceTest
|
||
✓ send compose email delegates to dispatcher 0.02s
|
||
|
||
PASS Tests\Unit\Services\Families\FamilyQueryServiceTest
|
||
✓ admin index returns families 0.02s
|
||
✓ search suggestions returns items 0.01s
|
||
✓ family card returns payload 0.02s
|
||
|
||
PASS Tests\Unit\Services\FeeCalculationServiceTest
|
||
✓ calculate refund returns calculator amount 0.01s
|
||
|
||
PASS Tests\Unit\Services\Fees\FeeGradeServiceTest
|
||
✓ grade level parsing 0.01s
|
||
✓ compare grades orders numeric then suffix 0.02s
|
||
|
||
PASS Tests\Unit\Services\Fees\FeeRefundCalculatorServiceTest
|
||
✓ calculate refund caps at total paid 0.01s
|
||
✓ returns zero when parent has no payments 0.01s
|
||
✓ returns zero when no withdrawn students 0.02s
|
||
✓ withdrawn student breakdown carries assigned tuition fee 0.01s
|
||
✓ multi student family only refunds withdrawn students 0.01s
|
||
✓ withdrawal after deadline is not eligible 0.01s
|
||
✓ missing withdrawal date is skipped with reason 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Fees\FeeRefundDetailServiceTest
|
||
⨯ calculate refund details returns amount 0.01s
|
||
|
||
PASS Tests\Unit\Services\Fees\FeeStudentFeeServiceTest
|
||
✓ total tuition fee applies tiers and youth fee 0.01s
|
||
✓ assign fees stores tuition fee and fee category on each student 0.02s
|
||
✓ calculate breakdown includes billable and non billable students 0.01s
|
||
✓ is billable and is withdrawn classifiers 0.01s
|
||
|
||
PASS Tests\Unit\Services\Fees\TuitionCalculationServiceTest
|
||
✓ calculate returns family total and per student breakdown 0.02s
|
||
✓ calculate excludes non billable students from family total 0.01s
|
||
✓ calculate applies per student discount 0.01s
|
||
✓ family total helper 0.01s
|
||
|
||
PASS Tests\Unit\Services\Files\ExamDraftDownloadNameServiceTest
|
||
✓ build returns slugified name 0.02s
|
||
|
||
PASS Tests\Unit\Services\Files\FileServeServiceTest
|
||
✓ meta returns file metadata 0.01s
|
||
✓ serve inline returns 304 when etag matches 0.01s
|
||
✓ serve inline rejects invalid extension 0.02s
|
||
|
||
PASS Tests\Unit\Services\Finance\FinancialChartServiceTest
|
||
✓ generate charts returns null in tests 0.01s
|
||
|
||
PASS Tests\Unit\Services\Finance\FinancialPaymentServiceTest
|
||
✓ payment aggregates exclude void statuses 0.01s
|
||
|
||
PASS Tests\Unit\Services\Finance\FinancialPdfReportServiceTest
|
||
✓ build pdf returns bytes 0.02s
|
||
|
||
PASS Tests\Unit\Services\Finance\FinancialReportServiceTest
|
||
✓ report returns grouped data 0.02s
|
||
|
||
PASS Tests\Unit\Services\Finance\FinancialSchoolYearServiceTest
|
||
✓ list years returns distinct sorted years 0.01s
|
||
|
||
PASS Tests\Unit\Services\Finance\FinancialSummaryServiceTest
|
||
✓ summary calculates totals 0.02s
|
||
|
||
PASS Tests\Unit\Services\Finance\FinancialUnpaidParentsServiceTest
|
||
✓ unpaid parents returns installment data 0.02s
|
||
|
||
PASS Tests\Unit\Services\Frontend\ContactSubmissionServiceTest
|
||
✓ submit creates contact record 0.02s
|
||
|
||
PASS Tests\Unit\Services\Frontend\FrontendPageServiceTest
|
||
✓ page returns payload 0.02s
|
||
|
||
PASS Tests\Unit\Services\Frontend\LandingPageContextServiceTest
|
||
✓ context returns config values 0.01s
|
||
|
||
PASS Tests\Unit\Services\Frontend\LandingPageParentDashboardServiceTest
|
||
✓ summary returns parent payload 0.01s
|
||
|
||
PASS Tests\Unit\Services\Frontend\LandingPageRoleServiceTest
|
||
✓ resolve role returns guest when missing 0.02s
|
||
✓ resolve role returns first role 0.01s
|
||
|
||
PASS Tests\Unit\Services\Frontend\LandingPageServiceTest
|
||
✓ dashboard for user returns guest 0.01s
|
||
✓ dashboard for user returns admin 0.02s
|
||
|
||
PASS Tests\Unit\Services\Frontend\LandingPageTeacherSummaryServiceTest
|
||
✓ summary returns dashboard payload 0.02s
|
||
|
||
PASS Tests\Unit\Services\Frontend\ProfileIconServiceTest
|
||
✓ build for user returns initials 0.02s
|
||
|
||
PASS Tests\Unit\Services\Frontend\StaticPageServiceTest
|
||
✓ load returns content 0.02s
|
||
✓ load missing returns error 0.01s
|
||
|
||
PASS Tests\Unit\Services\Grading\BelowSixtyEmailServiceTest
|
||
✓ send requires student id 0.01s
|
||
✓ send delivers to guardians 0.02s
|
||
|
||
PASS Tests\Unit\Services\Grading\GradingBelowSixtyServiceTest
|
||
✓ list rows returns students below sixty 0.01s
|
||
|
||
PASS Tests\Unit\Services\Grading\GradingLockServiceTest
|
||
✓ toggle creates lock 0.01s
|
||
✓ lock all locks sections 0.02s
|
||
|
||
PASS Tests\Unit\Services\Grading\HomeworkTrackingServiceTest
|
||
✓ report returns teacher rows 0.02s
|
||
|
||
PASS Tests\Unit\Services\Incidents\IncidentAnalysisServiceTest
|
||
✓ analyze groups incidents by student 0.01s
|
||
|
||
PASS Tests\Unit\Services\Incidents\IncidentHistoryServiceTest
|
||
✓ processed enriches grade and updater names 0.02s
|
||
|
||
PASS Tests\Unit\Services\Incidents\IncidentLookupServiceTest
|
||
✓ grade options with active students 0.01s
|
||
✓ updater name map 0.01s
|
||
|
||
PASS Tests\Unit\Services\Inventory\InventoryCategoryServiceTest
|
||
✓ create category 0.02s
|
||
✓ update category 0.01s
|
||
|
||
PASS Tests\Unit\Services\Inventory\InventoryItemServiceTest
|
||
✓ create creates item and movement 0.02s
|
||
✓ update updates item 0.02s
|
||
|
||
PASS Tests\Unit\Services\Inventory\InventoryMovementServiceTest
|
||
✓ create movement 0.01s
|
||
|
||
PASS Tests\Unit\Services\Inventory\InventorySummaryServiceTest
|
||
✓ summary returns items 0.01s
|
||
|
||
PASS Tests\Unit\Services\Inventory\InventoryTeacherDistributionServiceTest
|
||
✓ form data requires teacher role 0.02s
|
||
✓ distribute success 0.02s
|
||
|
||
PASS Tests\Unit\Services\Inventory\SupplierServiceTest
|
||
✓ create supplier 0.01s
|
||
✓ update supplier 0.02s
|
||
|
||
PASS Tests\Unit\Services\Inventory\SupplyCategoryServiceTest
|
||
✓ create category 0.01s
|
||
✓ update category 0.01s
|
||
|
||
PASS Tests\Unit\Services\Invoices\InvoiceConfigServiceTest
|
||
✓ config service reads values 0.02s
|
||
|
||
PASS Tests\Unit\Services\Invoices\InvoiceGenerationServiceTest
|
||
✓ generate invoice creates new invoice 0.02s
|
||
|
||
PASS Tests\Unit\Services\Invoices\InvoiceGradeServiceTest
|
||
✓ grade parsing handles common cases 0.01s
|
||
✓ compare grades orders numeric then suffix 0.02s
|
||
|
||
PASS Tests\Unit\Services\Invoices\InvoiceManagementServiceTest
|
||
✓ management data returns parent invoice summary 0.02s
|
||
|
||
PASS Tests\Unit\Services\Invoices\InvoicePaymentServiceTest
|
||
✓ parent invoice summary includes refunds and last payment 0.01s
|
||
|
||
PASS Tests\Unit\Services\Invoices\InvoicePdfServiceTest
|
||
✓ build pdf returns bytes 0.02s
|
||
|
||
PASS Tests\Unit\Services\Invoices\InvoiceServiceTest
|
||
✓ has class assignment returns true 0.02s
|
||
|
||
PASS Tests\Unit\Services\Invoices\InvoiceTuitionServiceTest
|
||
✓ calculate tuition fee counts regular and youth 0.01s
|
||
✓ refund deadline includes withdrawn when passed 0.02s
|
||
|
||
PASS Tests\Unit\Services\Messaging\MessageCommandServiceTest
|
||
✓ create sends message 0.02s
|
||
✓ create rejects invalid role 0.01s
|
||
|
||
PASS Tests\Unit\Services\Messaging\MessageQueryServiceTest
|
||
✓ inbox filters messages 0.02s
|
||
|
||
PASS Tests\Unit\Services\Messaging\MessageRecipientServiceTest
|
||
✓ teachers returns list 0.01s
|
||
✓ parents returns list 0.02s
|
||
|
||
FAIL Tests\Unit\Services\Navigation\NavBuilderServiceTest
|
||
✓ save creates nav item and roles 0.02s
|
||
⨯ reorder updates sort order 0.01s
|
||
|
||
PASS Tests\Unit\Services\Navigation\NavbarServiceTest
|
||
✓ get menu for roles builds tree 0.01s
|
||
|
||
PASS Tests\Unit\Services\Notifications\NotificationActiveServiceTest
|
||
✓ list filters by target group 0.02s
|
||
|
||
PASS Tests\Unit\Services\Notifications\NotificationCleanupServiceTest
|
||
✓ cleanup expired soft deletes rows 0.01s
|
||
|
||
PASS Tests\Unit\Services\Notifications\NotificationDeletedServiceTest
|
||
✓ list returns deleted notifications 0.01s
|
||
|
||
PASS Tests\Unit\Services\Notifications\NotificationDispatchServiceTest
|
||
✓ dispatch logs email and sms 0.02s
|
||
|
||
PASS Tests\Unit\Services\Notifications\NotificationManagementServiceTest
|
||
✓ update modifies notification 0.01s
|
||
✓ update returns false when missing 0.01s
|
||
✓ delete and restore notification 0.02s
|
||
|
||
PASS Tests\Unit\Services\Notifications\NotificationReadServiceTest
|
||
✓ mark read updates row 0.01s
|
||
✓ mark read returns false when missing 0.01s
|
||
|
||
PASS Tests\Unit\Services\Notifications\NotificationRecipientServiceTest
|
||
✓ get recipients by role 0.02s
|
||
|
||
FAIL Tests\Unit\Services\Notifications\NotificationSendServiceTest
|
||
⨯ send creates notification and user notifications 0.02s
|
||
|
||
PASS Tests\Unit\Services\Notifications\NotificationShowServiceTest
|
||
✓ get for user returns notification 0.01s
|
||
✓ get for user returns null when missing 0.02s
|
||
|
||
PASS Tests\Unit\Services\Notifications\NotificationTriggerServiceTest
|
||
✓ trigger dispatches event 0.01s
|
||
✓ to user dispatches event 0.01s
|
||
|
||
PASS Tests\Unit\Services\Notifications\NotificationUserListServiceTest
|
||
✓ list filters by read status 0.02s
|
||
|
||
PASS Tests\Unit\Services\Notifications\UserNotificationDispatchServiceTest
|
||
✓ notify user creates notification 0.02s
|
||
✓ notify user rejects invalid user 0.01s
|
||
|
||
PASS Tests\Unit\Services\Parents\ParentAttendanceReportServiceTest
|
||
✓ form data returns students 0.02s
|
||
|
||
PASS Tests\Unit\Services\Parents\ParentAttendanceServiceTest
|
||
✓ list attendance returns rows 0.02s
|
||
|
||
PASS Tests\Unit\Services\Parents\ParentConfigServiceTest
|
||
✓ context returns config values 0.01s
|
||
|
||
PASS Tests\Unit\Services\Parents\ParentEmergencyContactServiceTest
|
||
✓ store creates contact 0.02s
|
||
|
||
PASS Tests\Unit\Services\Parents\ParentEnrollmentServiceTest
|
||
✓ overview returns students 0.02s
|
||
|
||
PASS Tests\Unit\Services\Parents\ParentInvoiceServiceTest
|
||
✓ list invoices filters by parent 0.02s
|
||
|
||
PASS Tests\Unit\Services\Parents\ParentRegistrationServiceTest
|
||
✓ register creates student and contact 0.02s
|
||
|
||
PASS Tests\Unit\Services\Payments\PaymentBalanceServiceTest
|
||
✓ update balance adjusts payment totals 0.01s
|
||
|
||
PASS Tests\Unit\Services\Payments\PaymentEnrollmentEventServiceTest
|
||
✓ build event data requires parent 0.02s
|
||
✓ build event data returns parent payload when no students 0.02s
|
||
|
||
PASS Tests\Unit\Services\Payments\PaymentEventChargesServiceTest
|
||
✓ get enrolled students returns grade 0.01s
|
||
|
||
PASS Tests\Unit\Services\Payments\PaymentLookupServiceTest
|
||
✓ get by parent filters school year 0.01s
|
||
|
||
PASS Tests\Unit\Services\Payments\PaymentManualServiceTest
|
||
✓ record payment rejects invalid method 0.02s
|
||
✓ suggest returns matches 0.01s
|
||
|
||
PASS Tests\Unit\Services\Payments\PaymentMissedCheckServiceTest
|
||
✓ find users with missed payments 0.01s
|
||
✓ send reminders sends email and notification 0.01s
|
||
|
||
PASS Tests\Unit\Services\Payments\PaymentNotificationDispatchServiceTest
|
||
✓ notify user creates notification records 0.01s
|
||
|
||
PASS Tests\Unit\Services\Payments\PaymentNotificationServiceTest
|
||
✓ send records log and returns sent count 0.02s
|
||
✓ list logs filters by type 0.02s
|
||
|
||
PASS Tests\Unit\Services\Payments\PaymentPlanServiceTest
|
||
✓ create plan uses defaults when missing 0.02s
|
||
|
||
PASS Tests\Unit\Services\Payments\PaymentTestNotificationServiceTest
|
||
✓ send logs and sends email 0.02s
|
||
|
||
PASS Tests\Unit\Services\Payments\PaymentTransactionServiceTest
|
||
✓ create and update transaction 0.02s
|
||
|
||
PASS Tests\Unit\Services\Payments\PaypalPaymentServiceTest
|
||
✓ create payment falls back to hosted when sdk missing 0.01s
|
||
✓ execute payment throws when sdk missing 0.01s
|
||
|
||
PASS Tests\Unit\Services\Payments\PaypalPaymentSyncServiceTest
|
||
✓ sync applies payment and marks synced 0.02s
|
||
|
||
PASS Tests\Unit\Services\Payments\PaypalTransactionsServiceTest
|
||
✓ list all filters by keyword 0.01s
|
||
|
||
PASS Tests\Unit\Services\Phone\PhoneFormatterServiceTest
|
||
✓ format returns null for invalid 0.01s
|
||
✓ format formats digits 0.01s
|
||
|
||
PASS Tests\Unit\Services\Policy\PolicyContentServiceTest
|
||
✓ get policy returns content 0.01s
|
||
|
||
PASS Tests\Unit\Services\Preferences\PreferencesCommandServiceTest
|
||
✓ upsert creates record 0.01s
|
||
|
||
PASS Tests\Unit\Services\Preferences\PreferencesOptionsServiceTest
|
||
✓ defaults include expected keys 0.02s
|
||
|
||
PASS Tests\Unit\Services\Preferences\PreferencesQueryServiceTest
|
||
✓ get for user returns defaults when missing 0.01s
|
||
✓ paginate filters by user id 0.01s
|
||
|
||
PASS Tests\Unit\Services\Promotions\LevelProgressionServiceTest
|
||
✓ seed defaults creates baseline levels 0.02s
|
||
✓ resolve by class id uses mapping when present 0.02s
|
||
✓ resolve falls back to class id plus one when no mapping 0.01s
|
||
✓ upsert mapping updates existing row 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Promotions\PromotionEligibilityServiceTest
|
||
✓ passing student becomes awaiting parent enrollment 0.02s
|
||
✓ failing student becomes repeated 0.01s
|
||
✓ missing scores marks on hold 0.01s
|
||
⨯ terminal level is graduated 0.02s
|
||
✓ audit log records status changes 0.01s
|
||
|
||
PASS Tests\Unit\Services\Promotions\PromotionEnrollmentServiceTest
|
||
✓ completing checklist finalises promotion and creates enrollment 0.02s
|
||
✓ partial checklist keeps status in progress 0.02s
|
||
✓ submit requires complete checklist 0.01s
|
||
✓ other parent cannot act on record 0.01s
|
||
✓ expired records become not enrolled 0.02s
|
||
|
||
PASS Tests\Unit\Services\Promotions\PromotionStatusServiceTest
|
||
✓ allowed transition updates status and audit log 0.02s
|
||
✓ disallowed transition throws 0.01s
|
||
✓ force status bypasses transition map 0.02s
|
||
✓ no op transition returns record unchanged 0.02s
|
||
|
||
PASS Tests\Unit\Services\PurchaseOrders\PurchaseOrderCreateServiceTest
|
||
✓ create persists purchase order and items 0.01s
|
||
|
||
FAIL Tests\Unit\Services\PurchaseOrders\PurchaseOrderReceiveServiceTest
|
||
⨯ receive updates items and inventory 0.01s
|
||
|
||
PASS Tests\Unit\Services\PurchaseOrders\PurchaseOrderStatusServiceTest
|
||
✓ cancel marks purchase order canceled 0.02s
|
||
|
||
PASS Tests\Unit\Services\Refunds\RefundDecisionServiceTest
|
||
✓ approve updates refund status 0.01s
|
||
|
||
PASS Tests\Unit\Services\Refunds\RefundInvoiceAdjustmentServiceTest
|
||
✓ apply book charge inserts additional charge 0.01s
|
||
|
||
PASS Tests\Unit\Services\Refunds\RefundNotificationServiceTest
|
||
✓ notify pending logs event 0.02s
|
||
|
||
FAIL Tests\Unit\Services\Refunds\RefundOverpaymentServiceTest
|
||
⨯ recalculate creates overpayment refund 0.01s
|
||
|
||
PASS Tests\Unit\Services\Refunds\RefundPayoutServiceTest
|
||
✓ record payment marks partial 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Refunds\RefundPolicyServiceTest
|
||
⨯ process withdrawal refund creates refund 0.02s
|
||
|
||
PASS Tests\Unit\Services\Refunds\RefundQueryServiceTest
|
||
✓ list filters by status 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Refunds\RefundRequestServiceTest
|
||
⨯ request overpayment creates refund 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Refunds\RefundSummaryServiceTest
|
||
⨯ summary calculates unapplied balance 0.02s
|
||
|
||
PASS Tests\Unit\Services\Reimbursements\ReimbursementBatchAssignmentServiceTest
|
||
✓ assign and unassign batch item 0.02s
|
||
|
||
PASS Tests\Unit\Services\Reimbursements\ReimbursementBatchServiceTest
|
||
✓ create batch assigns sequence and title 0.01s
|
||
|
||
PASS Tests\Unit\Services\Reimbursements\ReimbursementDonationServiceTest
|
||
✓ mark donation updates expense and unassigns 0.02s
|
||
|
||
PASS Tests\Unit\Services\Reimbursements\ReimbursementRecipientServiceTest
|
||
✓ recipient options include staff and specials 0.02s
|
||
|
||
PASS Tests\Unit\Services\Reports\ReportCards\ReportCardServiceTest
|
||
✓ meta returns data sets 0.01s
|
||
✓ completeness returns summary 0.02s
|
||
✓ acknowledgement returns signed data 0.01s
|
||
✓ generate single report returns pdf 0.02s
|
||
✓ generate single report handles missing scores 0.01s
|
||
|
||
PASS Tests\Unit\Services\Reports\SlipPrinterFormatterServiceTest
|
||
✓ to db date parses us format 0.02s
|
||
✓ to db time parses string 0.01s
|
||
|
||
PASS Tests\Unit\Services\Reports\Stickers\StickerPresetServiceTest
|
||
✓ presets include alias fields 0.01s
|
||
|
||
PASS Tests\Unit\Services\Reports\Stickers\StickerPrintServiceTest
|
||
✓ generate returns pdf content 0.02s
|
||
✓ generate returns error when no students 0.01s
|
||
|
||
PASS Tests\Unit\Services\Reports\Stickers\StickerQueryServiceTest
|
||
✓ list students by class returns rows 0.01s
|
||
✓ list students for print all excludes youth and kg 0.02s
|
||
|
||
PASS Tests\Unit\Services\Roles\PermissionCrudServiceTest
|
||
✓ create and update permission 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Roles\RoleAssignmentServiceTest
|
||
⨯ assign roles creates user roles and staff 0.01s
|
||
|
||
PASS Tests\Unit\Services\Roles\RoleCrudServiceTest
|
||
✓ create and update role 0.02s
|
||
|
||
PASS Tests\Unit\Services\Roles\RoleDashboardServiceTest
|
||
✓ best dashboard route for returns route 0.01s
|
||
|
||
PASS Tests\Unit\Services\Roles\RolePermissionServiceTest
|
||
✓ save role permissions persists rows 0.01s
|
||
|
||
PASS Tests\Unit\Services\Roles\RoleQueryServiceTest
|
||
✓ list roles returns paginator 0.02s
|
||
✓ list users with roles returns roles 0.01s
|
||
|
||
PASS Tests\Unit\Services\Roles\RoleSwitchServiceTest
|
||
✓ get user role names returns roles 0.02s
|
||
|
||
PASS Tests\Unit\Services\School\AccountEventServiceTest
|
||
✓ new account added creates family links 0.02s
|
||
✓ delete unverified user handles missing admin emails 0.01s
|
||
|
||
FAIL Tests\Unit\Services\School\EnrollmentEventServiceTest
|
||
⨯ admission under review sends email 0.01s
|
||
⨯ admission under review requires email 0.02s
|
||
|
||
FAIL Tests\Unit\Services\School\PaymentEventServiceTest
|
||
⨯ payment received sends email 0.01s
|
||
⨯ extra charge requires email 0.01s
|
||
|
||
PASS Tests\Unit\Services\School\SemesterSelectionServiceTest
|
||
✓ selected teacher semester prefers session value 0.02s
|
||
✓ selected teacher semester falls back to config 0.01s
|
||
|
||
FAIL Tests\Unit\Services\SchoolIds\SchoolIdAssignmentServiceTest
|
||
⨯ assigns school id when missing 0.01s
|
||
✓ assign returns existing school id 0.02s
|
||
|
||
PASS Tests\Unit\Services\SchoolIds\SchoolIdGenerationServiceTest
|
||
✓ generates student school id with prefix 0.01s
|
||
✓ generates user school id with prefix 0.01s
|
||
|
||
PASS Tests\Unit\Services\Scores\AttendanceCalculatorTest
|
||
✓ calculate uses configured days 0.02s
|
||
|
||
PASS Tests\Unit\Services\Scores\ExamScoreServiceTest
|
||
✓ list returns latest exam score 0.01s
|
||
✓ update creates exam score and missing override 0.01s
|
||
|
||
PASS Tests\Unit\Services\Scores\HomeworkCalculatorTest
|
||
✓ calculate returns average score 0.02s
|
||
|
||
PASS Tests\Unit\Services\Scores\HomeworkScoreServiceTest
|
||
✓ list includes semester variants 0.02s
|
||
✓ add column inserts next index 0.01s
|
||
|
||
PASS Tests\Unit\Services\Scores\ParticipationScoreServiceTest
|
||
✓ list returns participation scores 0.02s
|
||
✓ update updates existing scores 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Scores\ProjectCalculatorTest
|
||
⨯ calculate returns average score 0.01s
|
||
|
||
PASS Tests\Unit\Services\Scores\ProjectScoreServiceTest
|
||
✓ list returns headers and scores 0.02s
|
||
✓ update creates scores and missing overrides 0.01s
|
||
✓ add column inserts next index 0.01s
|
||
|
||
PASS Tests\Unit\Services\Scores\QuizCalculatorTest
|
||
✓ calculate returns average score 0.02s
|
||
|
||
PASS Tests\Unit\Services\Scores\QuizScoreServiceTest
|
||
✓ list returns headers and scores 0.02s
|
||
✓ update creates scores and missing overrides 0.01s
|
||
✓ add column inserts next index 0.02s
|
||
|
||
PASS Tests\Unit\Services\Scores\ScoreCommentServiceTest
|
||
✓ list returns comments for students 0.01s
|
||
✓ save returns validation errors for short comment 0.01s
|
||
|
||
PASS Tests\Unit\Services\Scores\ScoreDashboardServiceTest
|
||
✓ overview returns students and scores 0.02s
|
||
✓ view student scores groups by year and semester 0.01s
|
||
|
||
PASS Tests\Unit\Services\Scores\ScorePredictorServiceTest
|
||
✓ report builds predictions 0.01s
|
||
|
||
PASS Tests\Unit\Services\Scores\ScoreTermServiceTest
|
||
✓ semester and school year fallback to configuration 0.02s
|
||
✓ normalize and variants 0.01s
|
||
|
||
PASS Tests\Unit\Services\Scores\SemesterScoreServiceTest
|
||
✓ update student scores upserts semester scores 0.03s
|
||
|
||
FAIL Tests\Unit\Services\Security\IpBanCommandServiceTest
|
||
⨯ ban now updates blocked until 0.02s
|
||
⨯ unban all resets active 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Security\IpBanQueryServiceTest
|
||
⨯ paginate filters active 0.01s
|
||
|
||
PASS Tests\Unit\Services\Security\Pbkdf2HasherTest
|
||
✓ hash and verify 0.95s
|
||
|
||
PASS Tests\Unit\Services\Semesters\SemesterConfigServiceTest
|
||
✓ reads dates from configuration 0.01s
|
||
|
||
PASS Tests\Unit\Services\Semesters\SemesterRangeServiceTest
|
||
✓ get school year range falls back when config missing 0.01s
|
||
✓ get semester for date uses config dates 0.02s
|
||
✓ normalize semester 0.01s
|
||
|
||
PASS Tests\Unit\Services\Settings\ConfigurationServiceTest
|
||
✓ store creates config 0.01s
|
||
|
||
PASS Tests\Unit\Services\Settings\SchoolCalendar\SchoolCalendarContextServiceTest
|
||
✓ event types returns list 0.02s
|
||
|
||
PASS Tests\Unit\Services\Settings\SchoolCalendar\SchoolCalendarFormatterServiceTest
|
||
✓ format event sets background for no school 0.01s
|
||
✓ format event normalizes iso dates to plain calendar date 0.01s
|
||
|
||
PASS Tests\Unit\Services\Settings\SchoolCalendar\SchoolCalendarMeetingServiceTest
|
||
✓ list meetings filters for parent 0.02s
|
||
|
||
FAIL Tests\Unit\Services\Settings\SchoolCalendar\SchoolCalendarMutationServiceTest
|
||
✓ create persists event 0.02s
|
||
⨯ update persists changes 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Settings\SchoolCalendar\SchoolCalendarNotificationServiceTest
|
||
⨯ notify returns empty when no targets 0.02s
|
||
|
||
PASS Tests\Unit\Services\Settings\SchoolCalendar\SchoolCalendarQueryServiceTest
|
||
✓ list events filters by school year 0.01s
|
||
✓ filter events for audience limits visibility 0.01s
|
||
|
||
PASS Tests\Unit\Services\Settings\SettingsServiceTest
|
||
✓ update persists settings 0.02s
|
||
|
||
PASS Tests\Unit\Services\Staff\StaffCommandServiceTest
|
||
✓ create requires user 0.01s
|
||
✓ create with user id 0.01s
|
||
|
||
PASS Tests\Unit\Services\Staff\StaffQueryServiceTest
|
||
✓ paginate returns staff 0.02s
|
||
|
||
PASS Tests\Unit\Services\Staff\StaffTimeOffLinkServiceTest
|
||
✓ token round trip 0.01s
|
||
✓ token invalid on expiry 2.02s
|
||
|
||
PASS Tests\Unit\Services\Students\StudentAssignmentServiceTest
|
||
✓ assign creates student class rows 0.04s
|
||
✓ remove deletes assignment 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Students\StudentProfileServiceTest
|
||
⨯ update student saves allergies 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Students\StudentScoreCardServiceTest
|
||
⨯ score card returns rows and comments 0.02s
|
||
|
||
PASS Tests\Unit\Services\Subjects\SubjectCurriculumServiceTest
|
||
✓ store creates entry 0.01s
|
||
✓ update changes title 0.01s
|
||
|
||
PASS Tests\Unit\Services\Support\ContactMessageServiceTest
|
||
✓ send returns payload 0.02s
|
||
|
||
PASS Tests\Unit\Services\Support\SupportRequestServiceTest
|
||
✓ create persists request 0.02s
|
||
|
||
PASS Tests\Unit\Services\System\CleanupSchedulerServiceTest
|
||
✓ should run when no cache 0.01s
|
||
✓ mark run sets cache 0.02s
|
||
✓ run unverified cleanup calls artisan 0.01s
|
||
|
||
PASS Tests\Unit\Services\System\ConfigUpdateServiceTest
|
||
✓ run task rejects unknown task 0.01s
|
||
✓ run task sets config when forced 0.02s
|
||
|
||
PASS Tests\Unit\Services\System\GlobalConfigServiceTest
|
||
✓ get semester and school year 0.01s
|
||
|
||
PASS Tests\Unit\Services\System\HealthCheckServiceTest
|
||
✓ check returns payload 0.01s
|
||
|
||
PASS Tests\Unit\Services\System\TimeServiceTest
|
||
✓ to utc and to local round trip 0.02s
|
||
|
||
FAIL Tests\Unit\Services\Teachers\TeacherAbsenceServiceTest
|
||
⨯ form data returns available dates 0.02s
|
||
⨯ submit creates staff attendance 0.01s
|
||
|
||
PASS Tests\Unit\Services\Teachers\TeacherAssignmentServiceTest
|
||
✓ assign creates teacher class row 0.02s
|
||
✓ delete removes assignment 0.01s
|
||
|
||
PASS Tests\Unit\Services\Teachers\TeacherDashboardServiceTest
|
||
✓ class view returns students 0.02s
|
||
|
||
PASS Tests\Unit\Services\TrophyReportServiceTest
|
||
✓ calculate threshold enforces minimum of three winners 0.02s
|
||
✓ projection marks students without fall scores as not projected 0.02s
|
||
✓ final report classifies confirmed surprise and missed winners 0.02s
|
||
|
||
PASS Tests\Unit\Services\Ui\UiStyleServiceTest
|
||
✓ update creates preferences 0.02s
|
||
|
||
PASS Tests\Unit\Services\Users\DeleteUnverifiedUserServiceTest
|
||
✓ delete after timeout deletes user 0.02s
|
||
✓ delete after timeout skips recent user 0.01s
|
||
|
||
PASS Tests\Unit\Services\Users\InactiveUserCleanupServiceTest
|
||
✓ cleanup removes inactive users and roles 0.02s
|
||
|
||
PASS Tests\Unit\Services\Users\LoginActivityServiceTest
|
||
✓ list returns paginated payload 0.01s
|
||
|
||
PASS Tests\Unit\Services\Users\UserEventServiceTest
|
||
✓ handle new account sends email 0.01s
|
||
✓ handle new account requires email 0.02s
|
||
|
||
PASS Tests\Unit\Services\Users\UserListServiceTest
|
||
✓ list includes roles and second parent flag 0.02s
|
||
|
||
PASS Tests\Unit\Services\Users\UserManagementServiceTest
|
||
✓ create persists user and role and sends welcome 0.02s
|
||
✓ update changes user fields 0.02s
|
||
✓ delete removes user and roles 0.01s
|
||
|
||
PASS Tests\Unit\Services\Whatsapp\WhatsappContactServiceTest
|
||
✓ list parent contacts returns primary and second 0.02s
|
||
|
||
PASS Tests\Unit\Services\Whatsapp\WhatsappContextServiceTest
|
||
✓ school year aliases generate expected values 0.02s
|
||
✓ has roster for year 0.01s
|
||
|
||
PASS Tests\Unit\Services\Whatsapp\WhatsappInviteBundleServiceTest
|
||
✓ bundle for parent returns links and emails 0.02s
|
||
✓ consolidate bundles merges by parent 0.02s
|
||
|
||
PASS Tests\Unit\Services\Whatsapp\WhatsappInviteEmailServiceTest
|
||
✓ send requires recipients 0.01s
|
||
✓ send dispatches email 0.01s
|
||
|
||
FAIL Tests\Unit\Services\Whatsapp\WhatsappInviteNotificationServiceTest
|
||
⨯ dispatch returns error when no listeners 0.02s
|
||
✓ dispatch triggers event when listener registered 0.03s
|
||
|
||
PASS Tests\Unit\Services\Whatsapp\WhatsappInviteServiceTest
|
||
✓ send returns success for parent mode 0.02s
|
||
|
||
PASS Tests\Unit\Services\Whatsapp\WhatsappLinkServiceTest
|
||
✓ upsert creates link 0.02s
|
||
✓ paginate filters by active 0.01s
|
||
|
||
PASS Tests\Unit\Services\Whatsapp\WhatsappMembershipServiceTest
|
||
✓ update membership saves primary 0.01s
|
||
✓ update membership returns error when table missing 0.02s
|
||
|
||
PASS Tests\Feature\Api\ApiAttendanceTemplateFeatureTest
|
||
✓ attendance comment templates can be managed through current api 0.03s
|
||
✓ attendance comment template validation blocks bad ranges 0.02s
|
||
✓ legacy attendance template aliases still work 0.03s
|
||
|
||
FAIL Tests\Feature\Api\ApiAuthenticationAndAuthorizationTest
|
||
✓ api login returns token and user object 0.06s
|
||
✓ session login also returns token and user object for spa clients 0.04s
|
||
✓ auth me requires authentication 0.02s
|
||
✓ auth me returns the current authenticated user 0.02s
|
||
⨯ admin only routes reject non admin users 0.03s
|
||
✓ protected api routes reject anonymous requests before business logi… 0.14s
|
||
|
||
PASS Tests\Feature\Api\ApiPreferencesFeatureTest
|
||
✓ authenticated user can create read update and delete preferences 0.03s
|
||
✓ non admin cannot list or manage another users preferences 0.03s
|
||
✓ admin can list and delete any users preferences 0.03s
|
||
✓ preferences validation rejects invalid options 0.02s
|
||
|
||
PASS Tests\Feature\Api\ApiPublicEndpointsTest
|
||
✓ health endpoint is available 0.01s
|
||
✓ public policy endpoints are available 0.02s
|
||
✓ public static pages are available 0.01s
|
||
✓ public frontend content endpoints do not server error 0.01s
|
||
✓ registration captcha endpoint returns captcha payload 0.02s
|
||
✓ invalid login payload is rejected cleanly 0.01s
|
||
|
||
PASS Tests\Feature\Api\ApiRolePermissionFeatureTest
|
||
✓ admin can manage roles permissions and assign roles 0.04s
|
||
✓ role permission validation rejects bad payloads 0.02s
|
||
|
||
FAIL Tests\Feature\Api\ApiRouteContractTest
|
||
⨯ every api route points to an existing controller method 0.01s
|
||
✓ api routes do not duplicate method and uri pairs 0.02s
|
||
✓ mutating api routes are protected unless explicitly public 0.05s
|
||
|
||
PASS Tests\Feature\Api\ApiUseCaseCoverageMatrixTest
|
||
✓ every api route is mapped to an explicit use case domain 0.01s
|
||
✓ required use case domains have route coverage 0.01s
|
||
✓ every protected api route rejects anonymous requests 0.21s
|
||
|
||
PASS Tests\Feature\Api\ApiUserManagementFeatureTest
|
||
✓ admin can create list update and delete a user through api 0.04s
|
||
✓ user creation validates required payload and unique email 0.02s
|
||
✓ user creation rejects nonexistent role id 0.02s
|
||
|
||
PASS Tests\Feature\Api\V1\Admin\AdministratorAbsenceControllerTest
|
||
✓ guest cannot access absence index 0.01s
|
||
✓ authenticated user can get absence index 0.02s
|
||
✓ absence store requires reason 0.01s
|
||
✓ absence store requires valid date format 0.01s
|
||
✓ absence store calls service and returns success 0.02s
|
||
|
||
PASS Tests\Feature\Api\V1\Administrator\AdministratorDashboardControllerTest
|
||
✓ metrics require authentication 0.02s
|
||
✓ metrics are forbidden for non admin users 0.02s
|
||
✓ metrics return payload for admin 0.03s
|
||
✓ user search passes query to service 0.02s
|
||
|
||
PASS Tests\Feature\Api\Administrator\AdministratorEnrollmentControllerTest
|
||
✓ guest cannot update enrollment statuses 0.03s
|
||
✓ can fetch enrollment withdrawal data 0.02s
|
||
✓ can fetch new students 0.02s
|
||
✓ update statuses requires valid status values 0.02s
|
||
✓ update statuses calls service 0.02s
|
||
|
||
PASS Tests\Feature\Api\V1\Admin\AdministratorEnrollmentQueryApiTest
|
||
✓ enrollment withdrawal endpoint returns students classes and years 0.02s
|
||
✓ new students endpoint returns transformed rows 0.02s
|
||
|
||
PASS Tests\Feature\Api\Administrator\AdministratorEnrollmentUpdateStatusesApiTest
|
||
✓ update statuses requires enrollment status payload 0.02s
|
||
✓ update statuses rejects invalid status value 0.02s
|
||
✓ update statuses creates new enrollment row 0.02s
|
||
✓ update statuses updates existing enrollment row 0.02s
|
||
✓ update statuses creates or updates refund when status is refund pen… 0.02s
|
||
✓ update statuses returns partial success when some students are inva… 0.02s
|
||
|
||
PASS Tests\Feature\Api\Administrator\AdministratorNotificationControllerTest
|
||
✓ can get alerts data 0.02s
|
||
✓ save alerts requires subjects payload 0.02s
|
||
✓ save alerts calls subject service 0.01s
|
||
✓ can get print recipients data 0.02s
|
||
✓ save print recipients requires notify payload 0.01s
|
||
✓ save print recipients calls service 0.01s
|
||
|
||
PASS Tests\Feature\Api\Administrator\AdministratorTeacherSubmissionControllerTest
|
||
✓ can get teacher submission report 0.02s
|
||
✓ notify requires notify payload 0.02s
|
||
✓ notify calls service 0.01s
|
||
|
||
PASS Tests\Feature\Api\Administrator\AdministratorTeacherSubmissionNotifyApiTest
|
||
✓ notify endpoint requires notify payload 0.02s
|
||
✓ notify endpoint sends email and creates history row 0.02s
|
||
✓ notify endpoint marks failed when teacher email is invalid 0.02s
|
||
✓ notify endpoint accepts flat teacher ids from spa payload 0.02s
|
||
✓ notify endpoint accepts flat teacher ids when teacher class has no… 0.02s
|
||
|
||
PASS Tests\Feature\Api\Administrator\AdministratorTeacherSubmissionReportApiTest
|
||
✓ teacher submission report endpoint returns rows summary and history 0.03s
|
||
✓ teacher submission report returns no students status for empty sect… 0.02s
|
||
✓ teacher submission report handles teacher class without semester co… 0.02s
|
||
✓ teacher submission report limits history to three entries 0.02s
|
||
✓ teacher submission report honors school year and semester query fil… 0.02s
|
||
|
||
PASS Tests\Feature\Api\V1\Administrator\EmergencyContactControllerTest
|
||
✓ index returns grouped contacts 0.03s
|
||
✓ update changes emergency contact 0.02s
|
||
✓ destroy deletes emergency contact 0.02s
|
||
✓ show returns single contact for parent 0.02s
|
||
✓ update requires matching parent id 0.02s
|
||
✓ destroy requires matching parent id 0.02s
|
||
|
||
PASS Tests\Feature\Api\V1\Administrator\TeacherClassAssignmentControllerTest
|
||
✓ index returns teachers and classes 0.02s
|
||
✓ store and delete assignment 0.02s
|
||
|
||
PASS Tests\Feature\Api\V1\Administrator\TrophyControllerTest
|
||
✓ index requires authentication 0.02s
|
||
✓ index is forbidden for non admin users 0.02s
|
||
✓ index returns projection for admin 0.02s
|
||
✓ winners returns data for admin 0.03s
|
||
✓ final returns data for admin 0.02s
|
||
✓ index validates percentile range 0.02s
|
||
|
||
PASS Tests\Feature\Api\AssignmentApiControllerTest
|
||
✓ index returns assignment overview 0.02s
|
||
✓ index filters by school year 0.02s
|
||
✓ index sorts sections by name 0.02s
|
||
✓ index excludes inactive students 0.02s
|
||
✓ store creates new assignment 0.02s
|
||
✓ store updates existing assignment for same unique keys 0.02s
|
||
✓ store validates required fields 0.02s
|
||
✓ store validates foreign keys 0.02s
|
||
✓ class assignment data returns expected structure 0.02s
|
||
✓ class assignment data deduplicates teacher names 0.02s
|
||
|
||
PASS Tests\Feature\Api\AssignmentApiTest
|
||
✓ it returns assignment sections json 0.02s
|
||
✓ it filters assignments by school year 0.02s
|
||
✓ it creates or updates student assignment 0.02s
|
||
✓ it validates required fields when storing assignment 0.01s
|
||
✓ store is idempotent for same student semester and year 0.02s
|
||
✓ guest cannot access assignment api when auth is required 0.02s
|
||
|
||
PASS Tests\Feature\Api\V1\Attendance\LateSlipLogsControllerTest
|
||
✓ index requires admin 0.02s
|
||
✓ index returns logs 0.02s
|
||
✓ show returns log 0.02s
|
||
✓ destroy deletes log 0.02s
|
||
✓ index validation rejects bad dates 0.02s
|
||
|
||
PASS Tests\Feature\Api\AttendanceCommentTemplateApiTest
|
||
✓ can list templates 0.02s
|
||
✓ can list templates active only 0.02s
|
||
✓ can create template 0.01s
|
||
✓ store validation fails when max less than min 0.01s
|
||
✓ can show template 0.02s
|
||
✓ can update template 0.01s
|
||
✓ update validation fails if both scores invalid relation 0.01s
|
||
✓ can delete template 0.02s
|
||
✓ legacy list data endpoint returns templates key 0.01s
|
||
|
||
PASS Tests\Feature\Api\V1\AttendanceTracking\AttendanceTrackingControllerTest
|
||
✓ pending violations returns json response 0.02s
|
||
✓ notified violations returns json response 0.02s
|
||
✓ student case returns service payload 0.01s
|
||
✓ student case returns service status code when not found 0.01s
|
||
✓ record validates and returns service response 0.02s
|
||
✓ record returns validation errors for bad payload 0.01s
|
||
✓ send auto emails returns service response 0.01s
|
||
✓ compose returns service response 0.02s
|
||
✓ send manual email returns service response 0.01s
|
||
✓ send manual email validates payload 0.01s
|
||
✓ parents info returns service response 0.02s
|
||
✓ save notification note returns service response 0.01s
|
||
✓ save notification note validates payload 0.01s
|
||
|
||
PASS Tests\Feature\Api\V1\Auth\IpBanControllerTest
|
||
✓ index requires admin 0.03s
|
||
✓ index returns bans 0.02s
|
||
✓ show returns ban 0.02s
|
||
✓ ban creates block 0.02s
|
||
✓ unban single 0.02s
|
||
✓ unban all 0.02s
|
||
✓ ban validation requires ip or id 0.02s
|
||
|
||
PASS Tests\Feature\Api\V1\Auth\RegisterControllerTest
|
||
✓ captcha endpoint returns value 0.01s
|
||
✓ register creates user 0.33s
|
||
|
||
PASS Tests\Feature\Api\V1\Auth\RegisterPayloadDebugTest
|
||
✓ debug payload shows json body 0.01s
|
||
|
||
PASS Tests\Feature\Api\BadgeControllerTest
|
||
✓ form data returns success response 0.02s
|
||
✓ print status returns success response 0.02s
|
||
✓ print status returns 500 when service throws 0.02s
|
||
✓ log print returns success response 0.02s
|
||
✓ log print returns 500 when service throws 0.01s
|
||
✓ generate pdf returns pdf response 0.02s
|
||
✓ generate pdf validates required user ids 0.01s
|
||
✓ log print validates required user ids 0.02s
|
||
✓ endpoints require authentication 0.02s
|
||
|
||
PASS Tests\Feature\Api\V1\BadgeScan\BadgeScanControllerTest
|
||
✓ scan is public but validates badge value 0.02s
|
||
✓ scan returns 404 for unrecognized badge 0.02s
|
||
✓ logs require authentication 0.01s
|
||
✓ logs are forbidden for non staff roles 0.02s
|
||
✓ logs return data for staff 0.02s
|
||
|
||
PASS Tests\Feature\Api\V1\BroadcastEmail\BroadcastEmailControllerTest
|
||
✓ options returns parents and senders 0.02s
|
||
✓ send test only dispatches email 0.02s
|