Open Data Catalog v2.0.0
PageTest.php
Go to the documentation of this file.
1 <?php
2 
4 use PHPUnit\Framework\TestCase;
5 use Drupal\Core\Entity\EntityTypeManagerInterface;
6 use Drupal\node\NodeStorageInterface;
7 
11 class PageTest extends TestCase {
12  private $node;
13 
17  private function getEntityTypeManagerMock() {
18  $entityTypeManager = $this->getMockBuilder(EntityTypeManagerInterface::class)
19  ->disableOriginalConstructor()
20  ->setMethods(['getStorage'])
21  ->getMockForAbstractClass();
22 
23  $entityTypeManager->method('getStorage')
24  ->willReturn($this->getNodeStorageMock());
25 
26  return $entityTypeManager;
27  }
28 
32  private function getNodeStorageMock() {
33  $nodeStorage = $this->getMockBuilder(NodeStorageInterface::class)
34  ->disableOriginalConstructor()
35  ->setMethods(['loadByProperties'])
36  ->getMockForAbstractClass();
37 
38  $nodeStorage->method('loadByProperties')
39  ->willReturn([$this->node]);
40 
41  return $nodeStorage;
42  }
43 
47  private function getNodeMock() {
48  $node = $this->getMockBuilder(NodeInterface::class)
49  ->disableOriginalConstructor()
50  ->setMethods(['uuid'])
51  ->getMockForAbstractClass();
52 
53  $node->method('uuid')
54  ->willReturn(['123']);
55 
56  return $node;
57  }
58 
62  public function test() {
63  $page = new Page(__DIR__ . "/../../app", $this->getEntityTypeManagerMock());
64  $content = $page->build('home');
65  $this->assertEquals("<h1>Hello World!!!</h1>\n", $content);
66 
67  $content = $page->build('/about');
68  $this->assertEquals("<h1>!!!Hello World!!!</h1>\n", $content);
69  }
70 
74  public function testNoDataset() {
75  $page = new Page(__DIR__ . "/../../app", $this->getEntityTypeManagerMock());
76  $content = $page->buildDataset('444');
77  $this->assertEquals("<h1>!!!Hello World!!!</h1>\n", $content);
78  }
79 
83  public function testDataset() {
84  $page = new Page(__DIR__ . "/../../app", $this->getEntityTypeManagerMock());
85  $content = $page->buildDataset('123');
86  $this->assertEquals("<h1>Hello World!!!</h1>\n", $content);
87  }
88 
89 }
PageTest\testDataset
testDataset()
Definition: PageTest.php:83
PageTest
Definition: PageTest.php:11
Drupal\dkan_frontend\Page
Definition: Page.php:10
PageTest\test
test()
Definition: PageTest.php:62
PageTest\testNoDataset
testNoDataset()
Definition: PageTest.php:74