public function RevisionBasicUITest::testRevisionView in Entity API 8        
                          
                  
                        Same name and namespace in other branches
- 8.0 tests/src/Kernel/RevisionBasicUITest.php \Drupal\Tests\entity\Kernel\RevisionBasicUITest::testRevisionView()
File
 
   - tests/src/Kernel/RevisionBasicUITest.php, line 118
Class
  
  - RevisionBasicUITest 
- @group entity
Namespace
  Drupal\Tests\entity\Kernel
Code
public function testRevisionView() {
  $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();
  
  $http_kernel = $this->container
    ->get('http_kernel');
  $request = Request::create($revision
    ->toUrl('revision')
    ->toString());
  $response = $http_kernel
    ->handle($request);
  $this
    ->assertEquals(403, $response
    ->getStatusCode());
  $role_admin = Role::create([
    'id' => 'test_role_admin',
  ]);
  $role_admin
    ->grantPermission('administer entity_test_enhanced');
  $role_admin
    ->save();
  $role = Role::create([
    'id' => 'test_role',
  ]);
  $role
    ->grantPermission('view all entity_test_enhanced revisions');
  $role
    ->grantPermission('administer entity_test_enhanced');
  $role
    ->save();
  $user_admin = User::create([
    'name' => 'Test administrator',
  ]);
  $user_admin
    ->addRole($role_admin
    ->id());
  $user_admin
    ->save();
  $this->container
    ->get('account_switcher')
    ->switchTo($user_admin);
  $request = Request::create($revision
    ->toUrl('version-history')
    ->toString());
  $response = $http_kernel
    ->handle($request);
  $this
    ->assertEquals(200, $response
    ->getStatusCode());
  $user = User::create([
    'name' => 'Test editor',
  ]);
  $user
    ->addRole($role
    ->id());
  $user
    ->save();
  $this->container
    ->get('account_switcher')
    ->switchTo($user);
  $request = Request::create($revision
    ->toUrl('revision')
    ->toString());
  $response = $http_kernel
    ->handle($request);
  $this
    ->assertEquals(200, $response
    ->getStatusCode());
  $this
    ->assertStringNotContainsString('rev 1', $response
    ->getContent());
  $this
    ->assertStringContainsString('rev 2', $response
    ->getContent());
}