add tests batch 20

This commit is contained in:
root
2026-06-09 01:03:53 -04:00
parent 95efb9652e
commit 6be4875c5e
1502 changed files with 13797 additions and 11313 deletions
@@ -12,7 +12,8 @@ class AttendanceConsequenceService
public function __construct(
private EmailService $emailService,
private UserNotificationDispatchService $notifier
) {}
) {
}
public function sendFollowUp(array $payload): array
{
@@ -54,10 +55,10 @@ class AttendanceConsequenceService
string $_viewName,
string $logLevel
): array {
$studentName = trim((string) ($payload['student']['firstname'] ?? '').' '.(string) ($payload['student']['lastname'] ?? ''));
$studentName = trim((string) ($payload['student']['firstname'] ?? '') . ' ' . (string) ($payload['student']['lastname'] ?? ''));
$parentEmail = (string) ($payload['parent']['email'] ?? '');
$parentName = (string) ($payload['parent']['name'] ?? '');
$teacherName = trim((string) ($payload['teacher']['firstname'] ?? '').' '.(string) ($payload['teacher']['lastname'] ?? ''));
$teacherName = trim((string) ($payload['teacher']['firstname'] ?? '') . ' ' . (string) ($payload['teacher']['lastname'] ?? ''));
$className = (string) ($payload['class']['class_section_name'] ?? '');
$semester = (string) ($payload['semester'] ?? '');
$schoolYear = (string) ($payload['school_year'] ?? '');
@@ -68,7 +69,6 @@ class AttendanceConsequenceService
Log::warning("Attendance {$type}: missing parent email", [
'student_id' => $payload['student_id'] ?? null,
]);
return ['ok' => false, 'message' => 'Missing parent email.'];
}
@@ -76,21 +76,21 @@ class AttendanceConsequenceService
$html = trim((string) ($payload['html'] ?? ''));
if ($html === '') {
$period = trim($semester.' '.$schoolYear);
$html = '<p>'.e($subject).'</p>'
.'<p><strong>Student:</strong> '.e($studentName).'</p>'
.'<p><strong>Parent:</strong> '.e($parentName).'</p>'
.'<p><strong>Teacher:</strong> '.e($teacherName).'</p>'
.'<p><strong>Class:</strong> '.e($className).'</p>'
.($period !== '' ? '<p><strong>Term:</strong> '.e($period).'</p>' : '')
.'<p><strong>Date:</strong> '.e($dateFmt).'</p>';
$period = trim($semester . ' ' . $schoolYear);
$html = '<p>' . e($subject) . '</p>'
. '<p><strong>Student:</strong> ' . e($studentName) . '</p>'
. '<p><strong>Parent:</strong> ' . e($parentName) . '</p>'
. '<p><strong>Teacher:</strong> ' . e($teacherName) . '</p>'
. '<p><strong>Class:</strong> ' . e($className) . '</p>'
. ($period !== '' ? '<p><strong>Term:</strong> ' . e($period) . '</p>' : '')
. '<p><strong>Date:</strong> ' . e($dateFmt) . '</p>';
}
$ok = false;
try {
$ok = $this->emailService->send($parentEmail, $subject, $html, 'attendance');
} catch (\Throwable $e) {
Log::error('Attendance email send failed: '.$e->getMessage());
Log::error('Attendance email send failed: ' . $e->getMessage());
}
$summary = $this->buildInAppSummary($type, $studentName, $dateFmt);
@@ -106,11 +106,11 @@ class AttendanceConsequenceService
);
}
if (! empty($payload['tracking_id'])) {
if (!empty($payload['tracking_id'])) {
AttendanceTracking::markAsNotified((int) $payload['tracking_id']);
}
Log::log($logLevel, "Attendance {$type} email ".($ok ? 'sent' : 'failed'), [
Log::log($logLevel, "Attendance {$type} email " . ($ok ? 'sent' : 'failed'), [
'student_id' => $payload['student_id'] ?? null,
'recipient' => $parentEmail,
]);
@@ -122,8 +122,7 @@ class AttendanceConsequenceService
{
$name = $studentName !== '' ? "{$studentName}" : '';
$date = $dateFmt !== '' ? " ({$dateFmt})" : '';
return $base.$name.$date;
return $base . $name . $date;
}
private function buildInAppSummary(string $type, string $studentName, string $dateFmt): string