X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fdevel%2Ftests%2Fsrc%2FFunctional%2FDevelControllerTest.php;fp=web%2Fmodules%2Fcontrib%2Fdevel%2Ftests%2Fsrc%2FFunctional%2FDevelControllerTest.php;h=0fc375afbda65391fa1bc8ebb6fe45d181e6e9c0;hp=0000000000000000000000000000000000000000;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hpb=680c79a86e3ed402f263faeac92e89fb6d9edcc0 diff --git a/web/modules/contrib/devel/tests/src/Functional/DevelControllerTest.php b/web/modules/contrib/devel/tests/src/Functional/DevelControllerTest.php new file mode 100644 index 000000000..0fc375afb --- /dev/null +++ b/web/modules/contrib/devel/tests/src/Functional/DevelControllerTest.php @@ -0,0 +1,122 @@ +randomMachineName(); + $data = ['type' => 'entity_test', 'name' => $random_label]; + $this->entity = entity_create('entity_test', $data); + $this->entity->save(); + + // Create a test entity with only canonical route. + $random_label = $this->randomMachineName(); + $data = ['type' => 'devel_entity_test_canonical', 'name' => $random_label]; + $this->entity_canonical = entity_create('devel_entity_test_canonical', $data); + $this->entity_canonical->save(); + + // Create a test entity with only edit route. + $random_label = $this->randomMachineName(); + $data = ['type' => 'devel_entity_test_edit', 'name' => $random_label]; + $this->entity_edit = entity_create('devel_entity_test_edit', $data); + $this->entity_edit->save(); + + // Create a test entity with no routes. + $random_label = $this->randomMachineName(); + $data = ['type' => 'devel_entity_test_no_links', 'name' => $random_label]; + $this->entity_no_links = entity_create('devel_entity_test_no_links', $data); + $this->entity_no_links->save(); + + $this->drupalPlaceBlock('local_tasks_block'); + + $web_user = $this->drupalCreateUser([ + 'view test entity', + 'administer entity_test content', + 'access devel information', + ]); + $this->drupalLogin($web_user); + } + + 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); + } + +}