Skip to content
Snippets Groups Projects
Commit 0698340d authored by Pamela Barone's avatar Pamela Barone Committed by Adam G-H
Browse files

Issue #3502997 by pameeela, phenaproxima, jurgenhaas: Override Project Browser's local task titles

parent ea3e3858
No related branches found
No related tags found
No related merge requests found
Pipeline #409375 passed with warnings
......@@ -7,7 +7,7 @@
"drupal/automatic_updates": "^3.1.7",
"drupal/bpmn_io": "^2.0.3",
"drupal/core": ">=10.4",
"drupal/eca": "^2.1",
"drupal/eca": "^2.1.2",
"drupal/dashboard": "^2",
"drupal/drupal_cms_admin_ui": "~1.0.0",
"drupal/drupal_cms_anti_spam": "~1.0.0",
......
langcode: en
status: true
dependencies:
module:
- eca_project_browser
id: rename_project_browser_tabs
modeller: fallback
label: 'Rename Project Browser tabs'
version: 1.0.0
weight: 0
events:
Event_alter_source_info:
plugin: 'project_browser:source_info_alter'
label: 'Alter source plugin info'
configuration: { }
successors:
-
id: Activity_set_title
condition: ''
-
id: Activity_0dlv38b
condition: ''
conditions: { }
gateways: { }
actions:
Activity_set_title:
plugin: eca_project_browser_source_plugin_info_alter
label: 'Change title of recipes tab'
configuration:
plugin_id: recipes
label: ''
description: ''
local_task_title: Recommended
local_task_weight: '0'
successors: { }
Activity_0dlv38b:
plugin: eca_project_browser_source_plugin_info_alter
label: 'Change title of contributed modules tab'
configuration:
plugin_id: drupalorg_jsonapi
label: ''
description: ''
local_task_title: 'Browse modules'
local_task_weight: ''
successors: { }
......@@ -23,6 +23,7 @@ install:
- eca_base
- eca_config
- eca_content
- eca_project_browser
- eca_render
- menu_link_content
- olivero
......
......@@ -4,6 +4,7 @@ declare(strict_types=1);
namespace Drupal\Tests\drupal_cms_starter\Functional;
use Behat\Mink\Element\NodeElement;
use Composer\InstalledVersions;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\State\StateInterface;
......@@ -159,12 +160,32 @@ class ComponentValidationTest extends BrowserTestBase {
$assert_session->linkExists("Search for this $node_type");
}
// If you have permission to administer modules, you should see a dedicated
// tab to browse recipes.
// Ensure that the Project Browser local tasks work as expected.
$account = $this->drupalCreateUser(['administer modules']);
$this->drupalLogin($account);
$this->drupalGet('/admin/modules/browse/recipes');
$assert_session->statusCodeEquals(200);
$this->drupalGet('/admin/modules');
// Get the Project Browser local tasks.
$elements = $assert_session->elementExists('css', 'h2:contains("Primary tabs") + nav')
->findAll('css', 'ul li a');
$local_tasks = [];
/** @var \Behat\Mink\Element\NodeElement $element */
foreach ($elements as $element) {
$link_text = $element->getText();
$local_tasks[$link_text] = $element->getAttribute('data-drupal-link-system-path');
}
// The first task should go to core's regular modules page.
$this->assertSame('admin/modules', reset($local_tasks));
// Ensure the Project Browser tasks are in the expected order, have the
// expected link text, and link to the expected place.
$project_browser_tasks = preg_grep('|admin/modules/browse/.+|', $local_tasks);
$this->assertSame(['Recommended', 'Browse modules'], array_keys($project_browser_tasks));
$this->assertStringEndsWith('/recipes', $project_browser_tasks['Recommended']);
$this->assertStringEndsWith('/drupalorg_jsonapi', $project_browser_tasks['Browse modules']);
// We should have access to all Project Browser tasks.
foreach ($project_browser_tasks as $path) {
$this->drupalGet($path);
$assert_session->statusCodeEquals(200);
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment