CluPilotCloud/tests/Feature/Mail
nexxo 7102d01bcc Keep the purpose mailer through the queue instead of losing it to the default
Mail::to($x)->queue($mail) resolves the DEFAULT mailer, and
Illuminate\Mail\Mailer::queue() (vendor Mailer.php:482) does
`$view->mailer($this->name)->queue($this->queue)` — overwriting
MaintenanceAnnouncementMail/MaintenanceCancelledMail's own 'cp_maintenance'
with the default mailer's name ('array' in tests, 'log'/whatever
MAIL_MAILER is in prod) before the job is even built. Both mails kept
sending through the old .env account instead of MailboxTransport. CloudReady
was never affected — MailChannel.php:66 preserves a notification's own
mailer.

Fix: name the mailer before queueing — Mail::mailer($mail->mailer)->to(...).
$this->name on the resolved Mailer is then already $mail->mailer, so the
vendor overwrite becomes a no-op instead of a silent downgrade. Confirmed by
reading the vendor source, not assumed.

SenderAddressTest's "names the purpose mailer..." test asserted
$mail->mailer on a bare, never-queued mailable, which proves nothing about
what survives queueing — the constructor sets it right regardless of what
MaintenanceNotifier does with it. Replaced it with one that drives
MaintenanceNotifier::deliver() under Queue::fake() and inspects the pushed
SendQueuedMailable's mailable. Verified it fails against the pre-fix code
first (the pushed job carried mailer = 'array'), then verified the fix
makes it pass, then mutated the fix away and watched it fail again.
2026-07-28 03:50:02 +02:00
..
MailSettingsPageTest.php Prove a mailbox works by actually sending from it 2026-07-28 02:56:47 +02:00
MailboxModelTest.php Move the one SMTP account into the mailbox table it outgrew 2026-07-28 00:24:54 +02:00
MailboxResolverTest.php Move the one SMTP account into the mailbox table it outgrew 2026-07-28 00:24:54 +02:00
MailboxSeedMigrationTest.php Stop committing a real password, and say the truth about what carried over 2026-07-28 03:49:37 +02:00
MailboxTakeoverTest.php Close the data-loss paths the review found in the mailbox takeover 2026-07-28 01:15:50 +02:00
MailboxTesterTest.php Prove a mailbox works by actually sending from it 2026-07-28 02:56:47 +02:00
MailboxTransportTest.php Move the one SMTP account into the mailbox table it outgrew 2026-07-28 00:24:54 +02:00
SenderAddressTest.php Keep the purpose mailer through the queue instead of losing it to the default 2026-07-28 03:50:02 +02:00