MDL-70911 core_badges: Move "External backpack" to badges settings
authorSara Arjona <sara@moodle.com>
Tue, 16 Feb 2021 09:45:25 +0000 (10:45 +0100)
committerSara Arjona <sara@moodle.com>
Mon, 8 Mar 2021 08:24:53 +0000 (09:24 +0100)
Setting "External backpack connection" has been moved from "Backpack
settings" to "Badges settings" in order to make easier to find and
configure it.
Some extra tests have been added to cover existing behaviour and
confirm is still working as expected.

admin/settings/badges.php
badges/tests/behat/backpack.feature

index a97097f..6e4ca98 100644 (file)
@@ -71,6 +71,10 @@ if (($hassiteconfig || has_any_capability(array(
             new lang_string('allowcoursebadges', 'badges'),
             new lang_string('allowcoursebadges_desc', 'badges'), 1));
 
+    $globalsettings->add(new admin_setting_configcheckbox('badges_allowexternalbackpack',
+            new lang_string('allowexternalbackpack', 'badges'),
+            new lang_string('allowexternalbackpack_desc', 'badges'), 1));
+
     $ADMIN->add('badges', $globalsettings);
 
     $ADMIN->add('badges',
@@ -100,10 +104,6 @@ if (($hassiteconfig || has_any_capability(array(
     $backpacksettings = new admin_settingpage('backpacksettings', new lang_string('backpacksettings', 'badges'),
             array('moodle/badges:manageglobalsettings'), empty($CFG->enablebadges));
 
-    $backpacksettings->add(new admin_setting_configcheckbox('badges_allowexternalbackpack',
-            new lang_string('allowexternalbackpack', 'badges'),
-            new lang_string('allowexternalbackpack_desc', 'badges'), 1));
-
     $backpacksettings->add(new admin_setting_configselect('badges_site_backpack',
             new lang_string('sitebackpack', 'badges'),
             new lang_string('sitebackpack_help', 'badges'),
index 3a979f6..1462fe9 100644 (file)
@@ -17,13 +17,34 @@ Feature: Backpack badges
     And I set the field "Badge issuer email address" to "testuser@example.com"
     And I log out
 
+  @javascript
+  Scenario: If external backpack connection is disabled, backpack settings should not be displayed
+    Given I am on homepage
+    And I log in as "admin"
+    And I navigate to "Badges > Badges settings" in site administration
+    And I set the following fields to these values:
+      | External backpack connection | 0                        |
+    And I press "Save changes"
+    When I navigate to "Badges" in site administration
+    Then I should not see "Manage backpacks"
+    And I navigate to "Badges > Badges settings" in site administration
+    And I set the following fields to these values:
+      | External backpack connection | 1                        |
+    And I press "Save changes"
+    And I am on homepage
+    And I navigate to "Badges" in site administration
+    And I should see "Manage backpacks"
+
   @javascript
   Scenario: Verify backback settings
     Given I am on homepage
     And I log in as "admin"
-    And I navigate to "Badges > Backpack settings" in site administration
+    And I navigate to "Badges > Badges settings" in site administration
     And I set the following fields to these values:
       | External backpack connection | 1                        |
+    And I press "Save changes"
+    And I navigate to "Badges > Backpack settings" in site administration
+    And I set the following fields to these values:
       | Active external backpack     | https://dc.imsglobal.org |
     And I press "Save changes"
     And I navigate to "Badges > Add a new badge" in site administration
@@ -57,9 +78,12 @@ Feature: Backpack badges
   Scenario: User has been connected backpack
     Given I am on homepage
     And I log in as "admin"
-    And I navigate to "Badges > Backpack settings" in site administration
+    And I navigate to "Badges > Badges settings" in site administration
     And I set the following fields to these values:
       | External backpack connection | 1                        |
+    And I press "Save changes"
+    And I navigate to "Badges > Backpack settings" in site administration
+    And I set the following fields to these values:
       | Active external backpack     | https://dc.imsglobal.org |
     And I press "Save changes"
     And I navigate to "Badges > Add a new badge" in site administration