storage = $this->entityManager->getStorage('node'); $this->viewBuilder = $this->entityManager->getViewBuilder('node'); $this->renderer = $this->container->get('renderer'); $type = NodeType::create([ 'type' => 'article', 'name' => 'Article', ]); $type->save(); $this->installSchema('node', 'node_access'); $this->installConfig(['system', 'node']); } /** * Tests that node links are displayed correctly in pending revisions. * * @covers ::buildComponents * @covers ::renderLinks * @covers ::buildLinks */ public function testPendingRevisionLinks() { $account = User::create([ 'name' => $this->randomString(), ]); $account->save(); $title = $this->randomMachineName(); $node = Node::create([ 'type' => 'article', 'title' => $title, 'uid' => $account->id(), ]); $node->save(); /** @var \Drupal\node\NodeInterface $pending_revision */ $pending_revision = $this->storage->createRevision($node, FALSE); $draft_title = $title . ' draft'; $pending_revision->setTitle($draft_title); $pending_revision->save(); $build = $this->viewBuilder->view($node, 'teaser'); $output = (string) $this->renderer->renderPlain($build); $this->assertContains("title=\"$title\"", $output); $build = $this->viewBuilder->view($pending_revision, 'teaser'); $output = (string) $this->renderer->renderPlain($build); $this->assertContains("title=\"$draft_title\"", $output); } }