Add subscriber errors passing via MailerError object

We want to process errors for individual subscribers.
Subscriber errors were inlined into error message string.
This commit changes this so that we are now able to get
subscriber errors as a data which are easy to process further.

[MAILPOET-1154]
This commit is contained in:
Rostislav Wolny
2018-09-05 13:11:59 +02:00
parent 0923c892c1
commit 223c2e1562
12 changed files with 197 additions and 57 deletions

View File

@@ -35,12 +35,14 @@ class SMTPMapperTest extends \MailPoetTest {
. '<< 250 Reset OK' . PHP_EOL;
$error = $this->mapper->getErrorFromLog($log, 'test@example.com', []);
expect($error->getMessage())
->equals('Expected response code 250/251/252 but got code "550", with message "550 No such recipient here" (code: 550) Unprocessed subscriber: test@example.com');
->equals('Expected response code 250/251/252 but got code "550", with message "550 No such recipient here" (code: 550)');
expect($error->getSubscriberErrors()[0]->getEmail('moi@mrcasual.com'));
}
function testItReturnsGenericMessageWhenLogMessageDoesNotExist() {
$error = $this->mapper->getErrorFromLog(null, 'test@example.com');
expect($error->getMessage())
->equals(Mailer::METHOD_SMTP . ' has returned an unknown error. Unprocessed subscriber: test@example.com');
->equals(Mailer::METHOD_SMTP . ' has returned an unknown error.');
expect($error->getSubscriberErrors()[0]->getEmail('moi@mrcasual.com'));
}
}