public function PreviewLinkTest::testReset in Preview Link 2.0.x
Same name and namespace in other branches
- 8 tests/src/Functional/PreviewLinkTest.php \Drupal\Tests\preview_link\Functional\PreviewLinkTest::testReset()
- 2.x tests/src/Functional/PreviewLinkTest.php \Drupal\Tests\preview_link\Functional\PreviewLinkTest::testReset()
Test preview link reset.
File
- tests/
src/ Functional/ PreviewLinkTest.php, line 127
Class
- PreviewLinkTest
- Integration test for the preview link.
Namespace
Drupal\Tests\preview_link\FunctionalCode
public function testReset() : void {
/** @var \Drupal\preview_link_test_time\TimeMachine $timeMachine */
$timeMachine = \Drupal::service('datetime.time');
$currentTime = new \DateTime('14 May 2014 14:00:00');
$timeMachine
->setTime($currentTime);
$this
->drupalLogin($this
->createUser([
'generate preview links',
]));
$entity = EntityTestRevPub::create();
$entity
->save();
$previewLink = PreviewLink::create()
->addEntity($entity);
$previewLink
->save();
$token = $previewLink
->getToken();
$previewLink
->save();
$this
->assertEquals($currentTime
->getTimestamp(), $previewLink
->getGeneratedTimestamp());
$url = $entity
->toUrl('preview-link-generate');
$this
->drupalGet($url);
$this
->assertSession()
->pageTextContains('Generate a preview link for the entity.');
$currentTime = new \DateTime('14 May 2014 20:00:00');
$timeMachine
->setTime($currentTime);
$this
->drupalPostForm(NULL, [], 'Reset lifetime');
$this
->assertSession()
->pageTextContains('Preview link will now expire at Wed, 05/21/2014 - 20:00.');
// Reload preview link.
$previewLink = PreviewLink::load($previewLink
->id());
$this
->assertEquals($currentTime
->getTimestamp(), $previewLink
->getGeneratedTimestamp());
// Ensure token was not regenerated.
$this
->assertEquals($token, $previewLink
->getToken());
}