MDL-49513 behat: Set admin config using php api
authorRajesh Taneja <rajesh@moodle.com>
Tue, 24 Mar 2015 07:35:01 +0000 (15:35 +0800)
committerRajesh Taneja <rajesh@moodle.com>
Wed, 1 Apr 2015 06:25:23 +0000 (14:25 +0800)
Added a new set to set config using set_config() api
to make steps faster and more efficient

47 files changed:
admin/tests/behat/behat_admin.php
admin/tests/behat/set_admin_settings_value.feature
admin/tool/availabilityconditions/tests/behat/manage_conditions.feature
admin/tool/behat/tests/behat/data_generators.feature
availability/condition/completion/tests/behat/availability_completion.feature
availability/condition/date/tests/behat/availability_date.feature
availability/condition/grade/tests/behat/availability_grade.feature
availability/condition/group/tests/behat/availability_group.feature
availability/condition/grouping/tests/behat/availability_grouping.feature
availability/condition/profile/tests/behat/availability_profile.feature
availability/tests/behat/display_availability.feature
availability/tests/behat/edit_availability.feature
badges/tests/behat/award_badge.feature
blocks/navigation/tests/behat/expand_courses_node.feature
blocks/navigation/tests/behat/expand_my_courses_setting.feature
blocks/navigation/tests/behat/view_my_courses.feature
blocks/recent_activity/tests/behat/structural_changes.feature
completion/tests/behat/enable_manual_complete_mark.feature
completion/tests/behat/restrict_activity_by_date.feature
completion/tests/behat/restrict_activity_by_grade.feature
completion/tests/behat/restrict_section_availability.feature
completion/tests/behat/teacher_manual_completion.feature
course/tests/behat/activities_edit_completion.feature
files/tests/behat/course_files.feature
grade/tests/behat/grade_aggregation.feature
grade/tests/behat/grade_scales_aggregation.feature
grade/tests/behat/grade_single_item_scales.feature
lib/editor/tinymce/tests/behat/edit_available_icons.feature
message/tests/behat/send_message.feature
mod/assign/tests/behat/outcome_grading.feature
mod/assign/tests/behat/quickgrading.feature
mod/feedback/tests/behat/show_nonrespondents.feature
mod/forum/tests/behat/completion_condition_number_discussions.feature
mod/forum/tests/behat/forum_subscriptions_availability.feature
mod/forum/tests/behat/track_read_posts.feature
mod/glossary/tests/behat/entries_always_editable.feature
mod/lesson/tests/behat/completion_condition_end_reached.feature
mod/lesson/tests/behat/completion_condition_time_spent.feature
mod/quiz/tests/behat/completion_condition_attempts_used.feature
mod/quiz/tests/behat/completion_condition_passing_grade.feature
report/log/tests/behat/filter_log.feature
report/loglive/tests/behat/loglive_report.feature
report/outline/tests/behat/outline.feature
report/outline/tests/behat/user.feature
report/participation/tests/behat/filter_participation.feature
user/tests/behat/table_sorting.feature
user/tests/behat/view_full_profile.feature

index 91433c8..8c56f7a 100644 (file)
@@ -114,6 +114,30 @@ class behat_admin extends behat_base {
         }
     }
 
+    /**
+     * Sets the specified site settings. A table with | config | value | (optional)plugin | is expected.
+     *
+     * @Given /^the following config values are set as admin:$/
+     * @param TableNode $table
+     */
+    public function the_following_config_values_are_set_as_admin(TableNode $table) {
+
+        if (!$data = $table->getRowsHash()) {
+            return;
+        }
+
+        foreach ($data as $config => $value) {
+            // Default plugin value is null.
+            $plugin = null;
+
+            if (is_array($value)) {
+                $plugin = $value[1];
+                $value = $value[0];
+            }
+            set_config($config, $value, $plugin);
+        }
+    }
+
     /**
      * Waits with the provided params if we are running a JS session.
      *
index 4edbb5c..66ab175 100644 (file)
@@ -13,15 +13,13 @@ Feature: Set admin settings value
     And I should not see "C_shortname Course fullname"
 
   Scenario: set admin value with full name
-    Given I set the following administration settings values:
-      | Display extended course names | 1 |
-    When I press "Save changes"
+    Given the following config values are set as admin:
+      | courselistshortnames | 1 |
     And I am on homepage
     Then I should see "C_shortname Course fullname"
 
   Scenario: set admin value with short name
-    Given I set the following administration settings values:
+    Given the following config values are set as admin:
       | courselistshortnames | 1 |
-    When I press "Save changes"
     And I am on homepage
     Then I should see "C_shortname Course fullname"
\ No newline at end of file
index 3df48ed..e968c20 100644 (file)
@@ -13,8 +13,8 @@ Feature: Manage availability conditions
     Then I should not see "Availability restrictions"
 
     # Enable it and check I can now see and click on it.
-    And I set the following administration settings values:
-      | Enable conditional access | 1 |
+    And the following config values are set as admin:
+      | enableavailability | 1 |
     And I am on homepage
     And I navigate to "Manage restrictions" node in "Site administration > Plugins > Availability restrictions"
 
@@ -28,9 +28,9 @@ Feature: Manage availability conditions
     Given the following "courses" exist:
       | fullname | shortname | format |
       | Course 1 | C1        | topics |
+    And the following config values are set as admin:
+      | enableavailability | 1 |
     And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable conditional access | 1 |
     And I am on homepage
     When I navigate to "Manage restrictions" node in "Site administration > Plugins > Availability restrictions"
 
index 2b32cb0..63ffdbc 100644 (file)
@@ -385,9 +385,9 @@ Feature: Set up contextual data for tests
     And the following "grade outcomes" exist:
       | fullname        | shortname | course | scale        |
       | Grade outcome 2 | OT2       | C1     | Test Scale 1 |
+    And the following config settings values are set as admin:
+      | enableoutcomes | 1 |
     When I log in as "admin"
-    And I set the following administration settings values:
-      | Enable outcomes | 1 |
     And I follow "Home"
     And I follow "Course 1"
     And I follow "Outcomes"
@@ -414,9 +414,9 @@ Feature: Set up contextual data for tests
      And the following "grade items" exist:
        | itemname                  | course | outcome | gradecategory    |
        | Test Outcome Grade Item 1 | C1     | OT1     | Grade category 1 |
+    And the following config settings values are set as admin:
+      | enableoutcomes | 1 |
     When I log in as "admin"
-    And I set the following administration settings values:
-      | Enable outcomes | 1 |
     And I follow "Home"
     And I follow "Course 1"
     And I follow "Grades"
index e10a8b6..b31b7c6 100644 (file)
@@ -16,11 +16,9 @@ Feature: availability_completion
       | user     | course | role           |
       | teacher1 | C1     | editingteacher |
       | student1 | C1     | student        |
-    And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable conditional access  | 1 |
-      | Enable completion tracking | 1 |
-    And I log out
+    And the following config values are set as admin:
+      | enableavailability  | 1 |
+      | enablecompletion | 1 |
 
   @javascript
   Scenario: Test condition
index ff73589..d026849 100644 (file)
@@ -16,10 +16,8 @@ Feature: availability_date
       | user     | course | role           |
       | teacher1 | C1     | editingteacher |
       | student1 | C1     | student        |
-    And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable conditional access  | 1 |
-    And I log out
+    And the following config values are set as admin:
+      | enableavailability  | 1 |
 
   @javascript
   Scenario: Test condition
index 47baf04..01681d7 100644 (file)
@@ -16,10 +16,8 @@ Feature: availability_grade
       | user     | course | role           |
       | teacher1 | C1     | editingteacher |
       | student1 | C1     | student        |
-    And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable conditional access  | 1 |
-    And I log out
+    And the following config values are set as admin:
+      | enableavailability  | 1 |
 
   @javascript
   Scenario: Test condition
index 91bcfaf..d2637d6 100644 (file)
@@ -16,10 +16,8 @@ Feature: availability_group
       | user     | course | role           |
       | teacher1 | C1     | editingteacher |
       | student1 | C1     | student        |
-    And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable conditional access  | 1 |
-    And I log out
+    And the following config values are set as admin:
+      | enableavailability  | 1 |
 
   @javascript
   Scenario: Test condition
index 9865ce9..6d14604 100644 (file)
@@ -22,10 +22,8 @@ Feature: availability_grouping
     And the following "group members" exist:
       | user     | group |
       | student1 | GI1   |
-    And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable conditional access  | 1 |
-    And I log out
+    And the following config values are set as admin:
+      | enableavailability  | 1 |
 
   @javascript
   Scenario: Test condition
index 79c41a1..720be7d 100644 (file)
@@ -16,10 +16,8 @@ Feature: availability_profile
       | user     | course | role           |
       | teacher1 | C1     | editingteacher |
       | student1 | C1     | student        |
-    And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable conditional access  | 1 |
-    And I log out
+    And the following config values are set as admin:
+      | enableavailability  | 1 |
 
   @javascript
   Scenario: Test condition
index 9043836..519f16c 100644 (file)
@@ -34,10 +34,8 @@ Feature: display_availability
       | user     | course | role           |
       | teacher1 | C1     | editingteacher |
       | student1 | C1     | student        |
-    And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable conditional access | 1 |
-    And I log out
+    And the following config values are set as admin:
+      | enableavailability | 1 |
 
   @javascript
   Scenario: Activity availability display
index 82f3662..00ca518 100644 (file)
@@ -39,15 +39,10 @@ Feature: edit_availability
     When I edit the section "1"
     Then "Restrict access" "fieldset" should not exist
 
-    When I log out
-    And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable conditional access | 1 |
+    And the following config values are set as admin:
+      | enableavailability | 1 |
 
-    When I log out
-    And I log in as "teacher1"
     And I follow "Course 1"
-    And I turn editing mode on
     And I add a "Page" to section "1"
     Then "Restrict access" "fieldset" should exist
 
@@ -58,10 +53,8 @@ Feature: edit_availability
   @javascript
   Scenario: Edit availability using settings in activity form
     # Set up.
-    Given I log in as "admin"
-    And I set the following administration settings values:
-      | Enable conditional access | 1 |
-    And I log out
+    Given the following config values are set as admin:
+      | enableavailability | 1 |
     And I log in as "teacher1"
     And I follow "Course 1"
 
@@ -153,10 +146,8 @@ Feature: edit_availability
   @javascript
   Scenario: Edit availability using settings in section form
     # Set up.
-    Given I log in as "admin"
-    And I set the following administration settings values:
-      | Enable conditional access | 1 |
-    And I log out
+    Given the following config values are set as admin:
+      | enableavailability | 1 |
     And I log in as "teacher1"
     And I follow "Course 1"
     And I turn editing mode on
@@ -186,12 +177,12 @@ Feature: edit_availability
   @javascript
   Scenario: Use the 'Add group/grouping access restriction' button
     # Button should initially be disabled.
-    Given I log in as "admin"
-    And I set the following administration settings values:
-      | Enable conditional access | 1 |
+    Given the following config values are set as admin:
+      | enableavailability | 1 |
     And the following "groupings" exist:
       | name | course | idnumber |
       | GX1  | C1     | GXI1     |
+    And I log in as "admin"
     And I am on homepage
     And I follow "Course 1"
     And I turn editing mode on
index a4e5cd4..919c269 100644 (file)
@@ -128,10 +128,9 @@ Feature: Award badges
       | user | course | role |
       | teacher1 | C1 | editingteacher |
       | student1 | C1 | student |
-    And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable completion tracking | 1 |
-    And I follow "Home"
+    And the following config values are set as admin:
+      | enablecompletion | 1 |
+    And I log in as "teacher1"
     And I follow "Course 1"
     And I follow "Edit settings"
     And I set the following fields to these values:
@@ -141,8 +140,6 @@ Feature: Award badges
     And I add a "Assignment" to section "1" and I fill the form with:
       | Assignment name | Test assignment name |
       | Description | Submit your online text |
-    And I log out
-    And I log in as "teacher1"
     And I follow "Course 1"
     And I navigate to "Add a new badge" node in "Course administration > Badges"
     And I follow "Add a new badge"
@@ -181,10 +178,9 @@ Feature: Award badges
       | user | course | role |
       | teacher1 | C1 | editingteacher |
       | student1 | C1 | student |
-    And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable completion tracking | 1 |
-    And I follow "Home"
+    And the following config values are set as admin:
+      | enablecompletion | 1 |
+    And I log in as "teacher1"
     And I follow "Course 1"
     And I follow "Edit settings"
     And I set the following fields to these values:
@@ -200,8 +196,6 @@ Feature: Award badges
     And I click on "Condition: Activity completion" "link"
     And I set the field "Assign - Test assignment name" to "1"
     And I press "Save changes"
-    And I log out
-    And I log in as "teacher1"
     And I follow "Course 1"
     And I navigate to "Add a new badge" node in "Course administration > Badges"
     And I follow "Add a new badge"
index 4aa815f..9700e1b 100644 (file)
@@ -34,6 +34,8 @@ Feature: Expand the courses nodes within the navigation block
       | student1 | c1     | student |
       | student1 | c2     | student |
       | student1 | c4     | student |
+    And the following config settings values are set as admin:
+      | navshowallcourses | 1 |
     And I log in as "admin"
     And I follow "Course 2"
     And I turn editing mode on
@@ -41,8 +43,6 @@ Feature: Expand the courses nodes within the navigation block
     And I set the following fields to these values:
       | Allow guest access | Yes |
     And I press "Save and display"
-    And I set the following administration settings values:
-      | Show all courses | 1 |
     And I log out
 
   @javascript
index ad6e9f6..8b70d29 100644 (file)
@@ -29,10 +29,8 @@ Feature: Test expand my courses navigation setting
 
   @javascript
   Scenario: The My Courses branch is collapsed when expand my courses is off
-    Given I log in as "admin"
-    And I set the following administration settings values:
-      | Show My courses expanded on My home | 0 |
-    And I log out
+    Given the following config values are set as admin:
+      | navexpandmycourses | 0 |
     When I log in as "student1"
     And I click on "My home" "link" in the "Navigation" "block"
     Then I should not see "c1" in the "Navigation" "block"
@@ -41,10 +39,8 @@ Feature: Test expand my courses navigation setting
 
   @javascript
   Scenario: My Courses can be expanded on the My Moodle page when expand my courses is off
-    Given I log in as "admin"
-    And I set the following administration settings values:
-      | Show My courses expanded on My home | 0 |
-    And I log out
+    Given the following config values are set as admin:
+      | navexpandmycourses | 0 |
     When I log in as "student1"
     And I click on "My home" "link" in the "Navigation" "block"
     And I should not see "c1" in the "Navigation" "block"
index d20bbb0..0fcf0fa 100644 (file)
@@ -29,13 +29,11 @@ Feature: View my courses in navigation block
       | student1 | c1     | student |
       | student1 | c31    | student |
       | student1 | c331   | student |
-    And I log in as "admin"
 
   @javascript
   Scenario: The plain list of enrolled courses is shown
-    Given I set the following administration settings values:
-      | Show my course categories | 0 |
-    And I log out
+    Given the following config values are set as admin:
+      | navshowmycoursecategories | 0 |
     And I log in as "student1"
     When I click on "My home" "link" in the "Navigation" "block"
     Then I should not see "cat1" in the "Navigation" "block"
@@ -49,9 +47,8 @@ Feature: View my courses in navigation block
 
   @javascript
   Scenario: The nested list of enrolled courses is shown
-    Given I set the following administration settings values:
-      | Show my course categories | 1 |
-    And I log out
+    Given the following config values are set as admin:
+      | navshowmycoursecategories | 1 |
     And I log in as "student1"
     When I click on "My home" "link" in the "Navigation" "block"
     Then I should see "cat1" in the "Navigation" "block"
@@ -69,10 +66,9 @@ Feature: View my courses in navigation block
 
   @javascript
   Scenario: I can expand categories and courses as guest
-    Given I set the following administration settings values:
-      | Show my course categories | 1 |
-      | Show all courses          | 1 |
-    And I log out
+    Given the following config values are set as admin:
+      | navshowmycoursecategories | 1 |
+      | navshowallcourses         | 1 |
     And I expand "Courses" node
     And I should see "cat1" in the "Navigation" "block"
     And I should see "cat2" in the "Navigation" "block"
index 78814a5..00c6612 100644 (file)
@@ -46,10 +46,8 @@ Feature: View structural changes in recent activity block
       | GG3      | G2    |
 
   Scenario: Check that Added module information is displayed respecting view capability
-    Given I log in as "admin"
-    And I set the following administration settings values:
-      | Enable conditional access | 1 |
-    And I log out
+    Given the following config values are set as admin:
+      | enableavailability | 1 |
     And I log in as "teacher1"
     And I follow "Course 1"
     And I turn editing mode on
index 303d79f..bcd93e6 100644 (file)
@@ -17,11 +17,9 @@ Feature: Allow students to manually mark an activity as complete
       | user | course | role |
       | teacher1 | C1 | editingteacher |
       | student1 | C1 | student |
-    And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable completion tracking | 1 |
-      | Enable conditional access | 1 |
-    And I log out
+    And the following config values are set as admin:
+      | enablecompletion | 1 |
+      | enableavailability | 1 |
     And I log in as "teacher1"
     And I follow "Course 1"
     And I turn editing mode on
index f63b5a5..db9a37a 100644 (file)
@@ -16,10 +16,8 @@ Feature: Restrict activity availability through date conditions
       | user | course | role |
       | teacher1 | C1 | editingteacher |
       | student1 | C1 | student |
-    And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable conditional access | 1 |
-    And I log out
+    And the following config values are set as admin:
+      | enableavailability | 1 |
     And I log in as "teacher1"
     And I follow "Course 1"
     And I turn editing mode on
index fa9b909..5607307 100644 (file)
@@ -17,10 +17,8 @@ Feature: Restrict activity availability through grade conditions
       | user | course | role |
       | teacher1 | C1 | editingteacher |
       | student1 | C1 | student |
-    And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable conditional access | 1 |
-    And I log out
+    And the following config values are set as admin:
+      | enableavailability | 1 |
     And I log in as "teacher1"
     And I follow "Course 1"
     And I turn editing mode on
index 69239a4..41f2bf7 100644 (file)
@@ -16,11 +16,9 @@ Feature: Restrict sections availability through completion or grade conditions
       | user | course | role |
       | teacher1 | C1 | editingteacher |
       | student1 | C1 | student |
-    And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable completion tracking | 1 |
-      | Enable conditional access | 1 |
-    And I log out
+    And the following config values are set as admin:
+      | enablecompletion   | 1 |
+      | enableavailability | 1 |
 
   @javascript
   Scenario: Show section greyed-out to student when completion condition is not satisfied
index d15691a..6df1130 100644 (file)
@@ -16,9 +16,9 @@ Feature: Allow teachers to manually mark users as complete when configured
       | user     | course | role           |
       | student1 | CC1    | student        |
       | teacher1 | CC1    | editingteacher |
+    And the following config values are set as admin:
+      | enablecompletion | 1 |
     And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable completion tracking | 1 |
     And I am on homepage
     And I follow "Completion course"
     And completion tracking is "Enabled" in current course
index b1d2b6c..42cd98c 100644 (file)
@@ -8,9 +8,9 @@ Feature: Edit completion settings of an activity
     Given the following "courses" exist:
       | fullname | shortname | enablecompletion |
       | Course 1 | C1        | 1                |
+    And the following config values are set as admin:
+      | enablecompletion | 1 |
     And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable completion tracking | 1 |
     And I am on homepage
     And I follow "Course 1"
     And I turn editing mode on
index 6ae5577..133635c 100644 (file)
@@ -9,11 +9,10 @@ Feature: Course files
     Given the following "courses" exist:
       | fullname | shortname | category | legacyfiles |
       | Course 1 | C1 | 0 | 2 |
-    And I log in as "admin"
-    And I set the following administration settings values:
-      | Legacy course files in new courses | 1 |
-      | Allow adding to legacy course files | 1 |
-    When I follow "Home"
+    And the following config values are set as admin:
+      | legacyfilesinnewcourses | 1 |
+      | legacyfilesaddallowed   | 1 |
+    When I log in as "admin"
     And I follow "Course 1"
     Then I should see "Legacy course files"
     And I follow "Legacy course files"
@@ -26,11 +25,10 @@ Feature: Course files
     Given the following "courses" exist:
       | fullname | shortname | category | legacyfiles |
       | Course 1 | C1 | 0 | 2 |
-    And I log in as "admin"
-    And I set the following administration settings values:
-      | Legacy course files in new courses | 1 |
-      | Allow adding to legacy course files | 0 |
-    When I follow "Home"
+    And the following config values are set as admin:
+      | legacyfilesinnewcourses | 1 |
+      | legacyfilesaddallowed   | 0 |
+    When I log in as "admin"
     And I follow "Course 1"
     Then I should see "Legacy course files"
     And I follow "Legacy course files"
index e545f61..61dc0f2 100644 (file)
@@ -248,10 +248,8 @@ Feature: We can use calculated grade totals
 
   @javascript
   Scenario: Natural aggregation on outcome items with natural weights
-    And I log out
-    And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable outcomes | 1 |
+    And the following config settings values are set as admin:
+      | enableoutcomes | 1 |
     And the following "scales" exist:
       | name       | scale                                     |
       | Test Scale | Disappointing, Good, Very good, Excellent |
@@ -261,10 +259,7 @@ Feature: We can use calculated grade totals
     And the following "grade items" exist:
       | itemname              | course | outcome | gradetype | scale      |
       | Test outcome item one | C1     | OT1     | Scale     | Test Scale |
-    And I log out
-    When I log in as "teacher1"
-    And I follow "Course 1"
-    And I follow "Grades"
+    Then I follow "Grades"
     And I expand "Setup" node
     And I follow "Categories and items"
     And I set the following settings for grade item "Course 1":
@@ -272,8 +267,6 @@ Feature: We can use calculated grade totals
       | Include outcomes in aggregation | 1       |
       | Exclude empty grades            | 0       |
     And I follow "Grader report"
-    And I turn editing mode on
-    And I press "Save changes"
     And I give the grade "Excellent" to the user "Student 1" for the grade item "Test outcome item one"
     And I press "Save changes"
     And I navigate to "Course grade settings" node in "Grade administration > Setup"
@@ -321,10 +314,8 @@ Feature: We can use calculated grade totals
 
   @javascript
   Scenario: Natural aggregation on outcome items with modified weights
-    And I log out
-    And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable outcomes | 1 |
+    And the following config settings values are set as admin:
+      | enableoutcomes | 1 |
     And the following "scales" exist:
       | name       | scale                                     |
       | Test Scale | Disappointing, Good, Very good, Excellent |
@@ -334,9 +325,6 @@ Feature: We can use calculated grade totals
     And the following "grade items" exist:
       | itemname              | course | outcome | gradetype | scale      |
       | Test outcome item one | C1     | OT1     | Scale     | Test Scale |
-    And I log out
-    When I log in as "teacher1"
-    And I follow "Course 1"
     And I follow "Grades"
     And I expand "Setup" node
     And I follow "Categories and items"
@@ -348,8 +336,6 @@ Feature: We can use calculated grade totals
      | Weight adjusted  | 1   |
      | aggregationcoef2 | 100 |
     And I follow "Grader report"
-    And I turn editing mode on
-    And I press "Save changes"
     And I give the grade "Excellent" to the user "Student 1" for the grade item "Test outcome item one"
     And I press "Save changes"
     And I navigate to "Course grade settings" node in "Grade administration > Setup"
index 7106000..5e3eaae 100644 (file)
@@ -32,13 +32,13 @@ Feature: Control the aggregation of the scales
     And the following "grade items" exist:
       | itemname | course | scale       |
       | Scale me | C1     | Letterscale |
+    And the following config settings values are set as admin:
+      | grade_includescalesinaggregation | 0 |
+    And I log out
 
   @javascript
   Scenario Outline: Scales can be exluded from aggregation
-    Given I set the following administration settings values:
-      | grade_includescalesinaggregation | 0 |
-    And I log out
-    And I log in as "teacher1"
+    Given I log in as "teacher1"
     And I follow "Course 1"
     And I follow "Grades"
     And I turn editing mode on
@@ -84,10 +84,7 @@ Feature: Control the aggregation of the scales
 
   @javascript
   Scenario: Weights of scales cannot be edited when they are not aggregated
-    Given I set the following administration settings values:
-      | grade_includescalesinaggregation | 0 |
-    And I log out
-    And I log in as "teacher1"
+    Given I log in as "teacher1"
     And I follow "Course 1"
     And I follow "Grades"
     And I turn editing mode on
@@ -101,12 +98,8 @@ Feature: Control the aggregation of the scales
     And I follow "Show more..."
     And I should not see "Weight adjusted"
     And I should not see "Weight"
-    And I log out
-    And I log in as "admin"
-    And I set the following administration settings values:
+    And the following config settings values are set as admin:
       | grade_includescalesinaggregation | 1 |
-    And I log out
-    And I log in as "teacher1"
     And I follow "Course 1"
     And I follow "Grades"
     And I navigate to "Categories and items" node in "Grade administration > Setup"
index 200b209..b7ec807 100644 (file)
@@ -71,19 +71,19 @@ Feature: View gradebook when single item scales are used
     And the following should exist in the "user-grade" table:
       | Grade item          | Grade | Range     | Contribution to course total |
       | Test assignment one | Ace!  | Ace!–Ace! | 100.00 %                     |
-      | Sub category 1 total      | 1.00  | 0–1       | -                            |
+      | Sub category 1 total| 1.00  | 0–1       | -                            |
       | Course total        | 1.00  | 0–1       | -                            |
     And I set the field "Select all or one user" to "Student 2"
     And the following should exist in the "user-grade" table:
       | Grade item          | Grade | Range     | Contribution to course total |
       | Test assignment one | -     | Ace!–Ace! | -                            |
-      | Sub category 1 total      | -     | 0–1       | -                            |
+      | Sub category 1 total| -     | 0–1       | -                            |
       | Course total        | -     | 0–1       | -                            |
     And I set the field "jump" to "Categories and items"
     And the following should exist in the "grade_edit_tree_table" table:
       | Name                | Max grade |
       | Test assignment one | 1.00      |
-      | Sub category 1 total      | 1.00      |
+      | Sub category 1 total| 1.00      |
       | Course total        | 1.00      |
 
   @javascript
@@ -111,10 +111,10 @@ Feature: View gradebook when single item scales are used
     And I set the field "Select all or one user" to "Student 1"
     And I click on "Select all or one user" "select"
     And the following should exist in the "user-grade" table:
-      | Grade item                        | Grade          | Range       | Contribution to course total |
-      | Test assignment one               | Ace!           | Ace!–Ace!   | <contrib1>                   |
-      | Sub category (<aggregation>) total<aggregation>.      | <cattotal1>    | 0–100       | -                            |
-      | Course total<aggregation>.        | <coursetotal1> | 0–100       | -                            |
+      | Grade item                                       | Grade          | Range       | Contribution to course total |
+      | Test assignment one                              | Ace!           | Ace!–Ace!   | <contrib1>                   |
+      | Sub category (<aggregation>) total<aggregation>. | <cattotal1>    | 0–100       | -                            |
+      | Course total<aggregation>.                       | <coursetotal1> | 0–100       | -                            |
     And I set the field "jump" to "Categories and items"
     And the following should exist in the "grade_edit_tree_table" table:
       | Name                         | Max grade |
index 2724d5c..131749e 100644 (file)
@@ -16,8 +16,8 @@ Feature: Add or remove items from the TinyMCE editor toolbar
 
   @javascript
   Scenario: Remove icons
-    When I set the following administration settings values:
-      | Editor toolbar | fontselect,fontsizeselect,formatselect,\|,undo,redo,\|,search,replace,\|,fullscreen |
+    When the following config values are set as admin:
+      | customtoolbar | fontselect,fontsizeselect,formatselect,\|,undo,redo,\|,search,replace,\|,fullscreen | editor_tinymce |
     And I am on homepage
     And I follow "Course 1"
     And I turn editing mode on
@@ -28,16 +28,16 @@ Feature: Add or remove items from the TinyMCE editor toolbar
 
   @javascript
   Scenario: Add icons
-    When I set the following administration settings values:
-      | Editor toolbar | fontselect,fontsizeselect,formatselect,\|,undo,redo,\|,search,replace,\|,fullscreen,anchor |
+    When the following config values are set as admin:
+      | customtoolbar | fontselect,fontsizeselect,formatselect,\|,undo,redo,\|,search,replace,\|,fullscreen,anchor | editor_tinymce |
     And I am on homepage
     And I follow "Course 1"
     And I turn editing mode on
     And I add a "Database" to section "1"
     Then "#id_introeditor_tbl .mce_bold" "css_element" should not exist
     And "#id_introeditor_tbl .mce_anchor" "css_element" should exist
-    And I set the following administration settings values:
-      | Editor toolbar | fontselect,fontsizeselect,formatselect,\|,undo,redo,\|,search,replace,\|,fullscreen |
+    And the following config values are set as admin:
+      | customtoolbar | fontselect,fontsizeselect,formatselect,\|,undo,redo,\|,search,replace,\|,fullscreen | editor_tinymce |
     And I am on homepage
     And I follow "Course 1"
     And I add a "Database" to section "1"
index 996b6f7..6121834 100644 (file)
@@ -12,10 +12,8 @@ Feature: Users can send messages to each other
 
   @javascript
   Scenario: Using the 'Send message' dialog on one's profile
-    Given I log in as "admin"
-    And I set the following administration settings values:
+    Given the following config settings values are set as admin:
       | forceloginforprofiles | 0 |
-    And I log out
     And I log in as "user1"
     And I navigate to "Messages" node in "My profile"
     And I set the field "Search people and messages" to "User Two"
index 65dc2e4..92b80c4 100644 (file)
@@ -18,11 +18,10 @@ Feature: Outcome grading
       | teacher1 | C1 | editingteacher |
       | student0 | C1 | student |
       | student1 | C1 | student |
+    And the following config values are set as admin:
+      | enableoutcomes | 1 |
     And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable outcomes | 1 |
-    And I expand "Grades" node
-    And I follow "Scales"
+    And I navigate to "Scales" node in "Site administration > Grades"
     And I press "Add a new scale"
     And I set the following fields to these values:
       | Name | Test Scale |
index fa968b3..fa1f945 100644 (file)
@@ -58,11 +58,9 @@ Feature: In an assignment, teachers grade multiple students on one page
       | teacher1 | C1 | editingteacher |
       | student1 | C1 | student |
       | student2 | C1 | student |
-    When I log in as "admin"
-    And I set the following administration settings values:
-      | Enable outcomes | 1 |
-    And I log out
-    And I log in as "teacher1"
+    And the following config values are set as admin:
+      | enableoutcomes | 1 |
+    When I log in as "teacher1"
     And I follow "Course 1"
     And I follow "Outcomes"
     And I follow "Edit outcomes"
index 9e8fd7d..82eff46 100644 (file)
@@ -33,9 +33,9 @@ Feature: Show users who have not responded to the feedback survey
     And the following "grouping groups" exist:
       | grouping | group  |
       | GXI1     | GI1    |
+    And the following config settings values are set as admin:
+      | enableavailability | 1 |
     And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable conditional access | 1 |
     And I navigate to "Manage activities" node in "Site administration > Plugins > Activity modules"
     And I click on "Show" "link" in the "Feedback" "table_row"
     And I log out
index 68ea132..a69fbd7 100644 (file)
@@ -17,11 +17,9 @@ Feature: Set a certain number of discussions as a completion condition for a for
       | user | course | role |
       | teacher1 | C1 | editingteacher |
       | student1 | C1 | student |
-    And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable completion tracking | 1 |
-      | Enable conditional access | 1 |
-    And I log out
+    And the following config values are set as admin:
+      | enablecompletion   | 1 |
+      | enableavailability | 1 |
     And I log in as "teacher1"
     And I follow "Course 1"
     And I turn editing mode on
index 5d94fbe..32d4567 100644 (file)
@@ -34,10 +34,8 @@ Feature: As a teacher I need to see an accurate list of subscribed users
     And the following "grouping groups" exist:
       | grouping | group |
       | GG1      | G1    |
-    And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable conditional access | 1 |
-    And I log out
+    And the following config values are set as admin:
+      | enableavailability | 1 |
     And I log in as "teacher"
     And I follow "Course 1"
     And I turn editing mode on
index c6217f5..5bf1233 100644 (file)
@@ -82,8 +82,8 @@ Feature: A teacher can set one of 3 possible options for tracking read forum pos
 
   @javascript
   Scenario: Tracking forum posts forced with user tracking on
-    Given I set the following administration settings values:
-      | Allow forced read tracking | 1 |
+    Given the following config values are set as admin:
+      | forum_allowforcedreadtracking | 1 |
     And I follow "Home"
     And I follow "Course 1"
     Given I add a "Forum" to section "1" and I fill the form with:
@@ -106,8 +106,8 @@ Feature: A teacher can set one of 3 possible options for tracking read forum pos
 
   @javascript
   Scenario: Tracking forum posts forced with user tracking off
-    Given I set the following administration settings values:
-      | Allow forced read tracking | 1 |
+    Given the following config values are set as admin:
+      | forum_allowforcedreadtracking | 1 |
     And I follow "Home"
     And I follow "Course 1"
     Given I add a "Forum" to section "1" and I fill the form with:
@@ -130,8 +130,8 @@ Feature: A teacher can set one of 3 possible options for tracking read forum pos
 
   @javascript
   Scenario: Tracking forum posts forced (with force disabled) with user tracking on
-    Given I set the following administration settings values:
-      | Allow forced read tracking | 1 |
+    Given the following config values are set as admin:
+      | forum_allowforcedreadtracking | 1 |
     And I follow "Home"
     And I follow "Course 1"
     Given I add a "Forum" to section "1" and I fill the form with:
@@ -142,8 +142,8 @@ Feature: A teacher can set one of 3 possible options for tracking read forum pos
     And I add a new discussion to "Test forum name" forum with:
       | Subject | Test post subject |
       | Message | Test post message |
-    And I set the following administration settings values:
-      | Allow forced read tracking | 0 |
+    And the following config values are set as admin:
+      | forum_allowforcedreadtracking | 0 |
     And I log out
     When I log in as "student1"
     And I follow "Course 1"
@@ -162,8 +162,8 @@ Feature: A teacher can set one of 3 possible options for tracking read forum pos
 
   @javascript
   Scenario: Tracking forum posts forced (with force disabled) with user tracking off
-    Given I set the following administration settings values:
-      | Allow forced read tracking | 1 |
+    Given the following config values are set as admin:
+      | forum_allowforcedreadtracking | 1 |
     And I follow "Home"
     And I follow "Course 1"
     Given I add a "Forum" to section "1" and I fill the form with:
@@ -174,8 +174,8 @@ Feature: A teacher can set one of 3 possible options for tracking read forum pos
     And I add a new discussion to "Test forum name" forum with:
       | Subject | Test post subject |
       | Message | Test post message |
-    And I set the following administration settings values:
-      | Allow forced read tracking | 0 |
+    And the following config values are set as admin:
+      | forum_allowforcedreadtracking | 0 |
     And I log out
     When I log in as "student2"
     And I follow "Course 1"
index bc16333..efc9c1e 100644 (file)
@@ -17,10 +17,8 @@ Feature: A teacher can set whether glossary entries are always editable or not
       | user | course | role |
       | teacher1 | C1 | editingteacher |
       | student1 | C1 | student |
-    And I log in as "admin"
-    And I set the following administration settings values:
-      | Maximum time to edit posts | 1 minutes |
-    And I log out
+    And the following config values are set as admin:
+      | maxeditingtime | 60 |
     And I log in as "teacher1"
     And I follow "Course 1"
     And I turn editing mode on
index 1bdc2a9..32cd09f 100644 (file)
@@ -17,10 +17,8 @@ Feature: Set end of lesson reached as a completion condition for a lesson
       | user | course | role |
       | teacher1 | C1 | editingteacher |
       | student1 | C1 | student |
-    And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable completion tracking | 1 |
-    And I log out
+    And the following config settings values are set as admin:
+      | enablecompletion | 1 |
     And I log in as "teacher1"
     And I follow "Course 1"
     And I turn editing mode on
index 221010a..e7f239f 100644 (file)
@@ -17,10 +17,8 @@ Feature: Set time spent as a completion condition for a lesson
       | user | course | role |
       | teacher1 | C1 | editingteacher |
       | student1 | C1 | student |
-    And I log in as "admin"
-    And I set the following administration settings values:
-      | Enable completion tracking | 1 |
-    And I log out
+    And the following config settings values are set as admin:
+      | enablecompletion | 1 |
     And I log in as "teacher1"
     And I follow "Course 1"
     And I turn editing mode on
index cf229a1..abcd188 100644 (file)
@@ -16,11 +16,10 @@ Feature: Set a quiz to be marked complete when the student uses all attempts all
       | user | course | role |
       | teacher1 | C1 | editingteacher |
       | student1 | C1 | student |
+    And the following config settings values are set as admin:
+     | enablecompletion | 1 |
     And I log in as "admin"
-    And I set the following administration settings values:
-     | Enable completion tracking | 1 |
-    And I expand "Grades" node
-    And I follow "Grade item settings"
+    And I navigate to "Grade item settings" node in "Site administration > Grades"
     And I set the field "Advanced grade item options" to "hiddenuntil"
     And I press "Save changes"
     And I log out
index afa40b7..b16bc85 100644 (file)
@@ -16,11 +16,10 @@ Feature: Set a quiz to be marked complete when the student passes
       | user | course | role |
       | teacher1 | C1 | editingteacher |
       | student1 | C1 | student |
+    And the following config settings values are set as admin:
+     | enablecompletion | 1 |
     And I log in as "admin"
-    And I set the following administration settings values:
-     | Enable completion tracking | 1 |
-    And I expand "Grades" node
-    And I follow "Grade item settings"
+    And I navigate to "Grade item settings" node in "Site administration > Grades"
     And I set the field "Advanced grade item options" to "hiddenuntil"
     And I press "Save changes"
     And I log out
index a9ad191..1a8cb40 100644 (file)
@@ -21,8 +21,8 @@ Feature: In a report, admin can filter log data
   Scenario: Filter log report for standard and legacy log reader
     Given I navigate to "Manage log stores" node in "Site administration > Plugins > Logging"
     And I click on "Enable" "link" in the "Legacy log" "table_row"
-    And I set the following administration settings values:
-      | Log legacy data | 1 |
+    And the following config values are set as admin:
+      | loglegacy | 1 | logstore_legacy |
     And I follow "Home"
     And I follow "Course 1"
     And I navigate to "Participants" node in "Current course > C1"
@@ -62,8 +62,8 @@ Feature: In a report, admin can filter log data
     Given I navigate to "Manage log stores" node in "Site administration > Plugins > Logging"
     And I click on "Enable" "link" in the "Legacy log" "table_row"
     And I click on "Disable" "link" in the "Standard log" "table_row"
-    And I set the following administration settings values:
-      | Log legacy data | 1 |
+    And the following config values are set as admin:
+      | loglegacy | 1 | logstore_legacy |
     And I follow "Home"
     And I follow "Course 1"
     And I follow "Home"
index 98b8347..3ec38ea 100644 (file)
@@ -11,8 +11,8 @@ Feature: In a report, admin can see loglive data
     And I log in as "admin"
     And I navigate to "Manage log stores" node in "Site administration > Plugins > Logging"
     And I click on "Enable" "link" in the "Legacy log" "table_row"
-    And I set the following administration settings values:
-      | Log legacy data | 1 |
+    And the following config values are set as admin:
+      | loglegacy | 1 | logstore_legacy |
     And I am on homepage
     And I follow "Course 1"
     And I turn editing mode on
index 65ef7f6..eb0abda 100644 (file)
@@ -33,8 +33,8 @@ Feature: View an outline report
     Given I navigate to "Manage log stores" node in "Site administration > Plugins > Logging"
     And I click on "Enable" "link" in the "Legacy log" "table_row"
     And I click on "Disable" "link" in the "Standard log" "table_row"
-    And I set the following administration settings values:
-      | Log legacy data | 1 |
+    And the following config values are set as admin:
+      | loglegacy | 1 | logstore_legacy |
     And I log out
     And I log in as "student1"
     And I follow "Course 1"
@@ -79,8 +79,8 @@ Feature: View an outline report
     Given I navigate to "Manage log stores" node in "Site administration > Plugins > Logging"
     And I click on "Enable" "link" in the "Legacy log" "table_row"
     And "Disable" "link" should exist in the "Standard log" "table_row"
-    And I set the following administration settings values:
-      | Log legacy data | 1 |
+    And the following config values are set as admin:
+      | loglegacy | 1 | logstore_legacy |
     And I log out
     And I log in as "student1"
     And I follow "Course 1"
index 8a181dc..10a33bb 100644 (file)
@@ -32,8 +32,8 @@ Feature: View the user page for the outline report
     Given I navigate to "Manage log stores" node in "Site administration > Plugins > Logging"
     And I click on "Enable" "link" in the "Legacy log" "table_row"
     And I click on "Disable" "link" in the "Standard log" "table_row"
-    And I set the following administration settings values:
-      | Log legacy data | 1 |
+    And the following config values are set as admin:
+      | loglegacy | 1 | logstore_legacy |
     And I log out
     And I log in as "student1"
     And I follow "Course 1"
@@ -84,8 +84,8 @@ Feature: View the user page for the outline report
     Given I navigate to "Manage log stores" node in "Site administration > Plugins > Logging"
     And I click on "Enable" "link" in the "Legacy log" "table_row"
     And "Disable" "link" should exist in the "Standard log" "table_row"
-    And I set the following administration settings values:
-      | Log legacy data | 1 |
+    And the following config values are set as admin:
+      | loglegacy | 1 | logstore_legacy |
     And I log out
     And I log in as "student1"
     And I follow "Course 1"
index 02f84df..6820059 100644 (file)
@@ -34,8 +34,8 @@ Feature: In a participation report, admin can filter student actions
     And I navigate to "Manage log stores" node in "Site administration > Plugins > Logging"
     And I click on "Disable" "link" in the "Standard log" "table_row"
     And I click on "Enable" "link" in the "Legacy log" "table_row"
-    And I set the following administration settings values:
-      | Log legacy data | 1 |
+    And the following config values are set as admin:
+      | loglegacy | 1 | logstore_legacy |
     And I log out
     And I log in as "student1"
     And I follow "Course 1"
@@ -55,8 +55,8 @@ Feature: In a participation report, admin can filter student actions
     And I navigate to "Manage log stores" node in "Site administration > Plugins > Logging"
     And I click on "Disable" "link" in the "Standard log" "table_row"
     And I click on "Enable" "link" in the "Legacy log" "table_row"
-    And I set the following administration settings values:
-      | Log legacy data | 1 |
+    And the following config values are set as admin:
+      | loglegacy | 1 | logstore_legacy |
     And I log out
     And I log in as "student1"
     And I follow "Course 1"
index f3923e5..cf822f2 100644 (file)
@@ -12,9 +12,9 @@ Feature: Tables can be sorted by additional names
     | student3 | Travis | Sutcliff | Peter | Mr T | student3@mail.com | s3 |
     And I log in as "admin"
     And I navigate to "User policies" node in "Site administration > Users > Permissions"
-    And I set the following administration settings values:
-    | Full name format | firstname middlename lastname |
-    | Alternative full name format | firstname middlename alternatename lastname |
+    And the following config values are set as admin:
+    | fullnamedisplay | firstname middlename lastname |
+    | alternativefullnameformat | firstname middlename alternatename lastname |
 
   @javascript
   Scenario: All user names are show and sortable in the administration user list.
index dc38c54..87efb76 100644 (file)
@@ -40,10 +40,8 @@ Feature: Access to full profiles of users
 
   @javascript
   Scenario: Viewing full profiles with forceloginforprofiles off
-    Given I log in as "admin"
-    And I set the following administration settings values:
-      |  Force users to log in for profiles | 0 |
-    And I log out
+    Given the following config values are set as admin:
+      |  forceloginforprofiles | 0 |
     When I log in as "student1"
     And I follow "Course 1"
     And I navigate to "Participants" node in "Current course > C1"