PreviewLinkExpiryTest.php in Preview Link 2.0.x
File
tests/src/Kernel/PreviewLinkExpiryTest.php
View source
<?php
declare (strict_types=1);
namespace Drupal\Tests\preview_link\Kernel;
use Drupal\preview_link\Entity\PreviewLink;
use Drupal\Tests\node\Traits\ContentTypeCreationTrait;
use Drupal\Tests\node\Traits\NodeCreationTrait;
class PreviewLinkExpiryTest extends PreviewLinkBase {
use ContentTypeCreationTrait;
use NodeCreationTrait;
public static $modules = [
'node',
'filter',
];
protected $node;
protected $storage;
public function setUp() {
parent::setUp();
$this
->installConfig([
'node',
'filter',
]);
$this
->createContentType([
'type' => 'page',
]);
$this->storage = $this->container
->get('entity_type.manager')
->getStorage('preview_link');
$this->node = $this
->createNode();
}
public function testPreviewLinkExpires() : void {
$days = \Drupal::state()
->get('preview_link_expiry_days', 7);
$days = $days + 1;
$days_in_seconds = $days * 86400;
$expired_preview_link = PreviewLink::create()
->addEntity($this->node);
$expired_preview_link->generated_timestamp = $days_in_seconds;
$expired_preview_link
->save();
$id = $expired_preview_link
->id();
preview_link_cron();
$this
->assertNull($this->storage
->load($id));
}
}