Always inject welcome emails scheduler

[MAILPOET-3141]
This commit is contained in:
Rostislav Wolny
2020-11-02 14:37:35 +01:00
committed by Veljko V
parent 3dcb939432
commit 65ca040a20
3 changed files with 16 additions and 8 deletions

View File

@ -87,6 +87,9 @@ class Subscribers extends APIEndpoint {
/** @var SegmentsRepository */
private $segmentsRepository;
/** @var WelcomeScheduler */
private $welcomeScheduler;
public function __construct(
SubscriberActions $subscriberActions,
RequiredCustomFieldValidator $requiredCustomFieldValidator,
@ -102,7 +105,8 @@ class Subscribers extends APIEndpoint {
SubscribersResponseBuilder $subscribersResponseBuilder,
SubscriberListingRepository $subscriberListingRepository,
SegmentsRepository $segmentsRepository,
FieldNameObfuscator $fieldNameObfuscator
FieldNameObfuscator $fieldNameObfuscator,
WelcomeScheduler $welcomeScheduler
) {
$this->subscriberActions = $subscriberActions;
$this->requiredCustomFieldValidator = $requiredCustomFieldValidator;
@ -119,6 +123,7 @@ class Subscribers extends APIEndpoint {
$this->subscribersResponseBuilder = $subscribersResponseBuilder;
$this->subscriberListingRepository = $subscriberListingRepository;
$this->segmentsRepository = $segmentsRepository;
$this->welcomeScheduler = $welcomeScheduler;
}
public function get($data = []) {
@ -380,8 +385,7 @@ class Subscribers extends APIEndpoint {
}
if (!empty($newSegments)) {
$scheduler = new WelcomeScheduler();
$scheduler->scheduleSubscriberWelcomeNotification($subscriber->id, $newSegments);
$this->welcomeScheduler->scheduleSubscriberWelcomeNotification($subscriber->id, $newSegments);
}
return $this->successResponse(

View File

@ -31,8 +31,12 @@ class WP {
/** @var WPFunctions */
private $wp;
public function __construct(WPFunctions $wp) {
/** @var WelcomeScheduler */
private $welcomeScheduler;
public function __construct(WPFunctions $wp, WelcomeScheduler $welcomeScheduler) {
$this->wp = $wp;
$this->welcomeScheduler = $welcomeScheduler;
}
public function synchronizeUser($wpUserId, $oldWpUserData = false) {
@ -143,8 +147,7 @@ class WP {
$scheduleWelcomeNewsletter = true;
}
if ($scheduleWelcomeNewsletter === true) {
$scheduler = new WelcomeScheduler();
$scheduler->scheduleWPUserWelcomeNotification(
$this->welcomeScheduler->scheduleWPUserWelcomeNotification(
$subscriber->id,
(array)$wpUser,
(array)$oldWpUserData

View File

@ -29,6 +29,7 @@ use MailPoet\Models\SendingQueue;
use MailPoet\Models\Subscriber;
use MailPoet\Models\SubscriberIP;
use MailPoet\Models\SubscriberSegment;
use MailPoet\Newsletter\Scheduler\WelcomeScheduler;
use MailPoet\Segments\SegmentsRepository;
use MailPoet\Settings\SettingsController;
use MailPoet\Settings\SettingsRepository;
@ -101,7 +102,8 @@ class SubscribersTest extends \MailPoetTest {
$container->get(SubscribersResponseBuilder::class),
$container->get(SubscriberListingRepository::class),
$container->get(SegmentsRepository::class),
$obfuscator
$obfuscator,
$container->get(WelcomeScheduler::class)
);
$this->obfuscatedEmail = $obfuscator->obfuscate('email');
$this->obfuscatedSegments = $obfuscator->obfuscate('segments');
@ -110,7 +112,6 @@ class SubscribersTest extends \MailPoetTest {
$this->entityManager->persist($this->segment1);
$this->entityManager->persist($this->segment2);
$this->subscriber1 = new SubscriberEntity();
$this->subscriber1->setEmail('john@mailpoet.com');
$this->subscriber1->setFirstName('John');