Expected::exactly( 2, function ($task, $id, $message) { if ($id === 2) { verify($message)->equals('Error Message'); } else { verify($message)->equals('Subscriber Message'); } } ), ], $this ); $errorHandler = $this->getServiceWithOverrides( SendingErrorHandler::class, [ 'scheduledTaskSubscribersRepository' => $scheduledTaskSubscribersRepository, ] ); $errorHandler->processError($error, new ScheduledTaskEntity(), $subscriberIds, $subscribers); } public function testItShouldProcessSoftErrorForDomainAuthorizationCorrectly() { $error = new MailerError( MailerError::OPERATION_DOMAIN_AUTHORIZATION, MailerError::LEVEL_SOFT, 'Email violates Sender Domain requirements. Please authenticate the sender domain.', null, [] ); $sendingQueuesRepository = Stub::make( SendingQueuesRepository::class, ['pause' => Expected::once()], ); $errorHandler = $this->getServiceWithOverrides( SendingErrorHandler::class, [ 'sendingQueuesRepository' => $sendingQueuesRepository, 'loggerFactory' => Stub::makeEmpty( LoggerFactory::class, ['getLogger' => Stub::makeEmpty(Logger::class, ['info' => Expected::once()])] ), ] ); $sendingQueue = new SendingQueueEntity(); $taskEntity = Stub::make(ScheduledTaskEntity::class, ['getSendingQueue' => $sendingQueue]); $errorHandler->processError($error, $taskEntity, [], []); } }