Add soft level errors distinction for MailPoet service
[MAILPOET-1154]
This commit is contained in:
@ -34,14 +34,15 @@ class MailPoetMapper {
|
|||||||
case API::RESPONSE_CODE_PAYLOAD_ERROR:
|
case API::RESPONSE_CODE_PAYLOAD_ERROR:
|
||||||
$result_parsed = json_decode($result['message'], true);
|
$result_parsed = json_decode($result['message'], true);
|
||||||
$message = __('Error while sending.', 'mailpoet');
|
$message = __('Error while sending.', 'mailpoet');
|
||||||
if(is_array($result_parsed)) {
|
if(!is_array($result_parsed)) {
|
||||||
try {
|
|
||||||
$subscribers_errors = $this->getSubscribersErrors($result_parsed, $subscribers);
|
|
||||||
} catch (InvalidArgumentException $e) {
|
|
||||||
$message .= ' ' . $e->getMessage();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$message .= ' ' . $result['message'];
|
$message .= ' ' . $result['message'];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
$subscribers_errors = $this->getSubscribersErrors($result_parsed, $subscribers);
|
||||||
|
$level = MailerError::LEVEL_SOFT;
|
||||||
|
} catch (InvalidArgumentException $e) {
|
||||||
|
$message .= ' ' . $e->getMessage();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case API::RESPONSE_CODE_TEMPORARY_UNAVAILABLE:
|
case API::RESPONSE_CODE_TEMPORARY_UNAVAILABLE:
|
||||||
|
@ -74,7 +74,7 @@ class MailPoetMapperTest extends \MailPoetTest {
|
|||||||
$error = $this->mapper->getErrorForResult($api_result, $this->subscribers);
|
$error = $this->mapper->getErrorForResult($api_result, $this->subscribers);
|
||||||
expect($error)->isInstanceOf(MailerError::class);
|
expect($error)->isInstanceOf(MailerError::class);
|
||||||
expect($error->getOperation())->equals(MailerError::OPERATION_SEND);
|
expect($error->getOperation())->equals(MailerError::OPERATION_SEND);
|
||||||
expect($error->getLevel())->equals(MailerError::LEVEL_HARD);
|
expect($error->getLevel())->equals(MailerError::LEVEL_SOFT);
|
||||||
$subscriber_errors = $error->getSubscriberErrors();
|
$subscriber_errors = $error->getSubscriberErrors();
|
||||||
expect(count($subscriber_errors))->equals(2);
|
expect(count($subscriber_errors))->equals(2);
|
||||||
expect($subscriber_errors[0]->getEmail())->equals('a@example.com');
|
expect($subscriber_errors[0]->getEmail())->equals('a@example.com');
|
||||||
|
Reference in New Issue
Block a user