From 7d61928cfb4f3c0084942bc19c8bab74fde7d5f0 Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Thu, 16 Dec 2021 11:06:41 +0000 Subject: [PATCH] MDL-73379 admin: consistent secondary navigation on settings pages. Co-authored-by: Adrian Greeve --- admin/category.php | 8 +------ admin/settings.php | 1 - admin/tests/behat/site_administration.feature | 21 +++++++++++++++++++ theme/classic/tests/behat/blacklist.json | 1 + 4 files changed, 23 insertions(+), 8 deletions(-) create mode 100644 admin/tests/behat/site_administration.feature diff --git a/admin/category.php b/admin/category.php index b0a682eb5a3..31df0629136 100644 --- a/admin/category.php +++ b/admin/category.php @@ -140,13 +140,7 @@ if ($errormsg !== '') { echo $OUTPUT->notification($statusmsg, 'notifysuccess'); } -$path = array_reverse($settingspage->visiblepath); -if (is_array($path)) { - $visiblename = join(' / ', $path); -} else { - $visiblename = $path; -} -echo $OUTPUT->heading(get_string('admincategory', 'admin', $visiblename), 2); +echo $OUTPUT->heading(get_string('admincategory', 'admin', $settingspage->visiblename), 2); echo html_writer::start_tag('form', array('action' => '', 'method' => 'post', 'id' => 'adminsettings')); echo html_writer::start_tag('div'); diff --git a/admin/settings.php b/admin/settings.php index 06f289bdc0e..a3d48fc48c9 100644 --- a/admin/settings.php +++ b/admin/settings.php @@ -13,7 +13,6 @@ $PAGE->set_context(context_system::instance()); $PAGE->set_url('/admin/settings.php', array('section' => $section)); $PAGE->set_pagetype('admin-setting-' . $section); $PAGE->set_pagelayout('admin'); -$PAGE->has_secondary_navigation_setter(false); $PAGE->navigation->clear_cache(); navigation_node::require_admin_tree(); diff --git a/admin/tests/behat/site_administration.feature b/admin/tests/behat/site_administration.feature new file mode 100644 index 00000000000..5d2c5ef14a5 --- /dev/null +++ b/admin/tests/behat/site_administration.feature @@ -0,0 +1,21 @@ +@core @core_admin +Feature: Navigate site administration pages + In order to configure my site + As an admin + I need to be able to navigate the site administration pages + + @javascript + Scenario: Navigate to an admin category page + Given I log in as "admin" + When I navigate to "Plugins > Activity modules > Assignment" in site administration + # Ensure secondary navigation is still present and "Plugins" is selected. + Then "//a[@aria-current = 'true' and normalize-space() = 'Plugins']" "xpath" should exist in the ".secondary-navigation" "css_element" + And I should see "Category: Assignment" + + @javascript + Scenario: Navigate to an admin settings page + Given I log in as "admin" + When I navigate to "Plugins > Activity modules > Forum" in site administration + # Ensure secondary navigation is still present and "Plugins" is selected. + Then "//a[@aria-current = 'true' and normalize-space() = 'Plugins']" "xpath" should exist in the ".secondary-navigation" "css_element" + And I should see "Forum" diff --git a/theme/classic/tests/behat/blacklist.json b/theme/classic/tests/behat/blacklist.json index 4b46ee35f35..cd65cde0dda 100644 --- a/theme/classic/tests/behat/blacklist.json +++ b/theme/classic/tests/behat/blacklist.json @@ -4,6 +4,7 @@ ], "features": [ "lib/tests/behat/action_menu.feature", + "admin/tests/behat/site_administration.feature", "blocks/tests/behat/hide_blocks.feature", "blocks/tests/behat/move_blocks.feature", "course/format/tests/behat/course_courseindex.feature",