add tests batch 20
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user