From b2afbf99c5ecb3f1fc4062311fede5f51a046da5 Mon Sep 17 00:00:00 2001 From: Rodrigo Primo Date: Wed, 25 Oct 2023 16:45:15 -0300 Subject: [PATCH] Replace Subscriber model with Doctrine in UnsubscribeTokensTest [MAILPOET-5680] --- .../Cron/Workers/UnsubscribeTokensTest.php | 36 +++++++++++++------ 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/mailpoet/tests/integration/Cron/Workers/UnsubscribeTokensTest.php b/mailpoet/tests/integration/Cron/Workers/UnsubscribeTokensTest.php index be88631edb..368bed6999 100644 --- a/mailpoet/tests/integration/Cron/Workers/UnsubscribeTokensTest.php +++ b/mailpoet/tests/integration/Cron/Workers/UnsubscribeTokensTest.php @@ -5,25 +5,36 @@ namespace MailPoet\Test\Cron\Workers; use Codeception\Util\Fixtures; use MailPoet\Cron\Workers\UnsubscribeTokens; use MailPoet\Entities\ScheduledTaskEntity; +use MailPoet\Entities\SubscriberEntity; use MailPoet\Models\Newsletter; -use MailPoet\Models\Subscriber; +use MailPoet\Subscribers\SubscribersRepository; +use MailPoet\Test\DataFactories\Subscriber as SubscriberFactory; class UnsubscribeTokensTest extends \MailPoetTest { + /** @var SubscriberEntity */ private $subscriberWithToken; private $newsletterWithToken; + + /** @var SubscriberEntity */ private $subscriberWithoutToken; private $newsletterWithoutToken; + /** @var SubscribersRepository */ + private $subscribersRepository; + public function _before() { parent::_before(); - $this->subscriberWithToken = Subscriber::createOrUpdate(['email' => 'subscriber1@test.com']); - $this->subscriberWithToken->set('unsubscribe_token', 'aaabbbcccdddeee'); - $this->subscriberWithToken->save(); + $this->subscribersRepository = $this->diContainer->get(SubscribersRepository::class); - $this->subscriberWithoutToken = Subscriber::createOrUpdate(['email' => 'subscriber2@test.com']); - $this->subscriberWithoutToken->set('unsubscribe_token', null); - $this->subscriberWithoutToken->save(); + $this->subscriberWithToken = (new SubscriberFactory()) + ->withEmail('subscriber1@test.com') + ->withUnsubscribeToken('aaabbbcccdddeee') + ->create(); + + $this->subscriberWithoutToken = (new SubscriberFactory()) + ->withEmail('subscriber2@test.com') + ->create(); $this->newsletterWithToken = Newsletter::createOrUpdate([ 'subject' => 'My Newsletter', @@ -43,12 +54,15 @@ class UnsubscribeTokensTest extends \MailPoetTest { } public function testItAddsTokensToSubscribers() { + verify($this->subscriberWithoutToken->getUnsubscribeToken())->null(); $worker = new UnsubscribeTokens(); $worker->processTaskStrategy(new ScheduledTaskEntity(), microtime(true)); - $this->subscriberWithToken = Subscriber::findOne($this->subscriberWithToken->id); - $this->subscriberWithoutToken = Subscriber::findOne($this->subscriberWithoutToken->id); - verify($this->subscriberWithToken->unsubscribe_token)->equals('aaabbbcccdddeee'); - verify(strlen($this->subscriberWithoutToken->unsubscribe_token))->equals(15); + $subscriberWithToken = $this->subscribersRepository->findOneById($this->subscriberWithToken->getId()); + $this->assertInstanceOf(SubscriberEntity::class, $subscriberWithToken); + $subscriberWithoutToken = $this->subscribersRepository->findOneById($this->subscriberWithoutToken->getId()); + $this->assertInstanceOf(SubscriberEntity::class, $subscriberWithoutToken); + verify($subscriberWithToken->getUnsubscribeToken())->equals('aaabbbcccdddeee'); + verify(strlen($subscriberWithoutToken->getUnsubscribeToken() ?? ''))->equals(15); } public function testItAddsTokensToNewsletters() {