Fix tests

[MAILPOET-2537]
This commit is contained in:
Amine Ben hammou
2020-01-08 16:07:19 +01:00
committed by Jack Kitterhing
parent 6c67517b86
commit d9c86b8af2

View File

@ -6,10 +6,12 @@ use Codeception\Stub;
use MailPoet\Form\Util\FieldNameObfuscator; use MailPoet\Form\Util\FieldNameObfuscator;
use MailPoet\Models\Segment; use MailPoet\Models\Segment;
use MailPoet\Models\Subscriber; use MailPoet\Models\Subscriber;
use MailPoet\Models\SubscriberSegment;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Subscribers\LinkTokens; use MailPoet\Subscribers\LinkTokens;
use MailPoet\Subscription\Manage; use MailPoet\Subscription\Manage;
use MailPoet\Util\Url as UrlHelper; use MailPoet\Util\Url as UrlHelper;
use MailPoetVendor\Idiorm\ORM;
class ManageTest extends \MailPoetTest { class ManageTest extends \MailPoetTest {
@ -21,6 +23,7 @@ class ManageTest extends \MailPoetTest {
public function _before() { public function _before() {
parent::_before(); parent::_before();
$this->_after();
$di = $this->di_container; $di = $this->di_container;
$this->settings = $di->get(SettingsController::class); $this->settings = $di->get(SettingsController::class);
$this->segment_a = Segment::createOrUpdate(['name' => 'List A']); $this->segment_a = Segment::createOrUpdate(['name' => 'List A']);
@ -71,12 +74,20 @@ class ManageTest extends \MailPoetTest {
$subscriptions = array_map(function($s) { $subscriptions = array_map(function($s) {
return ['status' => $s['status'], 'segment_id' => $s['segment_id']]; return ['status' => $s['status'], 'segment_id' => $s['segment_id']];
}, $subscriber->subscriptions); }, $subscriber->subscriptions);
usort($subscriptions, function($a, $b) {
return $a['segment_id'] - $b['segment_id'];
});
expect($subscriber->status)->equals(Subscriber::STATUS_SUBSCRIBED); expect($subscriber->status)->equals(Subscriber::STATUS_SUBSCRIBED);
expect($subscriptions)->equals([ expect($subscriptions)->equals([
['segment_id' => $this->segment_a->id, 'status' => Subscriber::STATUS_UNSUBSCRIBED], ['segment_id' => $this->segment_a->id, 'status' => Subscriber::STATUS_UNSUBSCRIBED],
['segment_id' => $this->hidden_segment->id, 'status' => Subscriber::STATUS_SUBSCRIBED],
['segment_id' => $this->segment_b->id, 'status' => Subscriber::STATUS_SUBSCRIBED], ['segment_id' => $this->segment_b->id, 'status' => Subscriber::STATUS_SUBSCRIBED],
['segment_id' => $this->hidden_segment->id, 'status' => Subscriber::STATUS_SUBSCRIBED],
]); ]);
} }
public function _after() {
ORM::raw_execute('TRUNCATE ' . Subscriber::$_table);
ORM::raw_execute('TRUNCATE ' . Segment::$_table);
ORM::raw_execute('TRUNCATE ' . SubscriberSegment::$_table);
}
} }