Open Data Catalog v2.0.0
PageTest.php
Go to the documentation of this file.
1 <?php
2 
3 use Drupal\dkan_frontend\Controller\Page as PageController;
5 use PHPUnit\Framework\TestCase;
6 use Symfony\Component\DependencyInjection\ContainerInterface;
7 
11 class ControllerPageTest extends TestCase {
12 
16  public function getContainer() {
17 
18  $container = $this->getMockBuilder(ContainerInterface::class)
19  ->setMethods(['get'])
20  ->disableOriginalConstructor()
21  ->getMockForAbstractClass();
22 
23  $container->method('get')
24  ->with(
25  $this->logicalOr(
26  $this->equalTo('dkan_frontend.page')
27  )
28  )
29  ->will($this->returnCallback([$this, 'containerGet']));
30 
31  return $container;
32  }
33 
37  public function containerGet($input) {
38  switch ($input) {
39  case 'dkan_frontend.page':
40  $pageBuilder = $this->getMockBuilder(Page::class)
41  ->disableOriginalConstructor()
42  ->setMethods(['build', 'buildDataset'])
43  ->getMock();
44  $pageBuilder->method('build')->willReturn("<h1>Hello World!!!</h1>\n");
45  $pageBuilder->method('buildDataset')->willReturn("<h1>Hello World!!!</h1>\n");
46  return $pageBuilder;
47 
48  break;
49  }
50  }
51 
55  public function test() {
56  $controller = PageController::create($this->getContainer());
57  /* @var $response \Symfony\Component\HttpFoundation\Response */
58  $response = $controller->page('home');
59  $this->assertEquals("<h1>Hello World!!!</h1>\n", $response->getContent());
60  }
61 
65  public function testDataset() {
66  $controller = PageController::create($this->getContainer());
67  /* @var $response \Symfony\Component\HttpFoundation\Response */
68  $response = $controller->dataset('123');
69  $this->assertEquals("<h1>Hello World!!!</h1>\n", $response->getContent());
70  }
71 
72 }
Drupal\dkan_frontend\Page
Definition: Page.php:10
ControllerPageTest\test
test()
Definition: PageTest.php:55
ControllerPageTest\getContainer
getContainer()
Definition: PageTest.php:16
ControllerPageTest\testDataset
testDataset()
Definition: PageTest.php:65
Drupal\dkan_frontend\Controller\Page
Definition: Page.php:13
ControllerPageTest
Definition: PageTest.php:11
ControllerPageTest\containerGet
containerGet($input)
Definition: PageTest.php:37