Remove feature flag for woocommerce revenues

[MAILPOET-1990]
This commit is contained in:
Ján Mikláš
2019-07-17 14:23:19 +02:00
committed by M. Shull
parent c5ee2baaa2
commit 2b8325a738
17 changed files with 46 additions and 134 deletions

View File

@ -8,7 +8,6 @@ use MailPoet\API\JSON\Error as APIError;
use MailPoet\Config\AccessControl; use MailPoet\Config\AccessControl;
use MailPoet\Cron\CronHelper; use MailPoet\Cron\CronHelper;
use MailPoet\Cron\Workers\SendingQueue\Tasks\Newsletter as NewsletterQueueTask; use MailPoet\Cron\Workers\SendingQueue\Tasks\Newsletter as NewsletterQueueTask;
use MailPoet\Features\FeaturesController;
use MailPoet\Listing; use MailPoet\Listing;
use MailPoet\Models\Newsletter; use MailPoet\Models\Newsletter;
use MailPoet\Models\NewsletterOption; use MailPoet\Models\NewsletterOption;
@ -45,9 +44,6 @@ class Newsletters extends APIEndpoint {
/** @var SettingsController */ /** @var SettingsController */
private $settings; private $settings;
/** @var FeaturesController */
private $features_controller;
/** @var AuthorizedEmailsController */ /** @var AuthorizedEmailsController */
private $authorized_emails_controller; private $authorized_emails_controller;
@ -61,7 +57,6 @@ class Newsletters extends APIEndpoint {
WPFunctions $wp, WPFunctions $wp,
WCHelper $woocommerce_helper, WCHelper $woocommerce_helper,
SettingsController $settings, SettingsController $settings,
FeaturesController $features_controller,
AuthorizedEmailsController $authorized_emails_controller AuthorizedEmailsController $authorized_emails_controller
) { ) {
$this->bulk_action = $bulk_action; $this->bulk_action = $bulk_action;
@ -69,7 +64,6 @@ class Newsletters extends APIEndpoint {
$this->wp = $wp; $this->wp = $wp;
$this->woocommerce_helper = $woocommerce_helper; $this->woocommerce_helper = $woocommerce_helper;
$this->settings = $settings; $this->settings = $settings;
$this->features_controller = $features_controller;
$this->authorized_emails_controller = $authorized_emails_controller; $this->authorized_emails_controller = $authorized_emails_controller;
} }
@ -106,7 +100,7 @@ class Newsletters extends APIEndpoint {
->withOptions() ->withOptions()
->withSendingQueue() ->withSendingQueue()
->withTotalSent() ->withTotalSent()
->withStatistics($this->woocommerce_helper, $this->features_controller); ->withStatistics($this->woocommerce_helper);
$preview_url = NewsletterUrl::getViewInBrowserUrl( $preview_url = NewsletterUrl::getViewInBrowserUrl(
NewsletterUrl::TYPE_LISTING_EDITOR, NewsletterUrl::TYPE_LISTING_EDITOR,
@ -483,13 +477,13 @@ class Newsletters extends APIEndpoint {
$newsletter $newsletter
->withSegments(true) ->withSegments(true)
->withSendingQueue() ->withSendingQueue()
->withStatistics($this->woocommerce_helper, $this->features_controller); ->withStatistics($this->woocommerce_helper);
} else if ($newsletter->type === Newsletter::TYPE_WELCOME || $newsletter->type === Newsletter::TYPE_AUTOMATIC) { } else if ($newsletter->type === Newsletter::TYPE_WELCOME || $newsletter->type === Newsletter::TYPE_AUTOMATIC) {
$newsletter $newsletter
->withOptions() ->withOptions()
->withTotalSent() ->withTotalSent()
->withScheduledToBeSent() ->withScheduledToBeSent()
->withStatistics($this->woocommerce_helper, $this->features_controller); ->withStatistics($this->woocommerce_helper);
} else if ($newsletter->type === Newsletter::TYPE_NOTIFICATION) { } else if ($newsletter->type === Newsletter::TYPE_NOTIFICATION) {
$newsletter $newsletter
->withOptions() ->withOptions()
@ -499,7 +493,7 @@ class Newsletters extends APIEndpoint {
$newsletter $newsletter
->withSegments(true) ->withSegments(true)
->withSendingQueue() ->withSendingQueue()
->withStatistics($this->woocommerce_helper, $this->features_controller); ->withStatistics($this->woocommerce_helper);
} }
if ($newsletter->status === Newsletter::STATUS_SENT || if ($newsletter->status === Newsletter::STATUS_SENT ||

View File

@ -4,7 +4,6 @@ namespace MailPoet\AdminPages\Pages;
use MailPoet\AdminPages\PageRenderer; use MailPoet\AdminPages\PageRenderer;
use MailPoet\Config\Menu; use MailPoet\Config\Menu;
use MailPoet\Features\FeaturesController;
use MailPoet\WP\Functions as WPFunctions; use MailPoet\WP\Functions as WPFunctions;
if (!defined('ABSPATH')) exit; if (!defined('ABSPATH')) exit;
@ -16,23 +15,15 @@ class RevenueTrackingPermission {
/** @var WPFunctions */ /** @var WPFunctions */
private $wp; private $wp;
/** @var FeaturesController */
private $features_controller;
function __construct( function __construct(
PageRenderer $page_renderer, PageRenderer $page_renderer,
WPFunctions $wp, WPFunctions $wp
FeaturesController $features_controller
) { ) {
$this->page_renderer = $page_renderer; $this->page_renderer = $page_renderer;
$this->wp = $wp; $this->wp = $wp;
$this->features_controller = $features_controller;
} }
function render() { function render() {
if (!$this->features_controller->isSupported(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES)) {
return;
}
if ((bool)(defined('DOING_AJAX') && DOING_AJAX)) return; if ((bool)(defined('DOING_AJAX') && DOING_AJAX)) return;
$data = [ $data = [
'finish_wizard_url' => $this->wp->adminUrl('admin.php?page=' . Menu::MAIN_PAGE_SLUG), 'finish_wizard_url' => $this->wp->adminUrl('admin.php?page=' . Menu::MAIN_PAGE_SLUG),

View File

@ -6,7 +6,6 @@ use MailPoet\AdminPages\PageRenderer;
use MailPoet\Config\Installer; use MailPoet\Config\Installer;
use MailPoet\Config\ServicesChecker; use MailPoet\Config\ServicesChecker;
use MailPoet\Cron\CronTrigger; use MailPoet\Cron\CronTrigger;
use MailPoet\Features\FeaturesController;
use MailPoet\Models\Segment; use MailPoet\Models\Segment;
use MailPoet\Models\Subscriber; use MailPoet\Models\Subscriber;
use MailPoet\Services\Bridge; use MailPoet\Services\Bridge;
@ -40,9 +39,6 @@ class Settings {
/** @var Captcha */ /** @var Captcha */
private $captcha; private $captcha;
/** @var FeaturesController */
private $features_controller;
/** @var Installation */ /** @var Installation */
private $installation; private $installation;
@ -52,7 +48,6 @@ class Settings {
WooCommerceHelper $woocommerce_helper, WooCommerceHelper $woocommerce_helper,
WPFunctions $wp, WPFunctions $wp,
ServicesChecker $services_checker, ServicesChecker $services_checker,
FeaturesController $features_controller,
Installation $installation, Installation $installation,
Captcha $captcha Captcha $captcha
) { ) {
@ -61,7 +56,6 @@ class Settings {
$this->woocommerce_helper = $woocommerce_helper; $this->woocommerce_helper = $woocommerce_helper;
$this->wp = $wp; $this->wp = $wp;
$this->services_checker = $services_checker; $this->services_checker = $services_checker;
$this->features_controller = $features_controller;
$this->installation = $installation; $this->installation = $installation;
$this->captcha = $captcha; $this->captcha = $captcha;
} }
@ -89,7 +83,6 @@ class Settings {
'current_user' => $this->wp->wpGetCurrentUser(), 'current_user' => $this->wp->wpGetCurrentUser(),
'linux_cron_path' => dirname(dirname(__DIR__)), 'linux_cron_path' => dirname(dirname(__DIR__)),
'is_woocommerce_active' => $this->woocommerce_helper->isWooCommerceActive(), 'is_woocommerce_active' => $this->woocommerce_helper->isWooCommerceActive(),
'display_revenues' => $this->features_controller->isSupported(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES),
'ABSPATH' => ABSPATH, 'ABSPATH' => ABSPATH,
'hosts' => [ 'hosts' => [
'web' => Hosts::getWebHosts(), 'web' => Hosts::getWebHosts(),

View File

@ -2,7 +2,6 @@
namespace MailPoet\Config; namespace MailPoet\Config;
use MailPoet\Features\FeaturesController;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Util\Url; use MailPoet\Util\Url;
use MailPoet\WooCommerce\Helper; use MailPoet\WooCommerce\Helper;
@ -21,21 +20,16 @@ class Changelog {
/** @var Url */ /** @var Url */
private $url_helper; private $url_helper;
/** @var FeaturesController */
private $features_controller;
function __construct( function __construct(
SettingsController $settings, SettingsController $settings,
WPFunctions $wp, WPFunctions $wp,
Helper $wooCommerceHelper, Helper $wooCommerceHelper,
Url $url_helper, Url $url_helper
FeaturesController $features_controller
) { ) {
$this->wooCommerceHelper = $wooCommerceHelper; $this->wooCommerceHelper = $wooCommerceHelper;
$this->settings = $settings; $this->settings = $settings;
$this->wp = $wp; $this->wp = $wp;
$this->url_helper = $url_helper; $this->url_helper = $url_helper;
$this->features_controller = $features_controller;
} }
function init() { function init() {
@ -69,9 +63,7 @@ class Changelog {
$this->checkWelcomeWizard(); $this->checkWelcomeWizard();
} }
$this->checkWooCommerceListImportPage(); $this->checkWooCommerceListImportPage();
if ($this->features_controller->isSupported(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES)) { $this->checkRevenueTrackingPermissionPage();
$this->checkRevenueTrackingPermissionPage();
}
} }
private function checkMp2Migration($version) { private function checkMp2Migration($version) {

View File

@ -5,7 +5,6 @@ namespace MailPoet\Cron\Workers\StatsNotifications;
use Carbon\Carbon; use Carbon\Carbon;
use MailPoet\Config\Renderer; use MailPoet\Config\Renderer;
use MailPoet\Cron\CronHelper; use MailPoet\Cron\CronHelper;
use MailPoet\Features\FeaturesController;
use MailPoet\Mailer\Mailer; use MailPoet\Mailer\Mailer;
use MailPoet\Models\Newsletter; use MailPoet\Models\Newsletter;
use MailPoet\Models\NewsletterLink; use MailPoet\Models\NewsletterLink;
@ -33,9 +32,6 @@ class Worker {
/** @var SettingsController */ /** @var SettingsController */
private $settings; private $settings;
/** @var FeaturesController */
private $features_controller;
/** @var WCHelper */ /** @var WCHelper */
private $woocommerce_helper; private $woocommerce_helper;
@ -43,7 +39,6 @@ class Worker {
Mailer $mailer, Mailer $mailer,
Renderer $renderer, Renderer $renderer,
SettingsController $settings, SettingsController $settings,
FeaturesController $features_controller,
WCHelper $woocommerce_helper, WCHelper $woocommerce_helper,
$timer = false $timer = false
) { ) {
@ -51,7 +46,6 @@ class Worker {
$this->renderer = $renderer; $this->renderer = $renderer;
$this->mailer = $mailer; $this->mailer = $mailer;
$this->settings = $settings; $this->settings = $settings;
$this->features_controller = $features_controller;
$this->woocommerce_helper = $woocommerce_helper; $this->woocommerce_helper = $woocommerce_helper;
} }
@ -109,7 +103,7 @@ class Worker {
return $newsletter return $newsletter
->withSendingQueue() ->withSendingQueue()
->withTotalSent() ->withTotalSent()
->withStatistics($this->woocommerce_helper, $this->features_controller); ->withStatistics($this->woocommerce_helper);
} }
/** /**

View File

@ -2,7 +2,6 @@
namespace MailPoet\Cron\Workers; namespace MailPoet\Cron\Workers;
use Carbon\Carbon; use Carbon\Carbon;
use MailPoet\Features\FeaturesController;
use MailPoet\Models\ScheduledTask; use MailPoet\Models\ScheduledTask;
use MailPoet\Models\StatisticsClicks; use MailPoet\Models\StatisticsClicks;
use MailPoet\Statistics\Track\WooCommercePurchases; use MailPoet\Statistics\Track\WooCommercePurchases;
@ -21,25 +20,17 @@ class WooCommerceOrders extends SimpleWorker {
/** @var WooCommercePurchases */ /** @var WooCommercePurchases */
private $woocommerce_purchases; private $woocommerce_purchases;
/** @var FeaturesController */
private $features_controller;
function __construct( function __construct(
WCHelper $woocommerce_helper, WCHelper $woocommerce_helper,
WooCommercePurchases $woocommerce_purchases, WooCommercePurchases $woocommerce_purchases,
FeaturesController $features_controller,
$timer = false $timer = false
) { ) {
$this->woocommerce_helper = $woocommerce_helper; $this->woocommerce_helper = $woocommerce_helper;
$this->woocommerce_purchases = $woocommerce_purchases; $this->woocommerce_purchases = $woocommerce_purchases;
$this->features_controller = $features_controller;
parent::__construct($timer); parent::__construct($timer);
} }
function checkProcessingRequirements() { function checkProcessingRequirements() {
if (!$this->features_controller->isSupported(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES)) {
return false;
}
return $this->woocommerce_helper->isWooCommerceActive() && empty(self::getCompletedTasks()); // run only once return $this->woocommerce_helper->isWooCommerceActive() && empty(self::getCompletedTasks()); // run only once
} }

View File

@ -14,7 +14,6 @@ use MailPoet\Cron\Workers\KeyCheck\PremiumKeyCheck as PremiumKeyCheckWorker;
use MailPoet\Cron\Workers\KeyCheck\SendingServiceKeyCheck as SendingServiceKeyCheckWorker; use MailPoet\Cron\Workers\KeyCheck\SendingServiceKeyCheck as SendingServiceKeyCheckWorker;
use MailPoet\Cron\Workers\WooCommerceSync as WooCommerceSyncWorker; use MailPoet\Cron\Workers\WooCommerceSync as WooCommerceSyncWorker;
use MailPoet\Cron\Workers\SendingQueue\SendingErrorHandler; use MailPoet\Cron\Workers\SendingQueue\SendingErrorHandler;
use MailPoet\Features\FeaturesController;
use MailPoet\Segments\SubscribersFinder; use MailPoet\Segments\SubscribersFinder;
use MailPoet\Segments\WooCommerce as WooCommerceSegment; use MailPoet\Segments\WooCommerce as WooCommerceSegment;
use MailPoet\Services\AuthorizedEmailsController; use MailPoet\Services\AuthorizedEmailsController;
@ -39,9 +38,6 @@ class WorkersFactory {
/** @var SettingsController */ /** @var SettingsController */
private $settings; private $settings;
/** @var FeaturesController */
private $features_controller;
/** @var WooCommerceSegment */ /** @var WooCommerceSegment */
private $woocommerce_segment; private $woocommerce_segment;
@ -71,7 +67,6 @@ class WorkersFactory {
Mailer $mailer, Mailer $mailer,
Renderer $renderer, Renderer $renderer,
SettingsController $settings, SettingsController $settings,
FeaturesController $features_controller,
WooCommerceSegment $woocommerce_segment, WooCommerceSegment $woocommerce_segment,
InactiveSubscribersController $inactive_subscribers_controller, InactiveSubscribersController $inactive_subscribers_controller,
WooCommerceHelper $woocommerce_helper, WooCommerceHelper $woocommerce_helper,
@ -84,7 +79,6 @@ class WorkersFactory {
$this->mailer = $mailer; $this->mailer = $mailer;
$this->renderer = $renderer; $this->renderer = $renderer;
$this->settings = $settings; $this->settings = $settings;
$this->features_controller = $features_controller;
$this->woocommerce_segment = $woocommerce_segment; $this->woocommerce_segment = $woocommerce_segment;
$this->inactive_subscribers_controller = $inactive_subscribers_controller; $this->inactive_subscribers_controller = $inactive_subscribers_controller;
$this->woocommerce_helper = $woocommerce_helper; $this->woocommerce_helper = $woocommerce_helper;
@ -105,7 +99,7 @@ class WorkersFactory {
/** @return StatsNotificationsWorker */ /** @return StatsNotificationsWorker */
function createStatsNotificationsWorker($timer) { function createStatsNotificationsWorker($timer) {
return new StatsNotificationsWorker($this->mailer, $this->renderer, $this->settings, $this->features_controller, $this->woocommerce_helper, $timer); return new StatsNotificationsWorker($this->mailer, $this->renderer, $this->settings, $this->woocommerce_helper, $timer);
} }
/** @return StatsNotificationsWorkerForAutomatedEmails */ /** @return StatsNotificationsWorkerForAutomatedEmails */
@ -160,6 +154,6 @@ class WorkersFactory {
/** @return WooCommerceOrders */ /** @return WooCommerceOrders */
function createWooCommerceOrdersWorker($timer) { function createWooCommerceOrdersWorker($timer) {
return new WooCommerceOrders($this->woocommerce_helper, $this->woocommerce_purchases, $this->features_controller, $timer); return new WooCommerceOrders($this->woocommerce_helper, $this->woocommerce_purchases, $timer);
} }
} }

View File

@ -8,12 +8,10 @@ class FeaturesController {
// Define features below in the following form: // Define features below in the following form:
// const FEATURE_NAME_OF_FEATURE = 'name-of-feature'; // const FEATURE_NAME_OF_FEATURE = 'name-of-feature';
const FEATURE_DISPLAY_WOOCOMMERCE_REVENUES = 'display-woocommerce-revenues'; // may also have 'display_revenues' setting
// Define feature defaults in the array below in the following form: // Define feature defaults in the array below in the following form:
// self::FEATURE_NAME_OF_FEATURE => true, // self::FEATURE_NAME_OF_FEATURE => true,
private $defaults = [ private $defaults = [
self::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES => false,
]; ];
/** @var array */ /** @var array */

View File

@ -1,7 +1,6 @@
<?php <?php
namespace MailPoet\Models; namespace MailPoet\Models;
use Carbon\Carbon; use Carbon\Carbon;
use MailPoet\Features\FeaturesController;
use MailPoet\Newsletter\Renderer\Renderer; use MailPoet\Newsletter\Renderer\Renderer;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Tasks\Sending as SendingTask; use MailPoet\Tasks\Sending as SendingTask;
@ -560,8 +559,8 @@ class Newsletter extends Model {
return $this; return $this;
} }
function withStatistics(WCHelper $woocommerce_helper, FeaturesController $features_controller) { function withStatistics(WCHelper $woocommerce_helper) {
$statistics = $this->getStatistics($woocommerce_helper, $features_controller); $statistics = $this->getStatistics($woocommerce_helper);
$this->statistics = $statistics; $this->statistics = $statistics;
return $this; return $this;
} }
@ -571,7 +570,7 @@ class Newsletter extends Model {
return $renderer->render(); return $renderer->render();
} }
function getStatistics(WCHelper $woocommerce_helper, FeaturesController $features_controller) { function getStatistics(WCHelper $woocommerce_helper) {
if (($this->type !== self::TYPE_WELCOME) && ($this->queue === false)) { if (($this->type !== self::TYPE_WELCOME) && ($this->queue === false)) {
return false; return false;
} }
@ -600,10 +599,7 @@ class Newsletter extends Model {
} }
// WooCommerce revenues // WooCommerce revenues
if ( if ($woocommerce_helper->isWooCommerceActive()) {
$features_controller->isSupported(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES)
&& $woocommerce_helper->isWooCommerceActive()
) {
$currency = $woocommerce_helper->getWoocommerceCurrency(); $currency = $woocommerce_helper->getWoocommerceCurrency();
$row = StatisticsWooCommercePurchases::selectExpr('SUM(order_price_total) AS total') $row = StatisticsWooCommercePurchases::selectExpr('SUM(order_price_total) AS total')
->selectExpr('count(*)', 'count') ->selectExpr('count(*)', 'count')

View File

@ -2,7 +2,6 @@
namespace MailPoet\Test\Acceptance; namespace MailPoet\Test\Acceptance;
class FreePlanAnnouncementCest { class FreePlanAnnouncementCest {
const NOTICE_SELECTOR = '[data-automation-id="free-plan-announcement"]'; const NOTICE_SELECTOR = '[data-automation-id="free-plan-announcement"]';

View File

@ -2,8 +2,6 @@
namespace MailPoet\Test\Acceptance; namespace MailPoet\Test\Acceptance;
use MailPoet\Features\FeaturesController;
use MailPoet\Test\DataFactories\Features;
use MailPoet\Test\DataFactories\Newsletter; use MailPoet\Test\DataFactories\Newsletter;
use MailPoet\Test\DataFactories\NewsletterLink; use MailPoet\Test\DataFactories\NewsletterLink;
use MailPoet\Test\DataFactories\Settings; use MailPoet\Test\DataFactories\Settings;
@ -17,17 +15,12 @@ class NewsletterStatisticsCest {
/** @var Settings */ /** @var Settings */
private $settings; private $settings;
/** @var Features */ protected function _inject(Settings $settings) {
private $features;
protected function _inject(Settings $settings, Features $features) {
$this->settings = $settings; $this->settings = $settings;
$this->features = $features;
} }
function _before(\AcceptanceTester $I) { function _before(\AcceptanceTester $I) {
$I->activateWooCommerce(); $I->activateWooCommerce();
$this->features->withFeatureEnabled(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES);
$this->settings->withWooCommerceListImportPageDisplayed(true); $this->settings->withWooCommerceListImportPageDisplayed(true);
$this->settings->withCookieRevenueTrackingDisabled(); $this->settings->withCookieRevenueTrackingDisabled();
} }

View File

@ -3,12 +3,9 @@
namespace MailPoet\Test\Acceptance; namespace MailPoet\Test\Acceptance;
use Codeception\Util\Locator; use Codeception\Util\Locator;
use MailPoet\Features\FeaturesController;
use MailPoet\Test\DataFactories\Features;
use MailPoet\Test\DataFactories\Newsletter; use MailPoet\Test\DataFactories\Newsletter;
use MailPoet\Test\DataFactories\Settings; use MailPoet\Test\DataFactories\Settings;
require_once __DIR__ . '/../DataFactories/Features.php';
require_once __DIR__ . '/../DataFactories/Newsletter.php'; require_once __DIR__ . '/../DataFactories/Newsletter.php';
require_once __DIR__ . '/../DataFactories/Settings.php'; require_once __DIR__ . '/../DataFactories/Settings.php';
@ -17,17 +14,12 @@ class RevenueTrackingCookieCest {
/** @var Settings */ /** @var Settings */
private $settings; private $settings;
/** @var Features */ protected function _inject(Settings $settings) {
private $features;
protected function _inject(Settings $settings, Features $features) {
$this->settings = $settings; $this->settings = $settings;
$this->features = $features;
} }
function _before(\AcceptanceTester $I) { function _before(\AcceptanceTester $I) {
$I->activateWooCommerce(); $I->activateWooCommerce();
$this->features->withFeatureEnabled(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES);
} }
function _after(\AcceptanceTester $I) { function _after(\AcceptanceTester $I) {

View File

@ -8,7 +8,6 @@ use Codeception\Util\Fixtures;
use Codeception\Util\Stub; use Codeception\Util\Stub;
use Helper\WordPressHooks as WPHooksHelper; use Helper\WordPressHooks as WPHooksHelper;
use MailPoet\API\JSON\Response as APIResponse; use MailPoet\API\JSON\Response as APIResponse;
use MailPoet\Features\FeaturesController;
use MailPoet\Listing\BulkActionController; use MailPoet\Listing\BulkActionController;
use MailPoet\Listing\Handler; use MailPoet\Listing\Handler;
use MailPoet\API\JSON\v1\Newsletters; use MailPoet\API\JSON\v1\Newsletters;
@ -127,7 +126,6 @@ class NewslettersTest extends \MailPoetTest {
$wp, $wp,
$this->makeEmpty(WCHelper::class), $this->makeEmpty(WCHelper::class),
new SettingsController(), new SettingsController(),
new FeaturesController(),
$this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::never()]) $this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::never()])
); );
$response = $this->endpoint->get(['id' => $this->newsletter->id]); $response = $this->endpoint->get(['id' => $this->newsletter->id]);
@ -168,7 +166,6 @@ class NewslettersTest extends \MailPoetTest {
$wp, $wp,
$this->makeEmpty(WCHelper::class), $this->makeEmpty(WCHelper::class),
new SettingsController(), new SettingsController(),
new FeaturesController(),
$this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::once()]) $this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::once()])
); );
@ -536,7 +533,6 @@ class NewslettersTest extends \MailPoetTest {
$wp, $wp,
$this->makeEmpty(WCHelper::class), $this->makeEmpty(WCHelper::class),
new SettingsController(), new SettingsController(),
new FeaturesController(),
$this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::never()]) $this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::never()])
); );

View File

@ -3,7 +3,6 @@
namespace MailPoet\Cron\Workers\StatsNotifications; namespace MailPoet\Cron\Workers\StatsNotifications;
use MailPoet\Config\Renderer; use MailPoet\Config\Renderer;
use MailPoet\Features\FeaturesController;
use MailPoet\Mailer\Mailer; use MailPoet\Mailer\Mailer;
use MailPoet\Models\Newsletter; use MailPoet\Models\Newsletter;
use MailPoet\Models\NewsletterLink; use MailPoet\Models\NewsletterLink;
@ -46,7 +45,7 @@ class WorkerTest extends \MailPoetTest {
$this->mailer = $this->createMock(Mailer::class); $this->mailer = $this->createMock(Mailer::class);
$this->renderer = $this->createMock(Renderer::class); $this->renderer = $this->createMock(Renderer::class);
$this->settings = new SettingsController(); $this->settings = new SettingsController();
$this->stats_notifications = new Worker($this->mailer, $this->renderer, $this->settings, new FeaturesController(), $this->makeEmpty(WCHelper::class)); $this->stats_notifications = new Worker($this->mailer, $this->renderer, $this->settings, $this->makeEmpty(WCHelper::class));
$this->settings->set(Worker::SETTINGS_KEY, [ $this->settings->set(Worker::SETTINGS_KEY, [
'enabled' => true, 'enabled' => true,
'address' => 'email@example.com', 'address' => 'email@example.com',

View File

@ -4,8 +4,6 @@ namespace MailPoet\Test\Cron\Workers;
use DateTime; use DateTime;
use MailPoet\Cron\Workers\WooCommerceOrders; use MailPoet\Cron\Workers\WooCommerceOrders;
use MailPoet\Features\FeaturesController;
use MailPoet\Models\FeatureFlag;
use MailPoet\Models\ScheduledTask; use MailPoet\Models\ScheduledTask;
use MailPoet\Models\StatisticsClicks; use MailPoet\Models\StatisticsClicks;
use MailPoet\Statistics\Track\WooCommercePurchases; use MailPoet\Statistics\Track\WooCommercePurchases;
@ -26,11 +24,7 @@ class WooCommerceOrdersTest extends \MailPoetTest {
$this->woocommerce_helper = $this->createMock(WooCommerceHelper::class); $this->woocommerce_helper = $this->createMock(WooCommerceHelper::class);
$this->woocommerce_purchases = $this->createMock(WooCommercePurchases::class); $this->woocommerce_purchases = $this->createMock(WooCommercePurchases::class);
FeatureFlag::createOrUpdate([ $this->worker = new WooCommerceOrders($this->woocommerce_helper, $this->woocommerce_purchases, microtime(true));
'name' => FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES,
'value' => true,
]);
$this->worker = new WooCommerceOrders($this->woocommerce_helper, $this->woocommerce_purchases, new FeaturesController(), microtime(true));
} }
function testItDoesNotRunIfWooCommerceIsDisabled() { function testItDoesNotRunIfWooCommerceIsDisabled() {
@ -146,7 +140,6 @@ class WooCommerceOrdersTest extends \MailPoetTest {
} }
private function cleanup() { private function cleanup() {
\ORM::raw_execute('TRUNCATE ' . FeatureFlag::$_table);
\ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table); \ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);
\ORM::raw_execute('TRUNCATE ' . StatisticsClicks::$_table); \ORM::raw_execute('TRUNCATE ' . StatisticsClicks::$_table);
} }

View File

@ -2,7 +2,6 @@
namespace MailPoet\Test\Models; namespace MailPoet\Test\Models;
use Carbon\Carbon; use Carbon\Carbon;
use MailPoet\Features\FeaturesController;
use MailPoet\Models\Newsletter; use MailPoet\Models\Newsletter;
use MailPoet\Models\Segment; use MailPoet\Models\Segment;
use MailPoet\Models\Subscriber; use MailPoet\Models\Subscriber;
@ -171,7 +170,7 @@ class NewsletterTest extends \MailPoetTest {
$unsubscribes->save(); $unsubscribes->save();
$newsletter->queue = $newsletter->getQueue()->asArray(); $newsletter->queue = $newsletter->getQueue()->asArray();
$statistics = $newsletter->getStatistics($this->makeEmpty(WCHelper::class), new FeaturesController()); $statistics = $newsletter->getStatistics($this->makeEmpty(WCHelper::class));
expect($statistics['opened'])->equals(1); expect($statistics['opened'])->equals(1);
expect($statistics['clicked'])->equals(1); expect($statistics['clicked'])->equals(1);
expect($statistics['unsubscribed'])->equals(1); expect($statistics['unsubscribed'])->equals(1);

View File

@ -80,33 +80,31 @@
</p> </p>
</td> </td>
</tr> </tr>
<% if display_revenues %> <tr>
<tr> <th scope="row">
<th scope="row"> <label for="settings[mailpoet_accept_cookie_revenue_tracking]">
<label for="settings[mailpoet_accept_cookie_revenue_tracking]"> <%= _x('Enable browser cookies', 'Option in settings page: the user can accept or forbid MailPoet to use browser cookies') %>
<%= _x('Enable browser cookies', 'Option in settings page: the user can accept or forbid MailPoet to use browser cookies') %> </label>
</label> <p class="description">
<p class="description"> <%= _x('If you enable this option, MailPoet will use browser cookies for more precise WooCommerce tracking. This is practical for abandoned cart emails for example.', 'Browser cookies are data created by websites and stored in visitors web browser') %>
<%= _x('If you enable this option, MailPoet will use browser cookies for more precise WooCommerce tracking. This is practical for abandoned cart emails for example.', 'Browser cookies are data created by websites and stored in visitors web browser') %> </p>
</p> </th>
</th> <td>
<td> <p>
<p> <input
<input type="checkbox"
type="checkbox" value="1"
value="1" id="settings[mailpoet_accept_cookie_revenue_tracking]"
id="settings[mailpoet_accept_cookie_revenue_tracking]" data-automation-id="accept_cookie_revenue_tracking"
data-automation-id="accept_cookie_revenue_tracking" name="woocommerce[accept_cookie_revenue_tracking][enabled]"
name="woocommerce[accept_cookie_revenue_tracking][enabled]" <% if(settings.woocommerce.accept_cookie_revenue_tracking.enabled == "1") %>checked="checked"<% endif %>
<% if(settings.woocommerce.accept_cookie_revenue_tracking.enabled == "1") %>checked="checked"<% endif %> >
> <input
<input type="hidden"
type="hidden" value="1"
value="1" name="woocommerce[accept_cookie_revenue_tracking][set]"
name="woocommerce[accept_cookie_revenue_tracking][set]" >
> </p>
</p> </td>
</td> </tr>
</tr>
<% endif %>
</table> </table>