errorHandler = new SendingErrorHandler(); } public function testItShouldProcessSoftErrorCorrectly() { $subscribers = [ 'john@doe.com', 'john@rambo.com', ]; $subscriberIds = [1, 2]; $subscriberErrors = [ new SubscriberError('john@doe.com', 'Subscriber Message'), new SubscriberError('john@rambo.com', null), ]; $error = new MailerError( MailerError::OPERATION_SEND, MailerError::LEVEL_SOFT, 'Error Message', null, $subscriberErrors ); $sendingTask = Stub::make( SendingTask::class, [ 'saveSubscriberError' => Expected::exactly( 2, function($id, $message) { if ($id === 2) { expect($message)->equals('Error Message'); } else { expect($message)->equals('Subscriber Message'); } } ), ], $this ); $this->errorHandler->processError($error, $sendingTask, $subscriberIds, $subscribers); } }