You are here

public function PreviewLinkExpiryTest::testPreviewLinkExpires in Preview Link 8

Same name and namespace in other branches
  1. 2.x tests/src/Kernel/PreviewLinkExpiryTest.php \Drupal\Tests\preview_link\Kernel\PreviewLinkExpiryTest::testPreviewLinkExpires()
  2. 2.0.x tests/src/Kernel/PreviewLinkExpiryTest.php \Drupal\Tests\preview_link\Kernel\PreviewLinkExpiryTest::testPreviewLinkExpires()

Test preview links are automatically expired on cron.

File

tests/src/Kernel/PreviewLinkExpiryTest.php, line 32

Class

PreviewLinkExpiryTest
Preview link expiry test.

Namespace

Drupal\Tests\preview_link\Kernel

Code

public function testPreviewLinkExpires() {
  $days = \Drupal::state()
    ->get('preview_link_expiry_days', 7);

  // Add an extra day to make it expired.
  $days = $days + 1;
  $days_in_seconds = $days * 86400;
  $expired_preview_link = PreviewLink::create([
    'entity_type_id' => 'node',
    'entity_id' => $this->node
      ->id(),
    // Set a timestamp that will definitely be expired.
    'generated_timestamp' => $days_in_seconds,
  ]);
  $expired_preview_link
    ->save();
  $id = $expired_preview_link
    ->id();

  // Run cron and then ensure the entity is gone.
  preview_link_cron();
  $this
    ->assertNull($this->storage
    ->load($id));
}