Added Entity and Entity Reference Revisions which got dropped somewhere along the...
[yaffs-website] / web / modules / contrib / entity / tests / src / Kernel / RevisionOverviewIntegrationTest.php
1 <?php
2
3 namespace Drupal\Tests\entity\Kernel;
4
5 use Drupal\KernelTests\KernelTestBase;
6 use Symfony\Component\Routing\Route;
7
8 /**
9  * Tests some integration of the revision overview:
10  *
11  * - Are the routes added properly.
12  * - Are the local tasks added properly.
13  *
14  * @group entity
15  */
16 class RevisionOverviewIntegrationTest extends KernelTestBase {
17
18   /**
19    * {@inheritdoc}
20    */
21   public static $modules = ['node', 'entity_module_test', 'entity', 'user', 'system'];
22
23   /**
24    * {@inheritdoc}
25    */
26   protected function setUp() {
27     parent::setUp();
28
29     $this->installSchema('system', 'router');
30
31     \Drupal::service('router.builder')->rebuild();
32   }
33
34   public function testIntegration() {
35     /** @var \Drupal\Core\Menu\LocalTaskManagerInterface $local_tasks_manager */
36     $local_tasks_manager = \Drupal::service('plugin.manager.menu.local_task');
37
38     $tasks = $local_tasks_manager->getDefinitions();
39     $this->assertArrayHasKey('entity.revisions_overview:entity_test_enhanced', $tasks);
40     $this->assertArrayNotHasKey('entity.revisions_overview:node', $tasks, 'Node should have been excluded because it provides their own');
41
42     $this->assertEquals('entity.entity_test_enhanced.version_history', $tasks['entity.revisions_overview:entity_test_enhanced']['route_name']);
43     $this->assertEquals('entity.entity_test_enhanced.canonical', $tasks['entity.revisions_overview:entity_test_enhanced']['base_route']);
44
45     /** @var \Drupal\Core\Routing\RouteProviderInterface $route_provider */
46     $route_provider = \Drupal::service('router.route_provider');
47
48     $route = $route_provider->getRouteByName('entity.entity_test_enhanced.version_history');
49     $this->assertInstanceOf(Route::class, $route);
50     $this->assertEquals('\Drupal\entity\Controller\RevisionOverviewController::revisionOverviewController', $route->getDefault('_controller'));
51   }
52
53 }