Add 'Bounced' status to subscribers [MAILPOET-684]

Fix SubscriberTest->testItHasGroupFilter() making only one of four assertions due to lack of data.
Fix a small issue with Import. Unexpected values for the status field were converted to 'unconfirmed' rather than 'subscribed' due to non-strict comparison in in_array(). This hindered 'bounced' status import as well.
This commit is contained in:
Alexey Stoletniy
2016-11-28 19:37:47 +03:00
parent 299c922cef
commit 36b935b9ae
14 changed files with 89 additions and 8 deletions

View File

@ -114,16 +114,30 @@ class SubscriberTest extends MailPoetTest {
foreach($subscribers as $subscriber) {
expect($subscriber->status)->equals(Subscriber::STATUS_UNCONFIRMED);
}
$this->subscriber->status = Subscriber::STATUS_SUBSCRIBED;
$this->subscriber->save();
$subscribers = Subscriber::filter('groupBy', Subscriber::STATUS_SUBSCRIBED)
->findMany();
foreach($subscribers as $subscriber) {
expect($subscriber->status)->equals(Subscriber::STATUS_SUBSCRIBED);
}
$this->subscriber->status = Subscriber::STATUS_UNSUBSCRIBED;
$this->subscriber->save();
$subscribers = Subscriber::filter('groupBy', Subscriber::STATUS_UNSUBSCRIBED)
->findMany();
foreach($subscribers as $subscriber) {
expect($subscriber->status)->equals(Subscriber::STATUS_UNSUBSCRIBED);
}
$this->subscriber->status = Subscriber::STATUS_BOUNCED;
$this->subscriber->save();
$subscribers = Subscriber::filter('groupBy', Subscriber::STATUS_BOUNCED)
->findMany();
foreach($subscribers as $subscriber) {
expect($subscriber->status)->equals(Subscriber::STATUS_BOUNCED);
}
}
function testItCanHaveSegment() {
@ -507,6 +521,11 @@ class SubscriberTest extends MailPoetTest {
'deleted_at' => Carbon::now()->toDateTimeString()
));
$subscriber_5 = Subscriber::createOrUpdate(array(
'email' => 'subscriber_5@mailpoet.com',
'status' => Subscriber::STATUS_BOUNCED
));
// counts only subscribed & unconfirmed users
$total = Subscriber::getTotalSubscribers();
expect($total)->equals(2);