Split up problematic test

MAILPOET-5145
This commit is contained in:
John Oleksowicz
2023-03-30 10:47:37 -05:00
committed by John Oleksowicz
parent 33f744e9be
commit 4c3e7e62d4

View File

@@ -699,37 +699,25 @@ class SubscriberTest extends \MailPoetTest {
expect($total)->equals(1); expect($total)->equals(1);
} }
public function testItCanFindSubscribersInSegments() { public function testItDoesNotFindDeletedOrNonexistentSubscribersInSegments() {
// create 3 subscribers, segments and subscriber-segment relations $subscriber = [];
$prepareData = function() { $segment = [];
$this->_after(); $subscriberSegment = [];
$subscriber = []; for ($i = 1; $i <= 3; $i++) {
$segment = []; $subscriber[$i] = Subscriber::create();
$subscriberSegment = []; $subscriber[$i]->status = Subscriber::STATUS_SUBSCRIBED;
for ($i = 1; $i <= 3; $i++) { $subscriber[$i]->email = $i . '@test.com';
$subscriber[$i] = Subscriber::create(); $subscriber[$i]->firstName = 'first ' . $i;
$subscriber[$i]->status = Subscriber::STATUS_SUBSCRIBED; $subscriber[$i]->lastName = 'last ' . $i;
$subscriber[$i]->email = $i . '@test.com'; $subscriber[$i]->save();
$subscriber[$i]->firstName = 'first ' . $i; $segment[$i] = Segment::create();
$subscriber[$i]->lastName = 'last ' . $i; $segment[$i]->name = 'segment ' . $i;
$subscriber[$i]->save(); $segment[$i]->save();
$segment[$i] = Segment::create(); $subscriberSegment[$i] = SubscriberSegment::create();
$segment[$i]->name = 'segment ' . $i; $subscriberSegment[$i]->subscriberId = $subscriber[$i]->id;
$segment[$i]->save(); $subscriberSegment[$i]->segmentId = (int)$segment[$i]->id;
$subscriberSegment[$i] = SubscriberSegment::create(); $subscriberSegment[$i]->save();
$subscriberSegment[$i]->subscriberId = $subscriber[$i]->id; }
$subscriberSegment[$i]->segmentId = (int)$segment[$i]->id;
$subscriberSegment[$i]->save();
}
return [
$subscriber,
$segment,
$subscriberSegment,
];
};
// it should not find deleted and nonexistent subscribers
list($subscriber, $segment,) = $prepareData();
$subscriber[1]->deletedAt = date("Y-m-d H:i:s"); $subscriber[1]->deletedAt = date("Y-m-d H:i:s");
$subscriber[1]->save(); $subscriber[1]->save();
$subscriber[2]->delete(); $subscriber[2]->delete();
@@ -748,9 +736,27 @@ class SubscriberTest extends \MailPoetTest {
expect(Subscriber::extractSubscribersIds($subscribers))->equals( expect(Subscriber::extractSubscribersIds($subscribers))->equals(
[$subscriber[3]->id] [$subscriber[3]->id]
); );
}
// it should not find subscribers with global unsubscribe status public function testItDoesNotFindGloballyUnsubscribedSubscribersInSegments() {
list($subscriber, $segment,) = $prepareData(); $subscriber = [];
$segment = [];
$subscriberSegment = [];
for ($i = 1; $i <= 3; $i++) {
$subscriber[$i] = Subscriber::create();
$subscriber[$i]->status = Subscriber::STATUS_SUBSCRIBED;
$subscriber[$i]->email = $i . '@test.com';
$subscriber[$i]->firstName = 'first ' . $i;
$subscriber[$i]->lastName = 'last ' . $i;
$subscriber[$i]->save();
$segment[$i] = Segment::create();
$segment[$i]->name = 'segment ' . $i;
$segment[$i]->save();
$subscriberSegment[$i] = SubscriberSegment::create();
$subscriberSegment[$i]->subscriberId = $subscriber[$i]->id;
$subscriberSegment[$i]->segmentId = (int)$segment[$i]->id;
$subscriberSegment[$i]->save();
}
$subscriber[2]->status = Subscriber::STATUS_UNSUBSCRIBED; $subscriber[2]->status = Subscriber::STATUS_UNSUBSCRIBED;
$subscriber[2]->save(); $subscriber[2]->save();
$subscribers = Subscriber::findSubscribersInSegments( $subscribers = Subscriber::findSubscribersInSegments(
@@ -771,9 +777,27 @@ class SubscriberTest extends \MailPoetTest {
$subscriber[3]->id, $subscriber[3]->id,
] ]
); );
}
// it should not find subscribers unsubscribed from segment or when segment doesn't exist public function testItShouldNotFindSubscribersUnsubscribedFromSegmentOrWhenSegmentDoesNotExist() {
list($subscriber, $segment, $subscriberSegment) = $prepareData(); $subscriber = [];
$segment = [];
$subscriberSegment = [];
for ($i = 1; $i <= 3; $i++) {
$subscriber[$i] = Subscriber::create();
$subscriber[$i]->status = Subscriber::STATUS_SUBSCRIBED;
$subscriber[$i]->email = $i . '@test.com';
$subscriber[$i]->firstName = 'first ' . $i;
$subscriber[$i]->lastName = 'last ' . $i;
$subscriber[$i]->save();
$segment[$i] = Segment::create();
$segment[$i]->name = 'segment ' . $i;
$segment[$i]->save();
$subscriberSegment[$i] = SubscriberSegment::create();
$subscriberSegment[$i]->subscriberId = $subscriber[$i]->id;
$subscriberSegment[$i]->segmentId = (int)$segment[$i]->id;
$subscriberSegment[$i]->save();
}
$subscriberSegment[3]->status = Subscriber::STATUS_UNSUBSCRIBED; $subscriberSegment[3]->status = Subscriber::STATUS_UNSUBSCRIBED;
$subscriberSegment[3]->save(); $subscriberSegment[3]->save();
$subscriberSegment[2]->delete(); $subscriberSegment[2]->delete();