Remove Coupon block feature flag
MAILPOET-4978
This commit is contained in:
committed by
Aschepikov
parent
87e5ea8dfd
commit
3b9cbbfc61
@ -8,11 +8,8 @@ import ReactDOM from 'react-dom';
|
|||||||
import _ from 'underscore';
|
import _ from 'underscore';
|
||||||
import jQuery from 'jquery';
|
import jQuery from 'jquery';
|
||||||
import 'backbone.marionette';
|
import 'backbone.marionette';
|
||||||
import { MailPoet } from 'mailpoet';
|
|
||||||
import { Settings } from './coupon/settings';
|
import { Settings } from './coupon/settings';
|
||||||
|
|
||||||
export const FEATURE_COUPON_BLOCK = 'Coupon block';
|
|
||||||
|
|
||||||
const Module: Record<string, (...args: unknown[]) => void> = {};
|
const Module: Record<string, (...args: unknown[]) => void> = {};
|
||||||
const base = BaseBlock;
|
const base = BaseBlock;
|
||||||
|
|
||||||
@ -286,10 +283,7 @@ Module.CouponWidgetView = base.WidgetView.extend({
|
|||||||
});
|
});
|
||||||
|
|
||||||
App.on('before:start', (BeforeStartApp) => {
|
App.on('before:start', (BeforeStartApp) => {
|
||||||
if (
|
if (!window.MailPoet.isWoocommerceActive) {
|
||||||
!MailPoet.FeaturesController.isSupported(FEATURE_COUPON_BLOCK) ||
|
|
||||||
!window.MailPoet.isWoocommerceActive
|
|
||||||
) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
BeforeStartApp.registerBlockType('coupon', {
|
BeforeStartApp.registerBlockType('coupon', {
|
||||||
|
@ -6,16 +6,12 @@ use MailPoetVendor\Doctrine\DBAL\Exception\TableNotFoundException;
|
|||||||
|
|
||||||
class FeaturesController {
|
class FeaturesController {
|
||||||
const FEATURE_HOMEPAGE = 'homepage';
|
const FEATURE_HOMEPAGE = 'homepage';
|
||||||
|
|
||||||
const FEATURE_COUPON_BLOCK = 'Coupon block';
|
|
||||||
|
|
||||||
const LANDINGPAGE_AB_TEST_DEBUGGER = 'landingpage_ab_test_debugger';
|
const LANDINGPAGE_AB_TEST_DEBUGGER = 'landingpage_ab_test_debugger';
|
||||||
|
|
||||||
// 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_HOMEPAGE => false,
|
self::FEATURE_HOMEPAGE => false,
|
||||||
self::FEATURE_COUPON_BLOCK => false,
|
|
||||||
self::LANDINGPAGE_AB_TEST_DEBUGGER => false,
|
self::LANDINGPAGE_AB_TEST_DEBUGGER => false,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
namespace MailPoet\Newsletter\Renderer;
|
namespace MailPoet\Newsletter\Renderer;
|
||||||
|
|
||||||
use MailPoet\Entities\NewsletterEntity;
|
use MailPoet\Entities\NewsletterEntity;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Newsletter\Renderer\Blocks\AbandonedCartContent;
|
use MailPoet\Newsletter\Renderer\Blocks\AbandonedCartContent;
|
||||||
use MailPoet\Newsletter\Renderer\Blocks\AutomatedLatestContentBlock;
|
use MailPoet\Newsletter\Renderer\Blocks\AutomatedLatestContentBlock;
|
||||||
use MailPoet\Tasks\Sending as SendingTask;
|
use MailPoet\Tasks\Sending as SendingTask;
|
||||||
@ -32,21 +31,16 @@ class Preprocessor {
|
|||||||
/*** @var CouponPreProcessor */
|
/*** @var CouponPreProcessor */
|
||||||
private $couponPreProcessor;
|
private $couponPreProcessor;
|
||||||
|
|
||||||
/*** @var FeaturesController */
|
|
||||||
private $featuresController;
|
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
AbandonedCartContent $abandonedCartContent,
|
AbandonedCartContent $abandonedCartContent,
|
||||||
AutomatedLatestContentBlock $automatedLatestContent,
|
AutomatedLatestContentBlock $automatedLatestContent,
|
||||||
ContentPreprocessor $wooCommerceContentPreprocessor,
|
ContentPreprocessor $wooCommerceContentPreprocessor,
|
||||||
CouponPreProcessor $couponPreProcessor,
|
CouponPreProcessor $couponPreProcessor
|
||||||
FeaturesController $featuresController
|
|
||||||
) {
|
) {
|
||||||
$this->abandonedCartContent = $abandonedCartContent;
|
$this->abandonedCartContent = $abandonedCartContent;
|
||||||
$this->automatedLatestContent = $automatedLatestContent;
|
$this->automatedLatestContent = $automatedLatestContent;
|
||||||
$this->wooCommerceContentPreprocessor = $wooCommerceContentPreprocessor;
|
$this->wooCommerceContentPreprocessor = $wooCommerceContentPreprocessor;
|
||||||
$this->couponPreProcessor = $couponPreProcessor;
|
$this->couponPreProcessor = $couponPreProcessor;
|
||||||
$this->featuresController = $featuresController;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -60,9 +54,9 @@ class Preprocessor {
|
|||||||
}
|
}
|
||||||
$blocks = [];
|
$blocks = [];
|
||||||
$contentBlocks = $content['blocks'];
|
$contentBlocks = $content['blocks'];
|
||||||
if ($this->featuresController->isSupported(FeaturesController::FEATURE_COUPON_BLOCK)) {
|
|
||||||
$contentBlocks = $this->couponPreProcessor->processCoupons($newsletter, $contentBlocks, $preview);
|
$contentBlocks = $this->couponPreProcessor->processCoupons($newsletter, $contentBlocks, $preview);
|
||||||
}
|
|
||||||
foreach ($contentBlocks as $block) {
|
foreach ($contentBlocks as $block) {
|
||||||
$processedBlock = $this->processBlock($newsletter, $block, $preview, $sendingTask);
|
$processedBlock = $this->processBlock($newsletter, $block, $preview, $sendingTask);
|
||||||
if (!empty($processedBlock)) {
|
if (!empty($processedBlock)) {
|
||||||
|
@ -2,19 +2,13 @@
|
|||||||
|
|
||||||
namespace MailPoet\Test\Acceptance;
|
namespace MailPoet\Test\Acceptance;
|
||||||
|
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Newsletter\Renderer\Blocks\Coupon;
|
use MailPoet\Newsletter\Renderer\Blocks\Coupon;
|
||||||
use MailPoet\Test\DataFactories\Features;
|
|
||||||
use MailPoet\Test\DataFactories\Newsletter;
|
use MailPoet\Test\DataFactories\Newsletter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @group woo
|
* @group woo
|
||||||
*/
|
*/
|
||||||
class EditorCouponCest {
|
class EditorCouponCest {
|
||||||
public function _before() {
|
|
||||||
(new Features())->withFeatureEnabled(FeaturesController::FEATURE_COUPON_BLOCK);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function addCoupon(\AcceptanceTester $i) {
|
public function addCoupon(\AcceptanceTester $i) {
|
||||||
$couponInEditor = '[data-automation-id="coupon_block"]';
|
$couponInEditor = '[data-automation-id="coupon_block"]';
|
||||||
$couponSettingsHeading = '[data-automation-id="coupon_settings_heading"]';
|
$couponSettingsHeading = '[data-automation-id="coupon_settings_heading"]';
|
||||||
|
@ -16,7 +16,6 @@ use MailPoet\Entities\NewsletterPostEntity;
|
|||||||
use MailPoet\Entities\ScheduledTaskEntity;
|
use MailPoet\Entities\ScheduledTaskEntity;
|
||||||
use MailPoet\Entities\SendingQueueEntity;
|
use MailPoet\Entities\SendingQueueEntity;
|
||||||
use MailPoet\Entities\SubscriberEntity;
|
use MailPoet\Entities\SubscriberEntity;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Logging\LoggerFactory;
|
use MailPoet\Logging\LoggerFactory;
|
||||||
use MailPoet\Mailer\MailerLog;
|
use MailPoet\Mailer\MailerLog;
|
||||||
use MailPoet\Newsletter\NewsletterPostsRepository;
|
use MailPoet\Newsletter\NewsletterPostsRepository;
|
||||||
@ -26,7 +25,6 @@ use MailPoet\Newsletter\Sending\SendingQueuesRepository;
|
|||||||
use MailPoet\Router\Router;
|
use MailPoet\Router\Router;
|
||||||
use MailPoet\Settings\SettingsRepository;
|
use MailPoet\Settings\SettingsRepository;
|
||||||
use MailPoet\Tasks\Sending as SendingTask;
|
use MailPoet\Tasks\Sending as SendingTask;
|
||||||
use MailPoet\Test\DataFactories\Features;
|
|
||||||
use MailPoet\Test\DataFactories\Newsletter as NewsletterFactory;
|
use MailPoet\Test\DataFactories\Newsletter as NewsletterFactory;
|
||||||
use MailPoet\Test\DataFactories\Subscriber as SubscriberFactory;
|
use MailPoet\Test\DataFactories\Subscriber as SubscriberFactory;
|
||||||
use MailPoet\WooCommerce\Helper;
|
use MailPoet\WooCommerce\Helper;
|
||||||
@ -487,8 +485,6 @@ class NewsletterTest extends \MailPoetTest {
|
|||||||
* @group woo
|
* @group woo
|
||||||
*/
|
*/
|
||||||
public function testItGeneratesWooCommerceCouponForCouponBlock(): void {
|
public function testItGeneratesWooCommerceCouponForCouponBlock(): void {
|
||||||
(new Features())->withFeatureEnabled(FeaturesController::FEATURE_COUPON_BLOCK);
|
|
||||||
|
|
||||||
$newsletter = (new NewsletterFactory())
|
$newsletter = (new NewsletterFactory())
|
||||||
->loadBodyFrom('newsletterWithCoupon.json')
|
->loadBodyFrom('newsletterWithCoupon.json')
|
||||||
->withType(NewsletterEntity::TYPE_STANDARD)
|
->withType(NewsletterEntity::TYPE_STANDARD)
|
||||||
|
@ -5,7 +5,6 @@ namespace MailPoet\WooCommerce\TransactionalEmails;
|
|||||||
use Codeception\Stub;
|
use Codeception\Stub;
|
||||||
use MailPoet\Config\ServicesChecker;
|
use MailPoet\Config\ServicesChecker;
|
||||||
use MailPoet\Entities\NewsletterEntity;
|
use MailPoet\Entities\NewsletterEntity;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Models\Newsletter;
|
use MailPoet\Models\Newsletter;
|
||||||
use MailPoet\Newsletter\Editor\LayoutHelper as L;
|
use MailPoet\Newsletter\Editor\LayoutHelper as L;
|
||||||
use MailPoet\Newsletter\NewslettersRepository;
|
use MailPoet\Newsletter\NewslettersRepository;
|
||||||
@ -111,8 +110,7 @@ class RendererTest extends \MailPoetTest {
|
|||||||
$this->diContainer->get(\MailPoet\Newsletter\Renderer\Blocks\AbandonedCartContent::class),
|
$this->diContainer->get(\MailPoet\Newsletter\Renderer\Blocks\AbandonedCartContent::class),
|
||||||
$this->diContainer->get(\MailPoet\Newsletter\Renderer\Blocks\AutomatedLatestContentBlock::class),
|
$this->diContainer->get(\MailPoet\Newsletter\Renderer\Blocks\AutomatedLatestContentBlock::class),
|
||||||
$wooPreprocessor,
|
$wooPreprocessor,
|
||||||
$this->diContainer->get(\MailPoet\WooCommerce\CouponPreProcessor::class),
|
$this->diContainer->get(\MailPoet\WooCommerce\CouponPreProcessor::class)
|
||||||
$this->diContainer->get(FeaturesController::class)
|
|
||||||
),
|
),
|
||||||
$this->diContainer->get(\MailPoetVendor\CSS::class),
|
$this->diContainer->get(\MailPoetVendor\CSS::class),
|
||||||
$this->diContainer->get(ServicesChecker::class),
|
$this->diContainer->get(ServicesChecker::class),
|
||||||
|
@ -4,7 +4,6 @@ namespace MailPoet\Test\Newsletter;
|
|||||||
|
|
||||||
use Codeception\Stub;
|
use Codeception\Stub;
|
||||||
use MailPoet\Entities\NewsletterEntity;
|
use MailPoet\Entities\NewsletterEntity;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Newsletter\Renderer\Blocks\AbandonedCartContent;
|
use MailPoet\Newsletter\Renderer\Blocks\AbandonedCartContent;
|
||||||
use MailPoet\Newsletter\Renderer\Blocks\AutomatedLatestContentBlock;
|
use MailPoet\Newsletter\Renderer\Blocks\AutomatedLatestContentBlock;
|
||||||
use MailPoet\Newsletter\Renderer\Preprocessor;
|
use MailPoet\Newsletter\Renderer\Preprocessor;
|
||||||
@ -23,8 +22,7 @@ class PreprocessorTest extends \MailPoetUnitTest {
|
|||||||
],
|
],
|
||||||
]);
|
]);
|
||||||
$wooPreprocessor = new TransactionalEmails\ContentPreprocessor($transactionalEmails);
|
$wooPreprocessor = new TransactionalEmails\ContentPreprocessor($transactionalEmails);
|
||||||
$featuresController = Stub::make(FeaturesController::class);
|
$preprocessor = new Preprocessor($acc, $alc, $wooPreprocessor, $couponPreProcessor);
|
||||||
$preprocessor = new Preprocessor($acc, $alc, $wooPreprocessor, $couponPreProcessor, $featuresController);
|
|
||||||
expect($preprocessor->processBlock(new NewsletterEntity(), ['type' => 'woocommerceHeading']))->equals([[
|
expect($preprocessor->processBlock(new NewsletterEntity(), ['type' => 'woocommerceHeading']))->equals([[
|
||||||
'type' => 'container',
|
'type' => 'container',
|
||||||
'orientation' => 'horizontal',
|
'orientation' => 'horizontal',
|
||||||
@ -52,8 +50,7 @@ class PreprocessorTest extends \MailPoetUnitTest {
|
|||||||
$alc = Stub::make(AutomatedLatestContentBlock::class);
|
$alc = Stub::make(AutomatedLatestContentBlock::class);
|
||||||
$couponPreProcessor = Stub::make(CouponPreProcessor::class);
|
$couponPreProcessor = Stub::make(CouponPreProcessor::class);
|
||||||
$wooPreprocessor = new TransactionalEmails\ContentPreprocessor(Stub::make(TransactionalEmails::class));
|
$wooPreprocessor = new TransactionalEmails\ContentPreprocessor(Stub::make(TransactionalEmails::class));
|
||||||
$featuresController = Stub::make(FeaturesController::class);
|
$preprocessor = new Preprocessor($acc, $alc, $wooPreprocessor, $couponPreProcessor);
|
||||||
$preprocessor = new Preprocessor($acc, $alc, $wooPreprocessor, $couponPreProcessor, $featuresController);
|
|
||||||
expect($preprocessor->processBlock(new NewsletterEntity(), ['type' => 'woocommerceContent']))->equals([[
|
expect($preprocessor->processBlock(new NewsletterEntity(), ['type' => 'woocommerceContent']))->equals([[
|
||||||
'type' => 'container',
|
'type' => 'container',
|
||||||
'orientation' => 'horizontal',
|
'orientation' => 'horizontal',
|
||||||
|
Reference in New Issue
Block a user