assertIsArray($defaults); $this->assertSame(['mail'], $defaults['queue']); $this->assertSame('redis', $defaults['connection']); $this->assertGreaterThanOrEqual(5, (int) $defaults['tries']); $this->assertLessThanOrEqual( (int) config('queue.connections.redis.retry_after'), (int) $defaults['timeout'], ); } public function test_production_and_local_horizon_environments_enable_the_mail_supervisor(): void { $this->assertArrayHasKey('supervisor-mail', config('horizon.environments.production')); $this->assertArrayHasKey('supervisor-mail', config('horizon.environments.local')); } public function test_verification_and_security_mailables_use_the_mail_queue(): void { $this->assertSame('mail', (new SendVerificationEmailJob(1, 'user@example.test', 'token', 1, '127.0.0.1'))->queue); $this->assertSame('mail', (new RegistrationVerificationMail('token'))->queue); $this->assertSame('mail', (new EmailChangeVerificationCodeMail('123456', 15))->queue); $this->assertSame('mail', (new EmailChangedSecurityAlertMail('old@example.test'))->queue); } public function test_default_and_messaging_supervisors_do_not_steal_the_mail_queue(): void { $this->assertNotContains('mail', config('horizon.defaults.supervisor-default.queue')); $this->assertNotContains('mail', config('horizon.defaults.supervisor-messaging.queue')); } }