diff --git a/tests/integration/Subscribers/LinkTokensTest.php b/tests/integration/Subscribers/LinkTokensTest.php index ed5ece94e3..4bd67583df 100644 --- a/tests/integration/Subscribers/LinkTokensTest.php +++ b/tests/integration/Subscribers/LinkTokensTest.php @@ -1,23 +1,26 @@ -linkTokens = new LinkTokens; + $this->subscribersRepository = $this->diContainer->get(SubscribersRepository::class); + $this->linkTokens = new LinkTokens($this->subscribersRepository); } public function testItGeneratesSubscriberToken() { - $subscriber1 = $this->makeSubscriber(['email' => 'demo1@fake.loc']); - $subscriber2 = $this->makeSubscriber(['email' => 'demo2@fake.loc']); + $subscriber1 = $this->createSubscriber('demo1@fake.loc'); + $subscriber2 = $this->createSubscriber('demo2@fake.loc'); $token1 = $this->linkTokens->getToken($subscriber1); $token2 = $this->linkTokens->getToken($subscriber2); expect(strlen($token1))->equals(6); @@ -26,29 +29,30 @@ class LinkTokensTest extends \MailPoetTest { } public function testItGetsSubscriberToken() { - $subscriber1 = $this->makeSubscriber(['email' => 'demo1@fake.loc', 'link_token' => 'already-existing-token']); - $subscriber2 = $this->makeSubscriber(['email' => 'demo2@fake.loc']); + $subscriber1 = $this->createSubscriber('demo1@fake.loc', 'already-existing-token'); + $subscriber2 = $this->createSubscriber('demo2@fake.loc'); expect($this->linkTokens->getToken($subscriber1))->equals('already-existing-token'); expect(strlen($this->linkTokens->getToken($subscriber2)))->equals(6); } public function testItVerifiesSubscriberToken() { - $subscriber = $this->makeSubscriber([ - 'email' => 'demo@fake.loc', - ]); + $subscriber = $this->createSubscriber('demo@fake.loc'); $token = $this->linkTokens->getToken($subscriber); expect($this->linkTokens->verifyToken($subscriber, $token))->true(); expect($this->linkTokens->verifyToken($subscriber, 'faketoken'))->false(); } public function _after() { - ORM::raw_execute('TRUNCATE ' . Subscriber::$_table); + parent::_after(); + $this->truncateEntity(SubscriberEntity::class); } - private function makeSubscriber($data) { - $subscriber = Subscriber::create(); - $subscriber->hydrate($data); - $subscriber->save(); + private function createSubscriber(string $email, ?string $linkToken = null): SubscriberEntity { + $subscriber = new SubscriberEntity(); + $subscriber->setEmail($email); + $subscriber->setLinkToken($linkToken); + $this->subscribersRepository->persist($subscriber); + $this->subscribersRepository->flush(); return $subscriber; } }