Add a basic integration test to cover the happy path of SubscriberLinkTokens
[MAILPOET-4345]
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user