Use DI in abandoned cart event
[MAILPOET-3924]
This commit is contained in:
@@ -29,12 +29,18 @@ class AbandonedCart {
|
||||
/** @var AutomaticEmailScheduler */
|
||||
private $scheduler;
|
||||
|
||||
public function __construct() {
|
||||
$this->wp = WPFunctions::get();
|
||||
$this->wooCommerceHelper = new WooCommerceHelper();
|
||||
$this->cookies = new Cookies();
|
||||
$this->pageVisitTracker = new AbandonedCartPageVisitTracker($this->wp, $this->wooCommerceHelper, $this->cookies);
|
||||
$this->scheduler = new AutomaticEmailScheduler();
|
||||
public function __construct(
|
||||
WPFunctions $wp,
|
||||
WooCommerceHelper $wooCommerceHelper,
|
||||
Cookies $cookies,
|
||||
AbandonedCartPageVisitTracker $pageVisitTracker,
|
||||
AutomaticEmailScheduler $scheduler
|
||||
) {
|
||||
$this->wp = $wp;
|
||||
$this->wooCommerceHelper = $wooCommerceHelper;
|
||||
$this->cookies = $cookies;
|
||||
$this->pageVisitTracker = $pageVisitTracker;
|
||||
$this->scheduler = $scheduler;
|
||||
}
|
||||
|
||||
public function getEventDetails() {
|
||||
|
@@ -96,6 +96,7 @@ class ContainerConfigurator implements IContainerConfigurator {
|
||||
$container->autowire(\MailPoet\AutomaticEmails\WooCommerce\WooCommerce::class)->setPublic(true);
|
||||
$container->autowire(\MailPoet\AutomaticEmails\WooCommerce\WooCommerceEventFactory::class)->setPublic(true);
|
||||
$container->autowire(\MailPoet\AutomaticEmails\WooCommerce\Events\AbandonedCart::class)->setPublic(true);
|
||||
$container->autowire(\MailPoet\AutomaticEmails\WooCommerce\Events\AbandonedCartPageVisitTracker::class)->setPublic(true);
|
||||
$container->autowire(\MailPoet\AutomaticEmails\WooCommerce\Events\FirstPurchase::class)->setPublic(true);
|
||||
$container->autowire(\MailPoet\AutomaticEmails\WooCommerce\Events\PurchasedInCategory::class)->setPublic(true);
|
||||
$container->autowire(\MailPoet\AutomaticEmails\WooCommerce\Events\PurchasedProduct::class)->setPublic(true);
|
||||
@@ -374,6 +375,7 @@ class ContainerConfigurator implements IContainerConfigurator {
|
||||
$container->autowire(\MailPoet\Newsletter\Shortcodes\Categories\Newsletter::class)->setPublic(true);
|
||||
$container->autowire(\MailPoet\Newsletter\Shortcodes\Categories\Subscriber::class)->setPublic(true);
|
||||
$container->autowire(\MailPoet\Newsletter\Statistics\NewsletterStatisticsRepository::class)->setPublic(true);
|
||||
$container->autowire(\MailPoet\Newsletter\Scheduler\AutomaticEmailScheduler::class)->setPublic(true);
|
||||
$container->autowire(\MailPoet\Newsletter\Scheduler\WelcomeScheduler::class)->setPublic(true);
|
||||
$container->autowire(\MailPoet\Newsletter\Scheduler\PostNotificationScheduler::class)->setPublic(true);
|
||||
$container->autowire(\MailPoet\Newsletter\Scheduler\ReEngagementScheduler::class)->setPublic(true);
|
||||
|
@@ -77,7 +77,16 @@ class AbandonedCartTest extends \MailPoetTest {
|
||||
}
|
||||
|
||||
public function testItGetsEventDetails() {
|
||||
$event = new AbandonedCart();
|
||||
$wp = new WPFunctions();
|
||||
$wcHelper = new WooCommerceHelper();
|
||||
$cookies = new Cookies();
|
||||
$event = new AbandonedCart(
|
||||
$wp,
|
||||
$wcHelper,
|
||||
$cookies,
|
||||
new AbandonedCartPageVisitTracker($wp, $wcHelper, $cookies),
|
||||
new AutomaticEmailScheduler($wp)
|
||||
);
|
||||
$result = $event->getEventDetails();
|
||||
expect($result)->notEmpty();
|
||||
expect($result['slug'])->equals(AbandonedCart::SLUG);
|
||||
|
Reference in New Issue
Block a user