Rewrite SendingErrorHandlerTest using Doctrine

[MAILPOET-5682]
This commit is contained in:
Rodrigo Primo
2023-11-13 11:46:35 -03:00
committed by Jan Jakeš
parent cd7a5c7943
commit 70085c40bb

View File

@@ -5,20 +5,12 @@ namespace MailPoet\Test\Cron\Workers;
use Codeception\Stub; use Codeception\Stub;
use Codeception\Stub\Expected; use Codeception\Stub\Expected;
use MailPoet\Cron\Workers\SendingQueue\SendingErrorHandler; use MailPoet\Cron\Workers\SendingQueue\SendingErrorHandler;
use MailPoet\Entities\ScheduledTaskEntity;
use MailPoet\Mailer\MailerError; use MailPoet\Mailer\MailerError;
use MailPoet\Mailer\SubscriberError; use MailPoet\Mailer\SubscriberError;
use MailPoet\Tasks\Sending as SendingTask; use MailPoet\Newsletter\Sending\ScheduledTaskSubscribersRepository;
class SendingErrorHandlerTest extends \MailPoetTest { class SendingErrorHandlerTest extends \MailPoetTest {
/** @var SendingErrorHandler */
private $errorHandler;
public function _before() {
parent::_before();
$this->errorHandler = $this->diContainer->get(SendingErrorHandler::class);
}
public function testItShouldProcessSoftErrorCorrectly() { public function testItShouldProcessSoftErrorCorrectly() {
$subscribers = [ $subscribers = [
'john@doe.com', 'john@doe.com',
@@ -36,12 +28,12 @@ class SendingErrorHandlerTest extends \MailPoetTest {
null, $subscriberErrors null, $subscriberErrors
); );
$sendingTask = Stub::make( $scheduledTaskSubscribersRepository = Stub::make(
SendingTask::class, ScheduledTaskSubscribersRepository::class,
[ [
'saveSubscriberError' => Expected::exactly( 'saveError' => Expected::exactly(
2, 2,
function($id, $message) { function ($task, $id, $message) {
if ($id === 2) { if ($id === 2) {
verify($message)->equals('Error Message'); verify($message)->equals('Error Message');
} else { } else {
@@ -53,6 +45,11 @@ class SendingErrorHandlerTest extends \MailPoetTest {
$this $this
); );
$this->errorHandler->processError($error, $sendingTask, $subscriberIds, $subscribers); $errorHandler = $this->getServiceWithOverrides(
SendingErrorHandler::class, [
'scheduledTaskSubscribersRepository' => $scheduledTaskSubscribersRepository,
]
);
$errorHandler->processError($error, new ScheduledTaskEntity(), $subscriberIds, $subscribers);
} }
} }