Schedule welcome email only if subscriber is confirmed in MPAPI [MAILPOET-1589]

This commit is contained in:
wxa
2018-10-16 19:03:44 +03:00
parent c1e8815134
commit 6b6f488f1e
2 changed files with 22 additions and 1 deletions

View File

@ -88,7 +88,7 @@ class API {
SubscriberSegment::subscribeToSegments($subscriber, $found_segments_ids); SubscriberSegment::subscribeToSegments($subscriber, $found_segments_ids);
// schedule welcome email // schedule welcome email
if($schedule_welcome_email) { if($schedule_welcome_email && $subscriber->status === Subscriber::STATUS_SUBSCRIBED) {
$this->_scheduleWelcomeNotification($subscriber, $found_segments_ids); $this->_scheduleWelcomeNotification($subscriber, $found_segments_ids);
} }

View File

@ -188,6 +188,26 @@ class APITest extends \MailPoetTest {
), $this); ), $this);
$subscriber = Subscriber::create(); $subscriber = Subscriber::create();
$subscriber->hydrate(Fixtures::get('subscriber_template')); $subscriber->hydrate(Fixtures::get('subscriber_template'));
$subscriber->status = Subscriber::STATUS_SUBSCRIBED;
$subscriber->save();
$segment = Segment::createOrUpdate(
array(
'name' => 'Default',
'type' => Segment::TYPE_DEFAULT
)
);
$API->subscribeToLists($subscriber->id, array($segment->id));
}
function testItDoesNotScheduleWelcomeNotificationAfterSubscribingSubscriberToListsIfStatusIsNotSubscribed() {
$API = Stub::makeEmptyExcept(
new \MailPoet\API\MP\v1\API(),
'subscribeToLists',
array(
'_scheduleWelcomeNotification' => Expected::never()
), $this);
$subscriber = Subscriber::create();
$subscriber->hydrate(Fixtures::get('subscriber_template'));
$subscriber->save(); $subscriber->save();
$segment = Segment::createOrUpdate( $segment = Segment::createOrUpdate(
array( array(
@ -207,6 +227,7 @@ class APITest extends \MailPoetTest {
), $this); ), $this);
$subscriber = Subscriber::create(); $subscriber = Subscriber::create();
$subscriber->hydrate(Fixtures::get('subscriber_template')); $subscriber->hydrate(Fixtures::get('subscriber_template'));
$subscriber->status = Subscriber::STATUS_SUBSCRIBED;
$subscriber->save(); $subscriber->save();
$segment = Segment::createOrUpdate( $segment = Segment::createOrUpdate(
array( array(