Add a basic integration test to cover the happy path of SubscriberLinkTokens

[MAILPOET-4345]
This commit is contained in:
Rodrigo Primo
2022-08-02 11:40:33 -03:00
committed by Veljko V
parent 56b90247b2
commit d3abbddf73

View File

@@ -0,0 +1,42 @@
<?php
namespace MailPoet\Cron\Workers;
use MailPoet\Entities\ScheduledTaskEntity;
use MailPoet\Entities\SubscriberEntity;
use MailPoet\Test\DataFactories\Subscriber as SubscriberFactory;
class SubscriberLinkTokensTest extends \MailPoetTest {
/** @var SubscriberLinkTokens */
private $worker;
public function _before() {
parent::_before();
$this->worker = $this->diContainer->get(SubscriberLinkTokens::class);
}
public function testItCanSetLinkTokensWhenFieldIsNull() {
$linkToken = 'some link token';
$subscriberWithLinkToken = (new SubscriberFactory())->withLinkToken($linkToken)->create();
$subscriberWithoutLinkToken1 = (new SubscriberFactory())->create();
$subscriberWithoutLinkToken2 = (new SubscriberFactory())->create();
$this->assertNull($subscriberWithoutLinkToken1->getLinkToken());
$this->assertNull($subscriberWithoutLinkToken2->getLinkToken());
$this->worker->processTaskStrategy(new ScheduledTaskEntity(), microtime(true));
$this->entityManager->refresh($subscriberWithLinkToken);
$this->entityManager->refresh($subscriberWithoutLinkToken1);
$this->entityManager->refresh($subscriberWithoutLinkToken2);
$this->assertSame($linkToken, $subscriberWithLinkToken->getLinkToken());
$this->assertIsString($subscriberWithoutLinkToken1->getLinkToken());
$this->assertIsString($subscriberWithoutLinkToken2->getLinkToken());
}
public function _after(): void {
$this->truncateEntity(SubscriberEntity::class);
}
}