Prevent sending notification twice

[MAILPOET-2131]
This commit is contained in:
Pavel Dohnal
2019-06-20 12:31:38 +02:00
committed by M. Shull
parent 4a53c541ad
commit b52b943c97
2 changed files with 6 additions and 4 deletions

View File

@ -177,7 +177,7 @@ class API {
} }
} }
if (!$skip_subscriber_notification) { if (!$skip_subscriber_notification && ($subscriber->status === Subscriber::STATUS_SUBSCRIBED)) {
$this->sendSubscriberNotification($subscriber, $found_segments_ids); $this->sendSubscriberNotification($subscriber, $found_segments_ids);
} }
@ -298,7 +298,7 @@ class API {
$this->_scheduleWelcomeNotification($new_subscriber, $list_ids); $this->_scheduleWelcomeNotification($new_subscriber, $list_ids);
} }
if (!$skip_subscriber_notification) { if (!$skip_subscriber_notification && ($new_subscriber->status === Subscriber::STATUS_SUBSCRIBED)) {
$this->sendSubscriberNotification($new_subscriber, $list_ids); $this->sendSubscriberNotification($new_subscriber, $list_ids);
} }
} }

View File

@ -265,7 +265,7 @@ class APITest extends \MailPoetTest {
function testItSendsNotifiationEmailWhenBeingAddedToList() { function testItSendsNotifiationEmailWhenBeingAddedToList() {
$subscriber = Subscriber::create(); $subscriber = Subscriber::create();
$subscriber->hydrate(Fixtures::get('subscriber_template')); $subscriber->hydrate(Fixtures::get('subscriber_template'));
$subscriber->status = Subscriber::STATUS_UNCONFIRMED; $subscriber->status = Subscriber::STATUS_SUBSCRIBED;
$subscriber->save(); $subscriber->save();
$segment = Segment::createOrUpdate([ $segment = Segment::createOrUpdate([
'name' => 'Default', 'name' => 'Default',
@ -555,7 +555,9 @@ class APITest extends \MailPoetTest {
'addSubscriber', 'addSubscriber',
[ [
'_scheduleWelcomeNotification' => Expected::never(), '_scheduleWelcomeNotification' => Expected::never(),
'new_subscriber_notification_mailer' => Stub::makeEmpty(NewSubscriberNotificationMailer::class, ['send']), 'new_subscriber_notification_mailer' => Stub::makeEmpty(
NewSubscriberNotificationMailer::class, ['send' => Expected::never()]
),
'required_custom_field_validator' => Stub::makeEmpty(RequiredCustomFieldValidator::class, ['validate']), 'required_custom_field_validator' => Stub::makeEmpty(RequiredCustomFieldValidator::class, ['validate']),
], $this); ], $this);
$subscriber = [ $subscriber = [