Remove old Setting model from integration tests

[MAILPOET-2436]
This commit is contained in:
Jan Jakeš
2019-10-29 18:14:26 +01:00
committed by Jack Kitterhing
parent 7bddf631c5
commit 40c87d50fe
34 changed files with 134 additions and 93 deletions

View File

@ -4,13 +4,14 @@ namespace MailPoet\Subscribers;
use Carbon\Carbon;
use MailPoet\Config\MP2Migrator;
use MailPoet\Entities\SettingEntity;
use MailPoet\Models\Newsletter;
use MailPoet\Models\ScheduledTask;
use MailPoet\Models\ScheduledTaskSubscriber;
use MailPoet\Models\SendingQueue;
use MailPoet\Models\Setting;
use MailPoet\Models\StatisticsOpens;
use MailPoet\Models\Subscriber;
use MailPoet\Settings\SettingsRepository;
use MailPoet\Tasks\Sending;
class InactiveSubscribersControllerTest extends \MailPoetTest {
@ -25,7 +26,7 @@ class InactiveSubscribersControllerTest extends \MailPoetTest {
const PROCESS_BATCH_SIZE = 100;
function _before() {
$this->controller = new InactiveSubscribersController();
$this->controller = new InactiveSubscribersController($this->di_container->get(SettingsRepository::class));
\ORM::raw_execute('TRUNCATE ' . Subscriber::$_table);
\ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);
\ORM::raw_execute('TRUNCATE ' . StatisticsOpens::$_table);
@ -153,10 +154,7 @@ class InactiveSubscribersControllerTest extends \MailPoetTest {
function testItDoesNotDeactivatesSubscribersWhenMP2MigrationHappenedWithinInterval() {
list($task) = $this->createCompletedSendingTaskWithOneOpen($completed_days_ago = 3);
$migration_complete_setting = Setting::createOrUpdate([
'name' => MP2Migrator::MIGRATION_COMPLETE_SETTING_KEY,
'created_at' => (new Carbon())->subDays(3),
]);
$this->createSetting(MP2Migrator::MIGRATION_COMPLETE_SETTING_KEY, true, (new Carbon())->subDays(3));
$subscriber = $this->createSubscriber('s1@email.com', $created_days_ago = 10);
$this->addSubcriberToTask($subscriber, $task);
@ -165,7 +163,7 @@ class InactiveSubscribersControllerTest extends \MailPoetTest {
expect($result)->equals(0);
$subscriber = Subscriber::findOne($subscriber->id);
expect($subscriber->status)->equals(Subscriber::STATUS_SUBSCRIBED);
$migration_complete_setting->delete();
$this->removeSetting(MP2Migrator::MIGRATION_COMPLETE_SETTING_KEY);
}
function testItActivatesSubscriberWhoRecentlyOpenedEmail() {
@ -217,10 +215,7 @@ class InactiveSubscribersControllerTest extends \MailPoetTest {
function testItActivatesSubscribersWhenMP2MigrationHappenedWithinInterval() {
list($task) = $this->createCompletedSendingTaskWithOneOpen($completed_days_ago = 3);
$migration_complete_setting = Setting::createOrUpdate([
'name' => MP2Migrator::MIGRATION_COMPLETE_SETTING_KEY,
'created_at' => (new Carbon())->subDays(3),
]);
$this->createSetting(MP2Migrator::MIGRATION_COMPLETE_SETTING_KEY, true, (new Carbon())->subDays(3));
$subscriber = $this->createSubscriber('s1@email.com', $created_days_ago = 10, Subscriber::STATUS_INACTIVE);
$this->addSubcriberToTask($subscriber, $task);
@ -229,7 +224,7 @@ class InactiveSubscribersControllerTest extends \MailPoetTest {
expect($result)->equals(1);
$subscriber = Subscriber::findOne($subscriber->id);
expect($subscriber->status)->equals(Subscriber::STATUS_SUBSCRIBED);
$migration_complete_setting->delete();
$this->removeSetting(MP2Migrator::MIGRATION_COMPLETE_SETTING_KEY);
}
function testItDoesReactivateInactiveSubscribers() {
@ -300,4 +295,17 @@ class InactiveSubscribersControllerTest extends \MailPoetTest {
$opened->created_at = (new Carbon())->subDays($days_ago)->toDateTimeString();
$opened->save();
}
private function createSetting($name, $value, $created_at) {
$table_name = $this->entity_manager->getClassMetadata(SettingEntity::class)->getTableName();
$this->connection->executeUpdate(
"INSERT INTO $table_name (name, value, created_at) VALUES (?, ?, ?)",
[$name, $value, $created_at]
);
}
private function removeSetting($name) {
$table_name = $this->entity_manager->getClassMetadata(SettingEntity::class)->getTableName();
$this->connection->executeUpdate("DELETE FROM $table_name WHERE name = ?", [$name]);
}
}