Issue #2244757 by tim.plunkett: Path Admin UI is broken and has no test coverage.
parent
52da1905b4
commit
e6ac9ec569
|
@ -15,7 +15,15 @@ class PathController {
|
|||
/**
|
||||
* @todo Remove path_admin_overview().
|
||||
*/
|
||||
public function adminOverview($keys = NULL) {
|
||||
public function adminOverview() {
|
||||
module_load_include('admin.inc', 'path');
|
||||
return path_admin_overview();
|
||||
}
|
||||
|
||||
/**
|
||||
* @todo Remove path_admin_overview().
|
||||
*/
|
||||
public function adminOverviewFiltered($keys) {
|
||||
module_load_include('admin.inc', 'path');
|
||||
return path_admin_overview($keys);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,92 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file
|
||||
* Contains \Drupal\path\Tests\PathAdminTest.
|
||||
*/
|
||||
|
||||
namespace Drupal\path\Tests;
|
||||
|
||||
/**
|
||||
* Tests the Path admin UI.
|
||||
*/
|
||||
class PathAdminTest extends PathTestBase {
|
||||
|
||||
/**
|
||||
* Modules to enable.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public static $modules = array('path');
|
||||
|
||||
public static function getInfo() {
|
||||
return array(
|
||||
'name' => 'Path admin UI',
|
||||
'description' => 'Tests the Path admin UI.',
|
||||
'group' => 'Path',
|
||||
);
|
||||
}
|
||||
|
||||
function setUp() {
|
||||
parent::setUp();
|
||||
|
||||
// Create test user and login.
|
||||
$web_user = $this->drupalCreateUser(array('create page content', 'edit own page content', 'administer url aliases', 'create url aliases'));
|
||||
$this->drupalLogin($web_user);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests the filtering aspect of the Path UI.
|
||||
*/
|
||||
public function testPathFiltering() {
|
||||
// Create test nodes.
|
||||
$node1 = $this->drupalCreateNode();
|
||||
$node2 = $this->drupalCreateNode();
|
||||
|
||||
// Create aliases.
|
||||
$alias1 = $this->randomName(8);
|
||||
$edit = array(
|
||||
'source' => 'node/' . $node1->id(),
|
||||
'alias' => $alias1,
|
||||
);
|
||||
$this->drupalPostForm('admin/config/search/path/add', $edit, t('Save'));
|
||||
|
||||
$alias2 = $this->randomName(8);
|
||||
$edit = array(
|
||||
'source' => 'node/' . $node2->id(),
|
||||
'alias' => $alias2,
|
||||
);
|
||||
$this->drupalPostForm('admin/config/search/path/add', $edit, t('Save'));
|
||||
|
||||
// Filter by the first alias.
|
||||
$edit = array(
|
||||
'filter' => $alias1,
|
||||
);
|
||||
$this->drupalPostForm(NULL, $edit, t('Filter'));
|
||||
$this->assertLinkByHref($alias1);
|
||||
$this->assertNoLinkByHref($alias2);
|
||||
|
||||
// Filter by the second alias.
|
||||
$edit = array(
|
||||
'filter' => $alias2,
|
||||
);
|
||||
$this->drupalPostForm(NULL, $edit, t('Filter'));
|
||||
$this->assertNoLinkByHref($alias1);
|
||||
$this->assertLinkByHref($alias2);
|
||||
|
||||
// Filter by a random string with a different length.
|
||||
$edit = array(
|
||||
'filter' => $this->randomName(10),
|
||||
);
|
||||
$this->drupalPostForm(NULL, $edit, t('Filter'));
|
||||
$this->assertNoLinkByHref($alias1);
|
||||
$this->assertNoLinkByHref($alias2);
|
||||
|
||||
// Reset the filter.
|
||||
$edit = array();
|
||||
$this->drupalPostForm(NULL, $edit, t('Reset'));
|
||||
$this->assertLinkByHref($alias1);
|
||||
$this->assertLinkByHref($alias2);
|
||||
}
|
||||
|
||||
}
|
|
@ -307,5 +307,5 @@ function path_admin_filter_form_submit_filter($form, &$form_state) {
|
|||
* @see path_admin_filter_form_submit_filter()
|
||||
*/
|
||||
function path_admin_filter_form_submit_reset($form, &$form_state) {
|
||||
$form_state['redirect'] = 'admin/config/search/path/list';
|
||||
$form_state['redirect'] = 'admin/config/search/path';
|
||||
}
|
||||
|
|
|
@ -7,11 +7,18 @@ path.delete:
|
|||
_permission: 'administer url aliases'
|
||||
|
||||
path.admin_overview:
|
||||
path: '/admin/config/search/path/{keys}'
|
||||
path: '/admin/config/search/path'
|
||||
defaults:
|
||||
_title: 'URL aliases'
|
||||
_content: '\Drupal\path\Controller\PathController::adminOverview'
|
||||
keys: NULL
|
||||
requirements:
|
||||
_permission: 'administer url aliases'
|
||||
|
||||
path.admin_overview_filter:
|
||||
path: '/admin/config/search/path/list/{keys}'
|
||||
defaults:
|
||||
_title: 'URL aliases'
|
||||
_content: '\Drupal\path\Controller\PathController::adminOverviewFiltered'
|
||||
requirements:
|
||||
_permission: 'administer url aliases'
|
||||
|
||||
|
|
Loading…
Reference in New Issue