public function RevisionBasicUITest::testRevisionHistory in Entity API 8.0
Same name and namespace in other branches
- 8 tests/src/Kernel/RevisionBasicUITest.php \Drupal\Tests\entity\Kernel\RevisionBasicUITest::testRevisionHistory()
Tests the revision history controller.
File
- tests/
src/ Kernel/ RevisionBasicUITest.php, line 49 - Contains \Drupal\Tests\entity\Kernel\RevisionBasicUITest.
Class
- RevisionBasicUITest
- @group entity
Namespace
Drupal\Tests\entity\KernelCode
public function testRevisionHistory() {
$entity = EnhancedEntity::create([
'name' => 'rev 1',
'type' => 'default',
]);
$entity
->save();
$revision = clone $entity;
$revision->name->value = 'rev 2';
$revision
->setNewRevision(TRUE);
$revision
->isDefaultRevision(FALSE);
$revision
->save();
/** @var \Symfony\Component\HttpKernel\HttpKernelInterface $http_kernel */
$http_kernel = \Drupal::service('http_kernel');
$request = Request::create($revision
->url('version-history'));
$response = $http_kernel
->handle($request);
$this
->assertEquals(403, $response
->getStatusCode());
$role = Role::create([
'id' => 'test_role',
]);
$role
->grantPermission('view all entity_test_enhanced revisions');
$role
->grantPermission('administer entity_test_enhanced');
$role
->save();
$user = User::create([
'name' => 'Test user',
]);
$user
->addRole($role
->id());
\Drupal::service('account_switcher')
->switchTo($user);
$request = Request::create($revision
->url('version-history'));
$response = $http_kernel
->handle($request);
$this
->assertEquals(200, $response
->getStatusCode());
// This ensures that the default revision is still the first revision.
$this
->assertTrue(strpos($response
->getContent(), 'entity_test_enhanced/1/revisions/2/view') !== FALSE);
$this
->assertTrue(strpos($response
->getContent(), 'entity_test_enhanced/1') !== FALSE);
}