Add test for resubscribing
[MAILPOET-2730]
This commit is contained in:
@ -39,7 +39,7 @@ class ManageTest extends \MailPoetTest {
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testItDoesntRemoveHiddenSegments() {
|
public function testItDoesntRemoveHiddenSegmentsAndCanResubscribe() {
|
||||||
$manage = new Manage(
|
$manage = new Manage(
|
||||||
Stub::make(UrlHelper::class, [
|
Stub::make(UrlHelper::class, [
|
||||||
'redirectBack' => null,
|
'redirectBack' => null,
|
||||||
@ -82,6 +82,24 @@ class ManageTest extends \MailPoetTest {
|
|||||||
['segment_id' => $this->segmentB->id, 'status' => Subscriber::STATUS_SUBSCRIBED],
|
['segment_id' => $this->segmentB->id, 'status' => Subscriber::STATUS_SUBSCRIBED],
|
||||||
['segment_id' => $this->hiddenSegment->id, 'status' => Subscriber::STATUS_SUBSCRIBED],
|
['segment_id' => $this->hiddenSegment->id, 'status' => Subscriber::STATUS_SUBSCRIBED],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
// Test it can resubscribe
|
||||||
|
$_POST['data']['segments'] = [$this->segmentA->id];
|
||||||
|
$manage->onSave();
|
||||||
|
|
||||||
|
$subscriber = Subscriber::findOne($this->subscriber->id);
|
||||||
|
$subscriber->withSubscriptions();
|
||||||
|
$subscriptions = array_map(function($s) {
|
||||||
|
return ['status' => $s['status'], 'segment_id' => $s['segment_id']];
|
||||||
|
}, $subscriber->subscriptions);
|
||||||
|
usort($subscriptions, function($a, $b) {
|
||||||
|
return $a['segment_id'] - $b['segment_id'];
|
||||||
|
});
|
||||||
|
expect($subscriptions)->equals([
|
||||||
|
['segment_id' => $this->segmentA->id, 'status' => Subscriber::STATUS_SUBSCRIBED],
|
||||||
|
['segment_id' => $this->segmentB->id, 'status' => Subscriber::STATUS_UNSUBSCRIBED],
|
||||||
|
['segment_id' => $this->hiddenSegment->id, 'status' => Subscriber::STATUS_SUBSCRIBED],
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function _after() {
|
public function _after() {
|
||||||
|
Reference in New Issue
Block a user