Add test for resubscribing

[MAILPOET-2730]
This commit is contained in:
Ján Mikláš
2020-03-27 12:40:32 +01:00
committed by Veljko V
parent 2fa948b704
commit 10476cf93b

View File

@ -39,7 +39,7 @@ class ManageTest extends \MailPoetTest {
]);
}
public function testItDoesntRemoveHiddenSegments() {
public function testItDoesntRemoveHiddenSegmentsAndCanResubscribe() {
$manage = new Manage(
Stub::make(UrlHelper::class, [
'redirectBack' => null,
@ -82,6 +82,24 @@ class ManageTest extends \MailPoetTest {
['segment_id' => $this->segmentB->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() {