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

@ -9,8 +9,8 @@ use MailPoet\Models\NewsletterOption;
use MailPoet\Models\NewsletterOptionField; use MailPoet\Models\NewsletterOptionField;
use MailPoet\Models\ScheduledTask; use MailPoet\Models\ScheduledTask;
use MailPoet\Models\SendingQueue as SendingQueueModel; use MailPoet\Models\SendingQueue as SendingQueueModel;
use MailPoet\Models\Setting;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
use MailPoet\Tasks\Sending; use MailPoet\Tasks\Sending;
class SendingQueueTest extends \MailPoetTest { class SendingQueueTest extends \MailPoetTest {
@ -118,7 +118,7 @@ class SendingQueueTest extends \MailPoetTest {
\ORM::raw_execute('TRUNCATE ' . Newsletter::$_table); \ORM::raw_execute('TRUNCATE ' . Newsletter::$_table);
\ORM::raw_execute('TRUNCATE ' . NewsletterOption::$_table); \ORM::raw_execute('TRUNCATE ' . NewsletterOption::$_table);
\ORM::raw_execute('TRUNCATE ' . NewsletterOptionField::$_table); \ORM::raw_execute('TRUNCATE ' . NewsletterOptionField::$_table);
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
\ORM::raw_execute('TRUNCATE ' . SendingQueueModel::$_table); \ORM::raw_execute('TRUNCATE ' . SendingQueueModel::$_table);
\ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table); \ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);
} }

View File

@ -9,10 +9,10 @@ use MailPoet\API\JSON\Response as APIResponse;
use MailPoet\API\JSON\v1\Settings; use MailPoet\API\JSON\v1\Settings;
use MailPoet\Cron\Workers\InactiveSubscribers; use MailPoet\Cron\Workers\InactiveSubscribers;
use MailPoet\Models\ScheduledTask; use MailPoet\Models\ScheduledTask;
use MailPoet\Models\Setting;
use MailPoet\Services\AuthorizedEmailsController; use MailPoet\Services\AuthorizedEmailsController;
use MailPoet\Services\Bridge; use MailPoet\Services\Bridge;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
class SettingsTest extends \MailPoetTest { class SettingsTest extends \MailPoetTest {
@ -41,7 +41,7 @@ class SettingsTest extends \MailPoetTest {
expect($response->data)->notEmpty(); expect($response->data)->notEmpty();
expect($response->data['some']['setting']['key'])->true(); expect($response->data['some']['setting']['key'])->true();
Setting::deleteMany(); $this->di_container->get(SettingsRepository::class)->truncate();
$this->settings->resetCache(); $this->settings->resetCache();
$response = $this->endpoint->get(); $response = $this->endpoint->get();
expect($response->status)->equals(APIResponse::STATUS_OK); expect($response->status)->equals(APIResponse::STATUS_OK);
@ -96,6 +96,6 @@ class SettingsTest extends \MailPoetTest {
} }
function _after() { function _after() {
\ORM::forTable(Setting::$_table)->deleteMany(); $this->di_container->get(SettingsRepository::class)->truncate();
} }
} }

View File

@ -9,9 +9,9 @@ use MailPoet\API\JSON\v1\Setup;
use MailPoet\Config\Activator; use MailPoet\Config\Activator;
use MailPoet\Config\Populator; use MailPoet\Config\Populator;
use MailPoet\Features\FeaturesController; use MailPoet\Features\FeaturesController;
use MailPoet\Models\Setting;
use MailPoet\Referrals\ReferralDetector; use MailPoet\Referrals\ReferralDetector;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
use MailPoet\Subscription\Captcha; use MailPoet\Subscription\Captcha;
use MailPoet\WooCommerce\TransactionalEmails; use MailPoet\WooCommerce\TransactionalEmails;
use MailPoet\WP\Functions as WPFunctions; use MailPoet\WP\Functions as WPFunctions;
@ -57,6 +57,6 @@ class SetupTest extends \MailPoetTest {
} }
function _after() { function _after() {
Setting::deleteMany(); $this->di_container->get(SettingsRepository::class)->truncate();
} }
} }

View File

@ -17,12 +17,12 @@ use MailPoet\Models\NewsletterOption;
use MailPoet\Models\NewsletterOptionField; use MailPoet\Models\NewsletterOptionField;
use MailPoet\Models\Segment; use MailPoet\Models\Segment;
use MailPoet\Models\SendingQueue; use MailPoet\Models\SendingQueue;
use MailPoet\Models\Setting;
use MailPoet\Models\Subscriber; use MailPoet\Models\Subscriber;
use MailPoet\Models\SubscriberIP; use MailPoet\Models\SubscriberIP;
use MailPoet\Models\SubscriberSegment; use MailPoet\Models\SubscriberSegment;
use MailPoet\Segments\SubscribersListings; use MailPoet\Segments\SubscribersListings;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
use MailPoet\Subscribers\ConfirmationEmailMailer; use MailPoet\Subscribers\ConfirmationEmailMailer;
use MailPoet\Subscribers\LinkTokens; use MailPoet\Subscribers\LinkTokens;
use MailPoet\Subscribers\RequiredCustomFieldValidator; use MailPoet\Subscribers\RequiredCustomFieldValidator;
@ -819,6 +819,6 @@ class SubscribersTest extends \MailPoetTest {
\ORM::raw_execute('TRUNCATE ' . SubscriberSegment::$_table); \ORM::raw_execute('TRUNCATE ' . SubscriberSegment::$_table);
\ORM::raw_execute('TRUNCATE ' . SubscriberIP::$_table); \ORM::raw_execute('TRUNCATE ' . SubscriberIP::$_table);
\ORM::raw_execute('TRUNCATE ' . CustomField::$_table); \ORM::raw_execute('TRUNCATE ' . CustomField::$_table);
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
} }
} }

View File

@ -5,8 +5,8 @@ namespace MailPoet\Test\Cron;
use Codeception\Stub; use Codeception\Stub;
use MailPoet\Cron\CronHelper; use MailPoet\Cron\CronHelper;
use MailPoet\Cron\DaemonHttpRunner; use MailPoet\Cron\DaemonHttpRunner;
use MailPoet\Models\Setting;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
use MailPoet\WP\Functions as WPFunctions; use MailPoet\WP\Functions as WPFunctions;
class CronHelperTest extends \MailPoetTest { class CronHelperTest extends \MailPoetTest {
@ -326,7 +326,7 @@ class CronHelperTest extends \MailPoetTest {
} }
function _after() { function _after() {
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
} }
private function getDeamonTestData() { private function getDeamonTestData() {

View File

@ -4,8 +4,8 @@ namespace MailPoet\Test\Cron;
use Codeception\Stub; use Codeception\Stub;
use MailPoet\Cron\CronTrigger; use MailPoet\Cron\CronTrigger;
use MailPoet\Models\Setting;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
require_once('CronTriggerMockMethod.php'); require_once('CronTriggerMockMethod.php');
require_once('CronTriggerMockMethodWithException.php'); require_once('CronTriggerMockMethodWithException.php');
@ -67,6 +67,6 @@ class CronTriggerTest extends \MailPoetTest {
} }
function _after() { function _after() {
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
} }
} }

View File

@ -10,8 +10,8 @@ use MailPoet\Cron\DaemonHttpRunner;
use MailPoet\Cron\Workers\SimpleWorker; use MailPoet\Cron\Workers\SimpleWorker;
use MailPoet\Cron\Workers\WorkersFactory; use MailPoet\Cron\Workers\WorkersFactory;
use MailPoet\DI\ContainerWrapper; use MailPoet\DI\ContainerWrapper;
use MailPoet\Models\Setting;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
use MailPoet\WP\Functions as WPFunctions; use MailPoet\WP\Functions as WPFunctions;
class DaemonHttpRunnerTest extends \MailPoetTest { class DaemonHttpRunnerTest extends \MailPoetTest {
@ -271,7 +271,7 @@ class DaemonHttpRunnerTest extends \MailPoetTest {
} }
function _after() { function _after() {
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
} }
private function createWorkersFactoryMock(array $workers = []) { private function createWorkersFactoryMock(array $workers = []) {

View File

@ -8,8 +8,8 @@ use MailPoet\Cron\Daemon;
use MailPoet\Cron\Workers\SimpleWorker; use MailPoet\Cron\Workers\SimpleWorker;
use MailPoet\Cron\Workers\WorkersFactory; use MailPoet\Cron\Workers\WorkersFactory;
use MailPoet\DI\ContainerWrapper; use MailPoet\DI\ContainerWrapper;
use MailPoet\Models\Setting;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
class DaemonTest extends \MailPoetTest { class DaemonTest extends \MailPoetTest {
@ -32,7 +32,7 @@ class DaemonTest extends \MailPoetTest {
} }
function _after() { function _after() {
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
} }
private function createWorkersFactoryMock(array $workers = []) { private function createWorkersFactoryMock(array $workers = []) {

View File

@ -5,8 +5,8 @@ namespace MailPoet\Test\Cron;
use MailPoet\Cron\CronHelper; use MailPoet\Cron\CronHelper;
use MailPoet\Cron\Supervisor; use MailPoet\Cron\Supervisor;
use MailPoet\DI\ContainerWrapper; use MailPoet\DI\ContainerWrapper;
use MailPoet\Models\Setting;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
class SupervisorTest extends \MailPoetTest { class SupervisorTest extends \MailPoetTest {
/** @var SettingsController */ /** @var SettingsController */
@ -73,6 +73,6 @@ class SupervisorTest extends \MailPoetTest {
} }
function _after() { function _after() {
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
} }
} }

View File

@ -4,8 +4,8 @@ namespace MailPoet\Cron\Triggers;
use MailPoet\API\JSON\Endpoints\Cron; use MailPoet\API\JSON\Endpoints\Cron;
use MailPoet\Cron\CronHelper; use MailPoet\Cron\CronHelper;
use MailPoet\Models\Setting;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
class MailPoetTest extends \MailPoetTest { class MailPoetTest extends \MailPoetTest {
/** @var SettingsController */ /** @var SettingsController */
@ -30,6 +30,6 @@ class MailPoetTest extends \MailPoetTest {
} }
function _after() { function _after() {
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
} }
} }

View File

@ -13,8 +13,8 @@ use MailPoet\Mailer\Mailer;
use MailPoet\Mailer\MailerLog; use MailPoet\Mailer\MailerLog;
use MailPoet\Models\ScheduledTask; use MailPoet\Models\ScheduledTask;
use MailPoet\Models\SendingQueue; use MailPoet\Models\SendingQueue;
use MailPoet\Models\Setting;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
use MailPoet\Tasks\Sending as SendingTask; use MailPoet\Tasks\Sending as SendingTask;
use MailPoet\WP\Functions as WPFunctions; use MailPoet\WP\Functions as WPFunctions;
@ -232,7 +232,7 @@ class WordPressTest extends \MailPoetTest {
} }
function _after() { function _after() {
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
\ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table); \ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);
\ORM::raw_execute('TRUNCATE ' . SendingQueue::$_table); \ORM::raw_execute('TRUNCATE ' . SendingQueue::$_table);
} }

View File

@ -8,10 +8,10 @@ use MailPoet\Cron\Workers\Bounce\BounceTestMockAPI as MockAPI;
use MailPoet\Mailer\Mailer; use MailPoet\Mailer\Mailer;
use MailPoet\Models\ScheduledTask; use MailPoet\Models\ScheduledTask;
use MailPoet\Models\ScheduledTaskSubscriber; use MailPoet\Models\ScheduledTaskSubscriber;
use MailPoet\Models\Setting;
use MailPoet\Models\Subscriber; use MailPoet\Models\Subscriber;
use MailPoet\Services\Bridge\API; use MailPoet\Services\Bridge\API;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
require_once('BounceTestMockAPI.php'); require_once('BounceTestMockAPI.php');
@ -129,7 +129,7 @@ class BounceTest extends \MailPoetTest {
} }
function _after() { function _after() {
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
\ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table); \ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);
\ORM::raw_execute('TRUNCATE ' . ScheduledTaskSubscriber::$_table); \ORM::raw_execute('TRUNCATE ' . ScheduledTaskSubscriber::$_table);
\ORM::raw_execute('TRUNCATE ' . Subscriber::$_table); \ORM::raw_execute('TRUNCATE ' . Subscriber::$_table);

View File

@ -7,8 +7,8 @@ use Codeception\Stub;
use Codeception\Stub\Expected; use Codeception\Stub\Expected;
use MailPoet\Cron\Workers\KeyCheck\KeyCheckWorkerMockImplementation as MockKeyCheckWorker; use MailPoet\Cron\Workers\KeyCheck\KeyCheckWorkerMockImplementation as MockKeyCheckWorker;
use MailPoet\Models\ScheduledTask; use MailPoet\Models\ScheduledTask;
use MailPoet\Models\Setting;
use MailPoet\Services\Bridge; use MailPoet\Services\Bridge;
use MailPoet\Settings\SettingsRepository;
require_once('KeyCheckWorkerMockImplementation.php'); require_once('KeyCheckWorkerMockImplementation.php');
@ -75,7 +75,7 @@ class KeyCheckWorkerTest extends \MailPoetTest {
} }
function _after() { function _after() {
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
\ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table); \ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);
} }
} }

View File

@ -4,9 +4,9 @@ namespace MailPoet\Test\Cron\Workers\KeyCheck;
use Codeception\Util\Stub; use Codeception\Util\Stub;
use MailPoet\Cron\Workers\KeyCheck\PremiumKeyCheck; use MailPoet\Cron\Workers\KeyCheck\PremiumKeyCheck;
use MailPoet\Models\Setting;
use MailPoet\Services\Bridge; use MailPoet\Services\Bridge;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
class PremiumKeyCheckTest extends \MailPoetTest { class PremiumKeyCheckTest extends \MailPoetTest {
@ -57,6 +57,6 @@ class PremiumKeyCheckTest extends \MailPoetTest {
} }
function _after() { function _after() {
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
} }
} }

View File

@ -6,9 +6,9 @@ use Codeception\Stub;
use Codeception\Stub\Expected; use Codeception\Stub\Expected;
use MailPoet\Cron\Workers\KeyCheck\SendingServiceKeyCheck; use MailPoet\Cron\Workers\KeyCheck\SendingServiceKeyCheck;
use MailPoet\Mailer\Mailer; use MailPoet\Mailer\Mailer;
use MailPoet\Models\Setting;
use MailPoet\Services\Bridge; use MailPoet\Services\Bridge;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
class SendingServiceKeyCheckTest extends \MailPoetTest { class SendingServiceKeyCheckTest extends \MailPoetTest {
function _before() { function _before() {
@ -59,6 +59,6 @@ class SendingServiceKeyCheckTest extends \MailPoetTest {
} }
function _after() { function _after() {
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
} }
} }

View File

@ -17,11 +17,11 @@ use MailPoet\Models\ScheduledTask;
use MailPoet\Models\ScheduledTaskSubscriber; use MailPoet\Models\ScheduledTaskSubscriber;
use MailPoet\Models\Segment; use MailPoet\Models\Segment;
use MailPoet\Models\SendingQueue; use MailPoet\Models\SendingQueue;
use MailPoet\Models\Setting;
use MailPoet\Models\Subscriber; use MailPoet\Models\Subscriber;
use MailPoet\Models\SubscriberSegment; use MailPoet\Models\SubscriberSegment;
use MailPoet\Newsletter\Scheduler\WelcomeScheduler; use MailPoet\Newsletter\Scheduler\WelcomeScheduler;
use MailPoet\Segments\SubscribersFinder; use MailPoet\Segments\SubscribersFinder;
use MailPoet\Settings\SettingsRepository;
use MailPoet\Tasks\Sending as SendingTask; use MailPoet\Tasks\Sending as SendingTask;
class SchedulerTest extends \MailPoetTest { class SchedulerTest extends \MailPoetTest {
@ -840,7 +840,7 @@ class SchedulerTest extends \MailPoetTest {
function _after() { function _after() {
Carbon::setTestNow(); Carbon::setTestNow();
\ORM::raw_execute('TRUNCATE ' . Newsletter::$_table); \ORM::raw_execute('TRUNCATE ' . Newsletter::$_table);
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
\ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table); \ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);
\ORM::raw_execute('TRUNCATE ' . ScheduledTaskSubscriber::$_table); \ORM::raw_execute('TRUNCATE ' . ScheduledTaskSubscriber::$_table);
\ORM::raw_execute('TRUNCATE ' . SendingQueue::$_table); \ORM::raw_execute('TRUNCATE ' . SendingQueue::$_table);

View File

@ -9,8 +9,8 @@ use MailPoet\Mailer\MailerLog;
use MailPoet\Models\ScheduledTask; use MailPoet\Models\ScheduledTask;
use MailPoet\Models\ScheduledTaskSubscriber; use MailPoet\Models\ScheduledTaskSubscriber;
use MailPoet\Models\SendingQueue; use MailPoet\Models\SendingQueue;
use MailPoet\Models\Setting;
use MailPoet\Models\Subscriber; use MailPoet\Models\Subscriber;
use MailPoet\Settings\SettingsRepository;
use MailPoet\Tasks\Sending as SendingTask; use MailPoet\Tasks\Sending as SendingTask;
use MailPoet\WP\Functions as WPFunctions; use MailPoet\WP\Functions as WPFunctions;
@ -193,7 +193,7 @@ class MigrationTest extends \MailPoetTest {
} }
function _after() { function _after() {
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
\ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table); \ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);
\ORM::raw_execute('TRUNCATE ' . ScheduledTaskSubscriber::$_table); \ORM::raw_execute('TRUNCATE ' . ScheduledTaskSubscriber::$_table);
\ORM::raw_execute('TRUNCATE ' . SendingQueue::$_table); \ORM::raw_execute('TRUNCATE ' . SendingQueue::$_table);

View File

@ -26,7 +26,6 @@ use MailPoet\Models\ScheduledTask;
use MailPoet\Models\ScheduledTaskSubscriber; use MailPoet\Models\ScheduledTaskSubscriber;
use MailPoet\Models\Segment; use MailPoet\Models\Segment;
use MailPoet\Models\SendingQueue; use MailPoet\Models\SendingQueue;
use MailPoet\Models\Setting;
use MailPoet\Models\StatisticsNewsletters; use MailPoet\Models\StatisticsNewsletters;
use MailPoet\Models\Subscriber; use MailPoet\Models\Subscriber;
use MailPoet\Models\SubscriberSegment; use MailPoet\Models\SubscriberSegment;
@ -36,6 +35,7 @@ use MailPoet\Referrals\ReferralDetector;
use MailPoet\Router\Endpoints\Track; use MailPoet\Router\Endpoints\Track;
use MailPoet\Router\Router; use MailPoet\Router\Router;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
use MailPoet\Subscribers\LinkTokens; use MailPoet\Subscribers\LinkTokens;
use MailPoet\Subscription\Captcha; use MailPoet\Subscription\Captcha;
use MailPoet\Subscription\SubscriptionUrlFactory; use MailPoet\Subscription\SubscriptionUrlFactory;
@ -827,7 +827,7 @@ class SendingQueueTest extends \MailPoetTest {
\ORM::raw_execute('TRUNCATE ' . ScheduledTaskSubscriber::$_table); \ORM::raw_execute('TRUNCATE ' . ScheduledTaskSubscriber::$_table);
\ORM::raw_execute('TRUNCATE ' . Segment::$_table); \ORM::raw_execute('TRUNCATE ' . Segment::$_table);
\ORM::raw_execute('TRUNCATE ' . SendingQueue::$_table); \ORM::raw_execute('TRUNCATE ' . SendingQueue::$_table);
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
\ORM::raw_execute('TRUNCATE ' . Newsletter::$_table); \ORM::raw_execute('TRUNCATE ' . Newsletter::$_table);
\ORM::raw_execute('TRUNCATE ' . NewsletterLink::$_table); \ORM::raw_execute('TRUNCATE ' . NewsletterLink::$_table);
\ORM::raw_execute('TRUNCATE ' . NewsletterPost::$_table); \ORM::raw_execute('TRUNCATE ' . NewsletterPost::$_table);

View File

@ -8,10 +8,10 @@ use MailPoet\Config\Populator;
use MailPoet\Cron\Workers\SendingQueue\Tasks\Mailer as MailerTask; use MailPoet\Cron\Workers\SendingQueue\Tasks\Mailer as MailerTask;
use MailPoet\Features\FeaturesController; use MailPoet\Features\FeaturesController;
use MailPoet\Mailer\Mailer; use MailPoet\Mailer\Mailer;
use MailPoet\Models\Setting;
use MailPoet\Models\Subscriber; use MailPoet\Models\Subscriber;
use MailPoet\Referrals\ReferralDetector; use MailPoet\Referrals\ReferralDetector;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
use MailPoet\Subscription\Captcha; use MailPoet\Subscription\Captcha;
use MailPoet\WooCommerce\TransactionalEmails; use MailPoet\WooCommerce\TransactionalEmails;
use MailPoet\WP\Functions as WPFunctions; use MailPoet\WP\Functions as WPFunctions;
@ -141,7 +141,7 @@ class MailerTest extends \MailPoetTest {
} }
function _after() { function _after() {
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
\ORM::raw_execute('TRUNCATE ' . Subscriber::$_table); \ORM::raw_execute('TRUNCATE ' . Subscriber::$_table);
} }
} }

View File

@ -16,9 +16,9 @@ use MailPoet\Models\NewsletterPost;
use MailPoet\Models\NewsletterSegment; use MailPoet\Models\NewsletterSegment;
use MailPoet\Models\ScheduledTask; use MailPoet\Models\ScheduledTask;
use MailPoet\Models\SendingQueue; use MailPoet\Models\SendingQueue;
use MailPoet\Models\Setting;
use MailPoet\Models\Subscriber; use MailPoet\Models\Subscriber;
use MailPoet\Router\Router; use MailPoet\Router\Router;
use MailPoet\Settings\SettingsRepository;
use MailPoet\Tasks\Sending as SendingTask; use MailPoet\Tasks\Sending as SendingTask;
use MailPoet\WP\Emoji; use MailPoet\WP\Emoji;
use MailPoet\WP\Functions as WPFunctions; use MailPoet\WP\Functions as WPFunctions;
@ -444,7 +444,7 @@ class NewsletterTest extends \MailPoetTest {
} }
function _after() { function _after() {
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
\ORM::raw_execute('TRUNCATE ' . Subscriber::$_table); \ORM::raw_execute('TRUNCATE ' . Subscriber::$_table);
\ORM::raw_execute('TRUNCATE ' . Newsletter::$_table); \ORM::raw_execute('TRUNCATE ' . Newsletter::$_table);
\ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table); \ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);

View File

@ -9,7 +9,7 @@ use MailPoet\Cron\CronHelper;
use MailPoet\Cron\Workers\SimpleWorkerMockImplementation as MockSimpleWorker; use MailPoet\Cron\Workers\SimpleWorkerMockImplementation as MockSimpleWorker;
use MailPoet\DI\ContainerWrapper; use MailPoet\DI\ContainerWrapper;
use MailPoet\Models\ScheduledTask; use MailPoet\Models\ScheduledTask;
use MailPoet\Models\Setting; use MailPoet\Settings\SettingsRepository;
require_once('SimpleWorkerMockImplementation.php'); require_once('SimpleWorkerMockImplementation.php');
@ -322,7 +322,7 @@ class SimpleWorkerTest extends \MailPoetTest {
} }
function _after() { function _after() {
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
\ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table); \ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);
} }
} }

View File

@ -4,8 +4,8 @@ namespace MailPoet\Test\Mailer;
use MailPoet\Mailer\Mailer; use MailPoet\Mailer\Mailer;
use MailPoet\Mailer\MailerLog; use MailPoet\Mailer\MailerLog;
use MailPoet\Models\Setting;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
class MailerLogTest extends \MailPoetTest { class MailerLogTest extends \MailPoetTest {
@ -331,6 +331,6 @@ class MailerLogTest extends \MailPoetTest {
} }
function _after() { function _after() {
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
} }
} }

View File

@ -3,8 +3,8 @@
namespace MailPoet\Test\Mailer; namespace MailPoet\Test\Mailer;
use MailPoet\Mailer\Mailer; use MailPoet\Mailer\Mailer;
use MailPoet\Models\Setting;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
class MailerTest extends \MailPoetTest { class MailerTest extends \MailPoetTest {
@ -195,6 +195,6 @@ class MailerTest extends \MailPoetTest {
} }
function _after() { function _after() {
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
} }
} }

View File

@ -11,11 +11,11 @@ use MailPoet\Models\NewsletterOptionField;
use MailPoet\Models\ScheduledTask; use MailPoet\Models\ScheduledTask;
use MailPoet\Models\Segment; use MailPoet\Models\Segment;
use MailPoet\Models\SendingQueue; use MailPoet\Models\SendingQueue;
use MailPoet\Models\Setting;
use MailPoet\Models\Subscriber; use MailPoet\Models\Subscriber;
use MailPoet\Models\SubscriberCustomField; use MailPoet\Models\SubscriberCustomField;
use MailPoet\Models\SubscriberSegment; use MailPoet\Models\SubscriberSegment;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
class SubscriberTest extends \MailPoetTest { class SubscriberTest extends \MailPoetTest {
@ -926,6 +926,6 @@ class SubscriberTest extends \MailPoetTest {
\ORM::raw_execute('TRUNCATE ' . NewsletterOption::$_table); \ORM::raw_execute('TRUNCATE ' . NewsletterOption::$_table);
\ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table); \ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);
\ORM::raw_execute('TRUNCATE ' . SendingQueue::$_table); \ORM::raw_execute('TRUNCATE ' . SendingQueue::$_table);
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
} }
} }

View File

@ -8,10 +8,10 @@ use MailPoet\Mailer\Mailer;
use MailPoet\Mailer\MailerError; use MailPoet\Mailer\MailerError;
use MailPoet\Mailer\MailerLog; use MailPoet\Mailer\MailerLog;
use MailPoet\Models\Newsletter; use MailPoet\Models\Newsletter;
use MailPoet\Models\Setting;
use MailPoet\Services\AuthorizedEmailsController; use MailPoet\Services\AuthorizedEmailsController;
use MailPoet\Services\Bridge; use MailPoet\Services\Bridge;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
class AuthorizedEmailsControllerTest extends \MailPoetTest { class AuthorizedEmailsControllerTest extends \MailPoetTest {
@ -175,7 +175,7 @@ class AuthorizedEmailsControllerTest extends \MailPoetTest {
} }
function _after() { function _after() {
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
\ORM::raw_execute('TRUNCATE ' . Newsletter::$_table); \ORM::raw_execute('TRUNCATE ' . Newsletter::$_table);
} }
} }

View File

@ -4,11 +4,11 @@ namespace MailPoet\Test\Services;
use Codeception\Util\Stub; use Codeception\Util\Stub;
use MailPoet\Mailer\Mailer; use MailPoet\Mailer\Mailer;
use MailPoet\Models\Setting;
use MailPoet\Services\Bridge; use MailPoet\Services\Bridge;
use MailPoet\Services\Bridge\API; use MailPoet\Services\Bridge\API;
use MailPoet\Services\Bridge\BridgeTestMockAPI as MockAPI; use MailPoet\Services\Bridge\BridgeTestMockAPI as MockAPI;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
use MailPoet\WP\Functions as WPFunctions; use MailPoet\WP\Functions as WPFunctions;
require_once('BridgeTestMockAPI.php'); require_once('BridgeTestMockAPI.php');
@ -323,6 +323,6 @@ class BridgeTest extends \MailPoetTest {
} }
function _after() { function _after() {
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
} }
} }

View File

@ -3,8 +3,9 @@
namespace MailPoet\Test\Settings; namespace MailPoet\Test\Settings;
use Codeception\Stub; use Codeception\Stub;
use MailPoet\Models\Setting; use MailPoet\Entities\SettingEntity;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
class SettingsControllerTest extends \MailPoetTest { class SettingsControllerTest extends \MailPoetTest {
@ -13,30 +14,31 @@ class SettingsControllerTest extends \MailPoetTest {
function _before() { function _before() {
parent::_before(); parent::_before();
$this->controller = SettingsController::getInstance(); $this->controller = $this->di_container->get(SettingsController::class);
} }
function testItReturnsStoredValue() { function testItReturnsStoredValue() {
Setting::createOrUpdate(['name' => 'test_key', 'value' => 1]); $this->createOrUpdateSetting('test_key', 1);
$this->controller->resetCache();
$this->assertEquals(1, $this->controller->get('test_key')); $this->assertEquals(1, $this->controller->get('test_key'));
} }
function testItReturnsStoredNestedValue() { function testItReturnsStoredNestedValue() {
Setting::createOrUpdate(['name' => 'test_key', 'value' => serialize(['sub_key' => 'value'])]); $this->createOrUpdateSetting('test_key', serialize(['sub_key' => 'value']));
$this->assertEquals('value', $this->controller->get('test_key.sub_key')); $this->assertEquals('value', $this->controller->get('test_key.sub_key'));
} }
function testItReturnsNullForUnknownSetting() { function testItReturnsNullForUnknownSetting() {
$this->assertEquals(null, $this->controller->get('test_key')); $this->assertEquals(null, $this->controller->get('test_key'));
$this->assertEquals(null, $this->controller->get('test_key.sub_key')); $this->assertEquals(null, $this->controller->get('test_key.sub_key'));
Setting::createOrUpdate(['name' => 'test_key', 'value' => serialize(['sub_key' => 'value'])]); $this->createOrUpdateSetting('test_key', serialize(['sub_key' => 'value']));
$this->assertEquals(null, $this->controller->get('test_key.wrong_subkey')); $this->assertEquals(null, $this->controller->get('test_key.wrong_subkey'));
} }
function testItReturnsDefaultValueForUnknownSetting() { function testItReturnsDefaultValueForUnknownSetting() {
$this->assertEquals('default', $this->controller->get('test_key', 'default')); $this->assertEquals('default', $this->controller->get('test_key', 'default'));
$this->assertEquals('default', $this->controller->get('test_key.sub_key', 'default')); $this->assertEquals('default', $this->controller->get('test_key.sub_key', 'default'));
Setting::createOrUpdate(['name' => 'test_key', 'value' => serialize(['sub_key' => 'value'])]); $this->createOrUpdateSetting('test_key', serialize(['sub_key' => 'value']));
$this->assertEquals('default', $this->controller->get('test_key.wrong_subkey', 'default')); $this->assertEquals('default', $this->controller->get('test_key.wrong_subkey', 'default'));
} }
@ -44,13 +46,17 @@ class SettingsControllerTest extends \MailPoetTest {
$this->assertEquals(null, $this->controller->fetch('test_key')); $this->assertEquals(null, $this->controller->fetch('test_key'));
$this->assertEquals(null, $this->controller->fetch('test_key.sub_key')); $this->assertEquals(null, $this->controller->fetch('test_key.sub_key'));
$this->assertEquals('default', $this->controller->fetch('test_key.wrong_subkey', 'default')); $this->assertEquals('default', $this->controller->fetch('test_key.wrong_subkey', 'default'));
Setting::createOrUpdate(['name' => 'test_key', 'value' => serialize(['sub_key' => 'value'])]); $this->createOrUpdateSetting('test_key', serialize(['sub_key' => 'value']));
$this->assertEquals('default', $this->controller->get('test_key.sub_key', 'default')); $this->assertEquals('default', $this->controller->get('test_key.sub_key', 'default'));
$this->assertEquals('value', $this->controller->fetch('test_key.sub_key', 'default')); $this->assertEquals('value', $this->controller->fetch('test_key.sub_key', 'default'));
} }
function testItReturnsDefaultValueAsFallback() { function testItReturnsDefaultValueAsFallback() {
$settings = Stub::make($this->controller, [ $settings = Stub::make($this->controller, [
'settings_repository' => $this->make(SettingsRepository::class, [
'findOneByName' => null,
'findAll' => [],
]),
'getAllDefaults' => function () { 'getAllDefaults' => function () {
return ['default1' => ['default2' => 1]]; return ['default1' => ['default2' => 1]];
}, },
@ -62,8 +68,8 @@ class SettingsControllerTest extends \MailPoetTest {
} }
function testItCanReturnAllSettings() { function testItCanReturnAllSettings() {
Setting::createOrUpdate(['name' => 'test_key1', 'value' => 1]); $this->createOrUpdateSetting('test_key1', 1);
Setting::createOrUpdate(['name' => 'test_key2', 'value' => 2]); $this->createOrUpdateSetting('test_key2', 2);
$all = $this->controller->getAll(); $all = $this->controller->getAll();
$this->assertEquals(1, $all['test_key1']); $this->assertEquals(1, $all['test_key1']);
$this->assertEquals(2, $all['test_key2']); $this->assertEquals(2, $all['test_key2']);
@ -72,14 +78,14 @@ class SettingsControllerTest extends \MailPoetTest {
function testItCanSetAtTopLevel() { function testItCanSetAtTopLevel() {
$this->controller->set('test_key', 1); $this->controller->set('test_key', 1);
$this->assertEquals(1, $this->controller->get('test_key')); $this->assertEquals(1, $this->controller->get('test_key'));
$db_value = Setting::where('name', 'test_key')->findOne(); $db_value = $this->getSettingValue('test_key');
$this->assertEquals(1, $db_value->value); $this->assertEquals(1, $db_value);
} }
function testItCanSetAtNestedLevel() { function testItCanSetAtNestedLevel() {
$this->controller->set('test_key.key1.key2', 1); $this->controller->set('test_key.key1.key2', 1);
$this->assertEquals(1, $this->controller->get('test_key.key1.key2')); $this->assertEquals(1, $this->controller->get('test_key.key1.key2'));
$db_value = unserialize(Setting::where('name', 'test_key')->findOne()->value); $db_value = unserialize($this->getSettingValue('test_key'));
$this->assertEquals(1, $db_value['key1']['key2']); $this->assertEquals(1, $db_value['key1']['key2']);
} }
@ -88,7 +94,7 @@ class SettingsControllerTest extends \MailPoetTest {
$this->assertEquals(1, $this->controller->get('test_key.key1.key2')); $this->assertEquals(1, $this->controller->get('test_key.key1.key2'));
$this->controller->set('test_key.key1.key2', null); $this->controller->set('test_key.key1.key2', null);
$this->assertNull(null, $this->controller->get('test_key.key1.key2')); $this->assertNull(null, $this->controller->get('test_key.key1.key2'));
$db_value = unserialize(Setting::where('name', 'test_key')->findOne()->value); $db_value = unserialize($this->getSettingValue('test_key'));
$this->assertNull($db_value['key1']['key2']); $this->assertNull($db_value['key1']['key2']);
} }
@ -96,19 +102,33 @@ class SettingsControllerTest extends \MailPoetTest {
$this->controller->set('test_key.key1', 1); $this->controller->set('test_key.key1', 1);
$this->controller->set('test_key.key1.key2', 1); $this->controller->set('test_key.key1.key2', 1);
$this->assertEquals(1, $this->controller->get('test_key.key1.key2')); $this->assertEquals(1, $this->controller->get('test_key.key1.key2'));
$db_value = unserialize(Setting::where('name', 'test_key')->findOne()->value); $db_value = unserialize($this->getSettingValue('test_key'));
$this->assertEquals(1, $db_value['key1']['key2']); $this->assertEquals(1, $db_value['key1']['key2']);
} }
function testItLoadsFromDbOnlyOnce() { function testItLoadsFromDbOnlyOnce() {
Setting::createOrUpdate(['name' => 'test_key', 'value' => 1]); $this->createOrUpdateSetting('test_key', 1);
$this->assertEquals(1, $this->controller->get('test_key')); $this->assertEquals(1, $this->controller->get('test_key'));
Setting::createOrUpdate(['name' => 'test_key', 'value' => 2]); $this->createOrUpdateSetting('test_key', 2);
$this->assertEquals(1, $this->controller->get('test_key')); $this->assertEquals(1, $this->controller->get('test_key'));
$this->assertEquals(true, true); $this->assertEquals(true, true);
} }
function _after() { function _after() {
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $table_name = $this->entity_manager->getClassMetadata(SettingEntity::class)->getTableName();
$this->connection->executeUpdate('TRUNCATE ' . $table_name);
}
private function createOrUpdateSetting($name, $value) {
$table_name = $this->entity_manager->getClassMetadata(SettingEntity::class)->getTableName();
$this->connection->executeUpdate("
INSERT INTO $table_name (name, value) VALUES (?, ?)
ON DUPLICATE KEY UPDATE value = ?
", [$name, $value, $value]);
}
private function getSettingValue($name) {
$table_name = $this->entity_manager->getClassMetadata(SettingEntity::class)->getTableName();
return $this->connection->executeQuery("SELECT value FROM $table_name WHERE name = ?", [$name])->fetchColumn();
} }
} }

View File

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

View File

@ -6,9 +6,9 @@ use Codeception\Stub;
use Codeception\Stub\Expected; use Codeception\Stub\Expected;
use MailPoet\Mailer\Mailer; use MailPoet\Mailer\Mailer;
use MailPoet\Models\Segment; use MailPoet\Models\Segment;
use MailPoet\Models\Setting;
use MailPoet\Models\Subscriber; use MailPoet\Models\Subscriber;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
class NewSubscriberNotificationMailerTest extends \MailPoetTest { class NewSubscriberNotificationMailerTest extends \MailPoetTest {
@ -88,6 +88,6 @@ class NewSubscriberNotificationMailerTest extends \MailPoetTest {
} }
function _after() { function _after() {
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
} }
} }

View File

@ -9,10 +9,10 @@ use MailPoet\Models\NewsletterOptionField;
use MailPoet\Models\ScheduledTask; use MailPoet\Models\ScheduledTask;
use MailPoet\Models\Segment; use MailPoet\Models\Segment;
use MailPoet\Models\SendingQueue; use MailPoet\Models\SendingQueue;
use MailPoet\Models\Setting;
use MailPoet\Models\Subscriber; use MailPoet\Models\Subscriber;
use MailPoet\Models\SubscriberSegment; use MailPoet\Models\SubscriberSegment;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
class SubscriberActionsTest extends \MailPoetTest { class SubscriberActionsTest extends \MailPoetTest {
@ -317,6 +317,6 @@ class SubscriberActionsTest extends \MailPoetTest {
\ORM::raw_execute('TRUNCATE ' . NewsletterOption::$_table); \ORM::raw_execute('TRUNCATE ' . NewsletterOption::$_table);
\ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table); \ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);
\ORM::raw_execute('TRUNCATE ' . SendingQueue::$_table); \ORM::raw_execute('TRUNCATE ' . SendingQueue::$_table);
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
} }
} }

View File

@ -10,9 +10,9 @@ use MailPoet\DI\ContainerWrapper;
use MailPoet\Form\Util\FieldNameObfuscator; use MailPoet\Form\Util\FieldNameObfuscator;
use MailPoet\Models\Form as FormModel; use MailPoet\Models\Form as FormModel;
use MailPoet\Models\Segment as SegmentModel; use MailPoet\Models\Segment as SegmentModel;
use MailPoet\Models\Setting;
use MailPoet\Models\Subscriber as SubscriberModel; use MailPoet\Models\Subscriber as SubscriberModel;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
use MailPoet\Subscription\Form; use MailPoet\Subscription\Form;
use MailPoet\Util\Security; use MailPoet\Util\Security;
use MailPoet\Util\Url as UrlHelper; use MailPoet\Util\Url as UrlHelper;
@ -145,6 +145,6 @@ class FormTest extends \MailPoetTest {
\ORM::raw_execute('TRUNCATE ' . SegmentModel::$_table); \ORM::raw_execute('TRUNCATE ' . SegmentModel::$_table);
\ORM::raw_execute('TRUNCATE ' . FormModel::$_table); \ORM::raw_execute('TRUNCATE ' . FormModel::$_table);
\ORM::raw_execute('TRUNCATE ' . SubscriberModel::$_table); \ORM::raw_execute('TRUNCATE ' . SubscriberModel::$_table);
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
} }
} }

View File

@ -5,11 +5,11 @@ namespace MailPoet\Test\Subscription;
use Codeception\Util\Stub; use Codeception\Util\Stub;
use MailPoet\Config\Populator; use MailPoet\Config\Populator;
use MailPoet\Features\FeaturesController; use MailPoet\Features\FeaturesController;
use MailPoet\Models\Setting;
use MailPoet\Models\Subscriber; use MailPoet\Models\Subscriber;
use MailPoet\Referrals\ReferralDetector; use MailPoet\Referrals\ReferralDetector;
use MailPoet\Router\Router; use MailPoet\Router\Router;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
use MailPoet\Subscribers\LinkTokens; use MailPoet\Subscribers\LinkTokens;
use MailPoet\Subscription\Captcha; use MailPoet\Subscription\Captcha;
use MailPoet\Subscription\SubscriptionUrlFactory; use MailPoet\Subscription\SubscriptionUrlFactory;
@ -128,7 +128,7 @@ class UrlTest extends \MailPoetTest {
} }
function _after() { function _after() {
Setting::deleteMany(); $this->di_container->get(SettingsRepository::class)->truncate();
Subscriber::deleteMany(); Subscriber::deleteMany();
} }
} }

View File

@ -2,9 +2,9 @@
namespace MailPoet\Util\Notices; namespace MailPoet\Util\Notices;
use MailPoet\Models\Setting;
use MailPoet\Models\Subscriber; use MailPoet\Models\Subscriber;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
use MailPoet\Test\DataFactories\Settings; use MailPoet\Test\DataFactories\Settings;
use MailPoet\Test\DataFactories\Subscriber as SubscriberFactory; use MailPoet\Test\DataFactories\Subscriber as SubscriberFactory;
use MailPoet\WP\Functions as WPFunctions; use MailPoet\WP\Functions as WPFunctions;
@ -59,7 +59,7 @@ class InactiveSubscribersNoticeTest extends \MailPoetTest {
} }
private function cleanup() { private function cleanup() {
\ORM::raw_execute('TRUNCATE ' . Setting::$_table); $this->di_container->get(SettingsRepository::class)->truncate();
\ORM::raw_execute('TRUNCATE ' . Subscriber::$_table); \ORM::raw_execute('TRUNCATE ' . Subscriber::$_table);
} }

View File

@ -33,7 +33,6 @@ $models = [
'ScheduledTask', 'ScheduledTask',
'ScheduledTaskSubscriber', 'ScheduledTaskSubscriber',
'SendingQueue', 'SendingQueue',
'Setting',
'Subscriber', 'Subscriber',
'SubscriberCustomField', 'SubscriberCustomField',
'SubscriberSegment', 'SubscriberSegment',
@ -44,6 +43,10 @@ $models = [
'StatisticsUnsubscribes', 'StatisticsUnsubscribes',
]; ];
$entities = [
MailPoet\Entities\SettingEntity::class,
];
$connection = ContainerWrapper::getInstance(WP_DEBUG)->get(Connection::class); $connection = ContainerWrapper::getInstance(WP_DEBUG)->get(Connection::class);
$destroy = function($model) use ($connection) { $destroy = function($model) use ($connection) {
$class = new \ReflectionClass('\MailPoet\Models\\' . $model); $class = new \ReflectionClass('\MailPoet\Models\\' . $model);
@ -52,6 +55,16 @@ $destroy = function($model) use ($connection) {
}; };
array_map($destroy, $models); array_map($destroy, $models);
$entity_manager = ContainerWrapper::getInstance(WP_DEBUG)->get(EntityManager::class);
foreach ($entities as $entity) {
$table_name = $entity_manager->getClassMetadata($entity)->getTableName();
$connection->transactional(function(Connection $connection) use ($table_name) {
$connection->query('SET FOREIGN_KEY_CHECKS=0');
$connection->executeUpdate("TRUNCATE $table_name");
$connection->query('SET FOREIGN_KEY_CHECKS=1');
});
}
// save plugin version to avoid running migrations (that cause $GLOBALS serialization errors) // save plugin version to avoid running migrations (that cause $GLOBALS serialization errors)
$settings = SettingsController::getInstance(); $settings = SettingsController::getInstance();
$settings->set('db_version', \MailPoet\Config\Env::$version); $settings->set('db_version', \MailPoet\Config\Env::$version);