MDL-52873 forms: Generate unique id attributes for modgrade elements
[moodle.git] / blocks / activity_results / tests / behat / highscoreswithscales.feature
1 @block @block_activity_results
2 Feature: The activity results block displays student scores as scales
3   In order to be display student scores as scales
4   As a user
5   I need to see the activity results block
7   Background:
8     Given the following "users" exist:
9       | username | firstname | lastname | email | idnumber |
10       | teacher1 | Teacher | 1 | teacher1@example.com | T1 |
11       | student1 | Student | 1 | student1@example.com | S1 |
12       | student2 | Student | 2 | student2@example.com | S2 |
13       | student3 | Student | 3 | student3@example.com | S3 |
14       | student4 | Student | 4 | student4@example.com | S4 |
15       | student5 | Student | 5 | student5@example.com | S5 |
16     And the following "courses" exist:
17       | fullname | shortname | category |
18       | Course 1 | C1 | 0 |
19     And the following "course enrolments" exist:
20       | user | course | role |
21       | teacher1 | C1 | editingteacher |
22       | student1 | C1 | student |
23       | student2 | C1 | student |
24       | student3 | C1 | student |
25       | student4 | C1 | student |
26       | student5 | C1 | student |
27     And I log in as "teacher1"
28     And I follow "Course 1"
29     And I navigate to "Grades" node in "Course administration"
30     And I navigate to "Scales" node in "Grade administration"
31     And I press "Add a new scale"
32     And I set the following fields to these values:
33       | Name | My Scale |
34       | Scale | Disappointing, Not good enough, Average, Good, Very good, Excellent! |
35     And I press "Save changes"
36     And I follow "Course 1"
37     And I turn editing mode on
38     And I add a "Assignment" to section "1" and I fill the form with:
39       | Assignment name | Test assignment |
40       | Description | Offline text |
41       | assignsubmission_file_enabled | 0 |
42       | id_grade_modgrade_type | Scale |
43       | id_grade_modgrade_scale | My Scale |
44     And I follow "Course 1"
45     And I navigate to "Grades" node in "Course administration"
46     And I turn editing mode on
47     And I give the grade "Excellent!" to the user "Student 1" for the grade item "Test assignment"
48     And I give the grade "Very good" to the user "Student 2" for the grade item "Test assignment"
49     And I give the grade "Good" to the user "Student 3" for the grade item "Test assignment"
50     And I give the grade "Average" to the user "Student 4" for the grade item "Test assignment"
51     And I give the grade "Not good enough" to the user "Student 5" for the grade item "Test assignment"
52     And I press "Save changes"
53     And I follow "Course 1"
55   Scenario: Configure the block on the course page to show 1 high score
56     Given I add the "Activity results" block
57     When I configure the "Activity results" block
58     And I set the following fields to these values:
59       | id_config_showbest | 1 |
60       | id_config_showworst | 0 |
61       | id_config_nameformat | Display full names |
62       | id_config_decimalpoints | 0 |
63     And I press "Save changes"
64     Then I should see "Student 1" in the "Activity results" "block"
65     And I should see "Excellent!" in the "Activity results" "block"
67   Scenario: Try to configure the block on the course page to show multiple high scores using full names
68     Given I add the "Activity results" block
69     When I configure the "Activity results" block
70     And I set the following fields to these values:
71       | id_config_showbest | 3 |
72       | id_config_showworst | 0 |
73       | id_config_nameformat | Display full names |
74     And I press "Save changes"
75     Then I should see "Student 1" in the "Activity results" "block"
76     And I should see "Excellent!" in the "Activity results" "block"
77     And I should see "Student 2" in the "Activity results" "block"
78     And I should see "Very good" in the "Activity results" "block"
79     And I should see "Student 3" in the "Activity results" "block"
80     And I should see "Good" in the "Activity results" "block"
82   Scenario: Try to configure the block on the course page to show multiple high scores using ID numbers
83     Given I add the "Activity results" block
84     When I configure the "Activity results" block
85     And I set the following fields to these values:
86       | id_config_showbest | 3 |
87       | id_config_showworst | 0 |
88       | id_config_nameformat | Display only ID numbers |
89     And I press "Save changes"
90     Then I should see "User S1" in the "Activity results" "block"
91     And I should see "Excellent!" in the "Activity results" "block"
92     And I should see "User S2" in the "Activity results" "block"
93     And I should see "Very good" in the "Activity results" "block"
94     And I should see "User S3" in the "Activity results" "block"
95     And I should see "Good" in the "Activity results" "block"
97   Scenario: Try to configure the block on the course page to show multiple high scores using anonymous names
98     Given I add the "Activity results" block
99     When I configure the "Activity results" block
100     And I set the following fields to these values:
101       | id_config_showbest | 3 |
102       | id_config_showworst | 0 |
103       | id_config_nameformat | Anonymous results |
104     And I press "Save changes"
105     Then I should see "User" in the "Activity results" "block"
106     And I should not see "Student 1" in the "Activity results" "block"
107     And I should see "Excellent!" in the "Activity results" "block"
108     And I should not see "Student 2" in the "Activity results" "block"
109     And I should see "Very good" in the "Activity results" "block"
110     And I should not see "Student 3" in the "Activity results" "block"
111     And I should see "Good" in the "Activity results" "block"