4 use PHPUnit\Framework\TestCase;
5 use Drupal\Core\Entity\EntityTypeManagerInterface;
6 use Drupal\node\NodeStorageInterface;
17 private function getEntityTypeManagerMock() {
18 $entityTypeManager = $this->getMockBuilder(EntityTypeManagerInterface::class)
19 ->disableOriginalConstructor()
20 ->setMethods([
'getStorage'])
21 ->getMockForAbstractClass();
23 $entityTypeManager->method(
'getStorage')
24 ->willReturn($this->getNodeStorageMock());
26 return $entityTypeManager;
32 private function getNodeStorageMock() {
33 $nodeStorage = $this->getMockBuilder(NodeStorageInterface::class)
34 ->disableOriginalConstructor()
35 ->setMethods([
'loadByProperties'])
36 ->getMockForAbstractClass();
38 $nodeStorage->method(
'loadByProperties')
39 ->willReturn([$this->node]);
47 private function getNodeMock() {
48 $node = $this->getMockBuilder(NodeInterface::class)
49 ->disableOriginalConstructor()
50 ->setMethods([
'uuid'])
51 ->getMockForAbstractClass();
54 ->willReturn([
'123']);
63 $page =
new Page(__DIR__ .
"/../../app", $this->getEntityTypeManagerMock());
64 $content = $page->build(
'home');
65 $this->assertEquals(
"<h1>Hello World!!!</h1>\n", $content);
67 $content = $page->build(
'/about');
68 $this->assertEquals(
"<h1>!!!Hello World!!!</h1>\n", $content);
75 $page =
new Page(__DIR__ .
"/../../app", $this->getEntityTypeManagerMock());
76 $content = $page->buildDataset(
'444');
77 $this->assertEquals(
"<h1>!!!Hello World!!!</h1>\n", $content);
84 $page =
new Page(__DIR__ .
"/../../app", $this->getEntityTypeManagerMock());
85 $content = $page->buildDataset(
'123');
86 $this->assertEquals(
"<h1>Hello World!!!</h1>\n", $content);