MDL-45894 navigation: Behat tests for user navigation.
authorAdrian Greeve <adrian@moodle.com>
Tue, 10 Feb 2015 07:03:37 +0000 (15:03 +0800)
committerAdrian Greeve <adrian@moodle.com>
Fri, 10 Apr 2015 09:17:05 +0000 (17:17 +0800)
Part of MDL-45774

user/tests/behat/user_grade_navigation.feature [new file with mode: 0644]

diff --git a/user/tests/behat/user_grade_navigation.feature b/user/tests/behat/user_grade_navigation.feature
new file mode 100644 (file)
index 0000000..c636c04
--- /dev/null
@@ -0,0 +1,101 @@
+@core @core_user
+Feature: The student can navigate to the My grades page and user grade report.
+  In order to view my grades and the user grade report
+  As a user
+  I need to log in and browse to my grades.
+
+  Background:
+    Given the following "users" exist:
+      | username | firstname | lastname | email |
+      | student1 | Student | 1 | student1@asd.com |
+      | student2 | Student | 2 | student2@asd.com |
+      | teacher1 | Teacher | 1 | teacher1@asd.com |
+      | parent1 | Parent | 1 | parent1@asd.com |
+    And the following "courses" exist:
+      | fullname | shortname | format |
+      | Course 1 | C1 | topics |
+      | Course 2 | C2 | topics |
+    And the following "course enrolments" exist:
+      | user | course | role |
+      | student1 | C1 | student |
+      | student2 | C1 | student |
+      | teacher1 | C1 | editingteacher |
+      | student1 | C2 | student |
+    And the following "activities" exist:
+      | activity | course | idnumber | name | intro | grade |
+      | assign | C1 | a1 | Test assignment one | Submit something! | 300 |
+      | assign | C1 | a2 | Test assignment two | Submit something! | 100 |
+      | assign | C1 | a3 | Test assignment three | Submit something! | 150 |
+      | assign | C2 | a4 | Test assignment four | Submit something! | 150 |
+    And I log in as "teacher1"
+    And I follow "Course 1"
+    And I follow "Grades"
+    And I turn editing mode on
+    And I give the grade "150.00" to the user "Student 1" for the grade item "Test assignment one"
+    And I give the grade "67.00" to the user "Student 1" for the grade item "Test assignment two"
+    And I press "Save changes"
+    And I log out
+
+  Scenario: Navigation to My grades and the user grade report.
+    When I log in as "student1"
+    And I follow "Student 1"
+    And I follow "My grades"
+    Then the following should exist in the "overview-grade" table:
+    | Course name | Grade |
+    | C2 | - |
+    | C1 | 217.00 |
+    And I follow "C1"
+    And the following should exist in the "user-grade" table:
+    | Grade item | Calculated weight | Grade | Range | Percentage | Contribution to course total |
+    | Test assignment one | 75.00 % | 150.00 | 0–300 | 50.00 % | 37.50 % |
+    | Test assignment two | 25.00 % | 67.00  | 0–100 | 67.00 % | 16.75 % |
+    | Test assignment three | 0.00 %( Empty ) | - | 0–150 | - | 0.00 % |
+
+  Scenario: Change My grades settings to go to a custom url.
+    When I log in as "admin"
+    And I set the following administration settings values:
+    | grade_mygrades_report | External URL |
+    | gradereport_mygradeurl | /badges/mybadges.php |
+    And I log out
+    And I log in as "student1"
+    And I follow "Student 1"
+    And I follow "My grades"
+    Then I should see "My badges from Acceptance test site web site"
+
+  @javascript
+  Scenario: Log in as a parent and view a childs grades.
+    When I log in as "admin"
+    And I follow "Turn editing on"
+    And I add the "Mentees" block
+    And I navigate to "Define roles" node in "Site administration > Users > Permissions"
+    And I click on "Add a new role" "button"
+    And I click on "Continue" "button"
+    And I set the following fields to these values:
+    | Short name | Parent |
+    | Custom full name | Parent |
+    | contextlevel30 | 1 |
+    | moodle/user:editprofile | 1 |
+    | moodle/user:viewalldetails | 1 |
+    | moodle/user:viewuseractivitiesreport | 1 |
+    | moodle/user:viewdetails | 1 |
+    And I click on "Create this role" "button"
+    And I navigate to "Browse list of users" node in "Site administration > Users > Accounts"
+    And I follow "Student 1"
+    And I navigate to "Assign roles relative to this user" node in "Profile settings for Student 1 > Roles"
+    And I follow "Parent"
+    And I click on "//select[@id='addselect']/descendant::option[contains(., 'Parent 1 (parent1@asd.com)')]" "xpath_element"
+    And I click on "Add" "button"
+    And I log out
+    And I log in as "parent1"
+    And I follow "Student 1"
+    And I follow "Grades"
+    Then the following should exist in the "overview-grade" table:
+    | Course name | Grade |
+    | C2 | - |
+    | C1 | 217.00 |
+    And I follow "C1"
+    And the following should exist in the "user-grade" table:
+    | Grade item | Calculated weight | Grade | Range | Percentage | Contribution to course total |
+    | Test assignment one | 75.00 % | 150.00 | 0–300 | 50.00 % | 37.50 % |
+    | Test assignment two | 25.00 % | 67.00  | 0–100 | 67.00 % | 16.75 % |
+    | Test assignment three | 0.00 %( Empty ) | - | 0–150 | - | 0.00 % |