Mercurial > hg > isophonics-drupal-site
comparison core/modules/node/tests/src/Kernel/NodeViewBuilderTest.php @ 14:1fec387a4317
Update Drupal core to 8.5.2 via Composer
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:46:53 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
13:5fb285c0d0e3 | 14:1fec387a4317 |
---|---|
1 <?php | |
2 | |
3 namespace Drupal\Tests\node\Kernel; | |
4 | |
5 use Drupal\KernelTests\Core\Entity\EntityKernelTestBase; | |
6 use Drupal\node\Entity\Node; | |
7 use Drupal\node\Entity\NodeType; | |
8 use Drupal\user\Entity\User; | |
9 | |
10 /** | |
11 * Tests the node view builder. | |
12 * | |
13 * @group node | |
14 * | |
15 * @coversDefaultClass \Drupal\node\NodeViewBuilder | |
16 */ | |
17 class NodeViewBuilderTest extends EntityKernelTestBase { | |
18 | |
19 /** | |
20 * {@inheritdoc} | |
21 */ | |
22 public static $modules = ['node']; | |
23 | |
24 /** | |
25 * The node storage. | |
26 * | |
27 * @var \Drupal\node\NodeStorageInterface | |
28 */ | |
29 protected $storage; | |
30 | |
31 /** | |
32 * The node view builder. | |
33 * | |
34 * @var \Drupal\Core\Entity\EntityViewBuilderInterface | |
35 */ | |
36 protected $viewBuilder; | |
37 | |
38 /** | |
39 * The renderer. | |
40 * | |
41 * @var \Drupal\Core\Render\RendererInterface | |
42 */ | |
43 protected $renderer; | |
44 | |
45 /** | |
46 * {@inheritdoc} | |
47 */ | |
48 protected function setUp() { | |
49 parent::setUp(); | |
50 | |
51 $this->storage = $this->entityManager->getStorage('node'); | |
52 $this->viewBuilder = $this->entityManager->getViewBuilder('node'); | |
53 $this->renderer = $this->container->get('renderer'); | |
54 | |
55 $type = NodeType::create([ | |
56 'type' => 'article', | |
57 'name' => 'Article', | |
58 ]); | |
59 $type->save(); | |
60 | |
61 $this->installSchema('node', 'node_access'); | |
62 $this->installConfig(['system', 'node']); | |
63 } | |
64 | |
65 /** | |
66 * Tests that node links are displayed correctly in pending revisions. | |
67 * | |
68 * @covers ::buildComponents | |
69 * @covers ::renderLinks | |
70 * @covers ::buildLinks | |
71 */ | |
72 public function testPendingRevisionLinks() { | |
73 $account = User::create([ | |
74 'name' => $this->randomString(), | |
75 ]); | |
76 $account->save(); | |
77 | |
78 $title = $this->randomMachineName(); | |
79 $node = Node::create([ | |
80 'type' => 'article', | |
81 'title' => $title, | |
82 'uid' => $account->id(), | |
83 ]); | |
84 $node->save(); | |
85 | |
86 /** @var \Drupal\node\NodeInterface $pending_revision */ | |
87 $pending_revision = $this->storage->createRevision($node, FALSE); | |
88 $draft_title = $title . ' draft'; | |
89 $pending_revision->setTitle($draft_title); | |
90 $pending_revision->save(); | |
91 | |
92 $build = $this->viewBuilder->view($node, 'teaser'); | |
93 $output = (string) $this->renderer->renderPlain($build); | |
94 $this->assertContains("title=\"$title\"", $output); | |
95 | |
96 $build = $this->viewBuilder->view($pending_revision, 'teaser'); | |
97 $output = (string) $this->renderer->renderPlain($build); | |
98 $this->assertContains("title=\"$draft_title\"", $output); | |
99 } | |
100 | |
101 } |