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