Add a unit test [MAILPOET-789]

This commit is contained in:
Alexey Stoletniy
2017-01-19 17:37:01 +03:00
parent 1102467e39
commit 815461a851

View File

@@ -141,6 +141,53 @@ class SubscriberTest extends MailPoetTest {
}
}
function testItHasSegmentFilter() {
// remove all subscribers
Subscriber::deleteMany();
$subscriber = Subscriber::create();
$subscriber->hydrate(Fixtures::get('subscriber_template'));
$subscriber->save();
$segment = Segment::createOrUpdate(array(
'name' => 'Test segment'
));
// not yet subscribed
$subscribers = Subscriber::filter('filterBy', array('segment' => 'none'))
->findMany();
expect($subscribers)->count(1);
$subscribers = Subscriber::filter('filterBy', array('segment' => $segment->id))
->findMany();
expect($subscribers)->count(0);
// subscribed to a segment
SubscriberSegment::subscribeToSegments(
$subscriber,
array($segment->id)
);
$subscribers = Subscriber::filter('filterBy', array('segment' => 'none'))
->findMany();
expect($subscribers)->count(0);
$subscribers = Subscriber::filter('filterBy', array('segment' => $segment->id))
->findMany();
expect($subscribers)->count(1);
// unsubscribed
SubscriberSegment::unsubscribeFromSegments(
$subscriber,
array($segment->id)
);
$subscribers = Subscriber::filter('filterBy', array('segment' => 'none'))
->findMany();
expect($subscribers)->count(1);
$subscribers = Subscriber::filter('filterBy', array('segment' => $segment->id))
->findMany();
expect($subscribers)->count(0);
}
function testItCanHaveSegment() {
$segment = Segment::createOrUpdate(array(
'name' => 'some name'