View source
<?php
namespace Drupal\taxonomy_menu\Tests;
class TaxonomyMenuCustomPathConfigurationTest extends TaxonomyMenuWebTestCase {
public static $modules = array(
'taxonomy_menu_custom_paths',
'taxonomy_menu_dummy_paths',
);
public static function getInfo() {
return array(
'name' => 'Custom path - Configuration',
'description' => 'Test custom paths configuration.',
'group' => 'Taxonomy menu',
);
}
public function setUp() {
parent::setUp();
$admin_user = $this
->drupalCreateUser(array(
'administer taxonomy',
'administer menu',
'bypass node access',
));
$this
->drupalLogin($admin_user);
$this->vocabulary = $this
->createVocabulary();
$this->terms_hierarchy = $this
->createTermsHierarchy();
}
public function testTaxonomyMenuCustomPathBasePathOption() {
$edit = array(
'taxonomy_menu[vocab_parent]' => 'main:0',
'taxonomy_menu[path]' => 'taxonomy_menu_path_custom',
'taxonomy_menu[options_custom_path][custom_path_base]' => 'custom_base_path',
);
$this
->drupalPostForm('admin/structure/taxonomy/manage/' . $this->vocabulary
->id(), $edit, t('Save'));
$this
->assertResponse(200);
$mlid = _taxonomy_menu_get_mlid($this->terms_hierarchy[3]
->id(), $this->vocabulary
->id());
$menu_link_parent = menu_link_load($mlid);
$this
->assertEqual("custom_base_path/3+4", $menu_link_parent['link_path']);
$mlid = _taxonomy_menu_get_mlid($this->terms_hierarchy[4]
->id(), $this->vocabulary
->id());
$menu_link_leaf = menu_link_load($mlid);
$this
->assertEqual("custom_base_path/4", $menu_link_leaf['link_path']);
}
public function testTaxonomyMenuCustomPathDepthOption() {
$edit = array(
'taxonomy_menu[vocab_parent]' => 'main:0',
'taxonomy_menu[path]' => 'taxonomy_menu_path_custom',
'taxonomy_menu[options_custom_path][custom_path_base]' => 'custom_base_path',
'taxonomy_menu[options_custom_path][custom_path_depth]' => '2',
);
$this
->drupalPostForm('admin/structure/taxonomy/manage/' . $this->vocabulary
->id(), $edit, t('Save'));
$this
->assertResponse(200);
$mlid = _taxonomy_menu_get_mlid($this->terms_hierarchy[3]
->id(), $this->vocabulary
->id());
$menu_link_parent = menu_link_load($mlid);
$this
->assertEqual("custom_base_path/3+4/2", $menu_link_parent['link_path']);
$mlid = _taxonomy_menu_get_mlid($this->terms_hierarchy[4]
->id(), $this->vocabulary
->id());
$menu_link_leaf = menu_link_load($mlid);
$this
->assertEqual("custom_base_path/4/2", $menu_link_leaf['link_path']);
}
}