From 1dbedea50fa2838ea8274b13d3324f0617d9bc9a Mon Sep 17 00:00:00 2001 From: Rodrigo Primo Date: Thu, 25 Nov 2021 14:49:46 -0300 Subject: [PATCH] Refactor MetaInfo::getConfirmationMetaInfo() to use Doctrine This method is used only inside ConfirmationEmailMailer::sendConfirmationEmail(). So I figured it was best to refactor it as well to use SubscriberEntity instead of the old Subscriber model as part of the task to do the same for the ConfirmationEmailMailer class. I opted for this approach since it was a straightforward change. [MAILPOET-3815] --- lib/Mailer/MetaInfo.php | 4 ++-- lib/Subscribers/ConfirmationEmailMailer.php | 2 +- tests/integration/Mailer/MetaInfoTest.php | 9 ++++----- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/lib/Mailer/MetaInfo.php b/lib/Mailer/MetaInfo.php index 88349094e5..73f21db0a7 100644 --- a/lib/Mailer/MetaInfo.php +++ b/lib/Mailer/MetaInfo.php @@ -27,8 +27,8 @@ class MetaInfo { ); } - public function getConfirmationMetaInfo(Subscriber $subscriber) { - return $this->makeMetaInfo('confirmation', $subscriber->status, $subscriber->source); + public function getConfirmationMetaInfo(SubscriberEntity $subscriber) { + return $this->makeMetaInfo('confirmation', $subscriber->getStatus(), $subscriber->getSource()); } public function getNewSubscriberNotificationMetaInfo() { diff --git a/lib/Subscribers/ConfirmationEmailMailer.php b/lib/Subscribers/ConfirmationEmailMailer.php index 220aa0ff6a..bc20cf94ff 100644 --- a/lib/Subscribers/ConfirmationEmailMailer.php +++ b/lib/Subscribers/ConfirmationEmailMailer.php @@ -121,7 +121,7 @@ class ConfirmationEmailMailer { // send email try { $extraParams = [ - 'meta' => $this->mailerMetaInfo->getConfirmationMetaInfo($subscriber), + 'meta' => $this->mailerMetaInfo->getConfirmationMetaInfo($subscriberEntity), ]; $result = $this->mailer->send($email, $subscriber, $extraParams); if ($result['response'] === false) { diff --git a/tests/integration/Mailer/MetaInfoTest.php b/tests/integration/Mailer/MetaInfoTest.php index 28344110e5..4e77174b07 100644 --- a/tests/integration/Mailer/MetaInfoTest.php +++ b/tests/integration/Mailer/MetaInfoTest.php @@ -6,6 +6,7 @@ use MailPoet\Entities\SubscriberEntity; use MailPoet\Mailer\MetaInfo; use MailPoet\Models\Newsletter; use MailPoet\Models\Subscriber; +use MailPoet\Test\DataFactories\Subscriber as SubscriberFactory; class MetaInfoTest extends \MailPoetTest { /** @var MetaInfo */ @@ -59,11 +60,9 @@ class MetaInfoTest extends \MailPoetTest { } public function testItGetsMetaInfoForConfirmationEmails() { - $subscriber = Subscriber::create(); - $subscriber->hydrate([ - 'status' => 'unconfirmed', - 'source' => 'form', - ]); + $subscriberFactory = new SubscriberFactory(); + $subscriber = $subscriberFactory->withStatus('unconfirmed')->withSource('form')->create(); + expect($this->meta->getConfirmationMetaInfo($subscriber))->equals([ 'email_type' => 'confirmation', 'subscriber_status' => 'unconfirmed',