You are here

function DevelControllerTest::testRouteGeneration in Devel 8

Same name and namespace in other branches
  1. 8.3 tests/src/Functional/DevelControllerTest.php \Drupal\Tests\devel\Functional\DevelControllerTest::testRouteGeneration()
  2. 8.2 tests/src/Functional/DevelControllerTest.php \Drupal\Tests\devel\Functional\DevelControllerTest::testRouteGeneration()
  3. 4.x tests/src/Functional/DevelControllerTest.php \Drupal\Tests\devel\Functional\DevelControllerTest::testRouteGeneration()

File

tests/src/Functional/DevelControllerTest.php, line 61

Class

DevelControllerTest
Tests Devel controller.

Namespace

Drupal\Tests\devel\Functional

Code

function testRouteGeneration() {

  // Test Devel load and render routes for entities with both route
  // definitions.
  $this
    ->drupalGet('entity_test/' . $this->entity
    ->id());
  $this
    ->assertText('Devel', 'Devel tab is present');
  $this
    ->drupalGet('devel/entity_test/' . $this->entity
    ->id());
  $this
    ->assertResponse(200);
  $this
    ->assertText('Definition', 'Devel definition tab is present');
  $this
    ->assertText('Load', 'Devel load tab is present');
  $this
    ->assertText('Render', 'Devel load tab is present');
  $this
    ->assertLinkByHref('devel/entity_test/' . $this->entity
    ->id() . '/render');
  $this
    ->drupalGet('devel/entity_test/' . $this->entity
    ->id() . '/render');
  $this
    ->assertResponse(200);
  $this
    ->assertLinkByHref('devel/entity_test/' . $this->entity
    ->id() . '/definition');
  $this
    ->drupalGet('devel/entity_test/' . $this->entity
    ->id() . '/definition');
  $this
    ->assertResponse(200);

  // Test Devel load and render routes for entities with only canonical route
  // definitions.
  $this
    ->drupalGet('devel_entity_test_canonical/' . $this->entity_canonical
    ->id());
  $this
    ->assertText('Devel', 'Devel tab is present');

  //TODO this fail since assertNoLinkByHref search by partial value.

  //$this->assertNoLinkByHref('devel/devel_entity_test_canonical/' . $this->entity_canonical->id());
  $this
    ->assertLinkByHref('devel/devel_entity_test_canonical/' . $this->entity_canonical
    ->id() . '/render');
  $this
    ->drupalGet('devel/devel_entity_test_canonical/' . $this->entity_canonical
    ->id());
  $this
    ->assertResponse(404);
  $this
    ->drupalGet('devel/devel_entity_test_canonical/' . $this->entity_canonical
    ->id() . '/render');
  $this
    ->assertResponse(200);
  $this
    ->assertLinkByHref('devel/devel_entity_test_canonical/' . $this->entity_canonical
    ->id() . '/definition');
  $this
    ->drupalGet('devel/devel_entity_test_canonical/' . $this->entity_canonical
    ->id() . '/definition');
  $this
    ->assertResponse(200);

  // Test Devel load and render routes for entities with only edit route
  // definitions.
  $this
    ->drupalGet('devel_entity_test_edit/manage/' . $this->entity_edit
    ->id());
  $this
    ->assertText('Devel', 'Devel tab is present');
  $this
    ->assertLinkByHref('devel/devel_entity_test_edit/' . $this->entity_edit
    ->id());
  $this
    ->assertNoLinkByHref('devel/devel_entity_test_edit/' . $this->entity_edit
    ->id() . '/render');
  $this
    ->assertNoLinkByHref('devel/devel_entity_test_edit/' . $this->entity_edit
    ->id() . '/definition');
  $this
    ->drupalGet('devel/devel_entity_test_edit/' . $this->entity_edit
    ->id());
  $this
    ->assertResponse(200);
  $this
    ->drupalGet('devel/devel_entity_test_edit/' . $this->entity_edit
    ->id() . '/render');
  $this
    ->assertResponse(404);
  $this
    ->drupalGet('devel/devel_entity_test_edit/' . $this->entity_edit
    ->id() . '/definition');
  $this
    ->assertResponse(200);

  // Test Devel load and render routes for entities with no route
  // definitions.
  $this
    ->drupalGet('devel_entity_test_no_links/' . $this->entity_edit
    ->id());
  $this
    ->assertNoText('Devel', 'Devel tab is not present');
  $this
    ->assertNoLinkByHref('devel/devel_entity_test_no_links/' . $this->entity_no_links
    ->id());
  $this
    ->assertNoLinkByHref('devel/devel_entity_test_no_links/' . $this->entity_no_links
    ->id() . '/render');
  $this
    ->assertNoLinkByHref('devel/devel_entity_test_no_links/' . $this->entity_no_links
    ->id() . '/definition');
  $this
    ->drupalGet('devel/devel_entity_test_no_links/' . $this->entity_no_links
    ->id());
  $this
    ->assertResponse(404);
  $this
    ->drupalGet('devel/devel_entity_test_no_links/' . $this->entity_no_links
    ->id() . '/render');
  $this
    ->assertResponse(404);
  $this
    ->drupalGet('devel/devel_entity_test_no_links/' . $this->entity_no_links
    ->id() . '/definition');
  $this
    ->assertResponse(404);
}