Merge branch 'MDL-53140-master' of git://github.com/rezaies/moodle
[moodle.git] / completion / tests / behat / restrict_activity_by_grade.feature
1 @core @core_completion
2 Feature: Restrict activity availability through grade conditions
3   In order to control activity access through grade condition
4   As a teacher
5   I need to set grade condition to restrict activity access
7   @javascript
8   Scenario: Show activity greyed-out to students when grade condition is not satisfied
9     Given the following "courses" exist:
10       | fullname | shortname | category |
11       | Course 1 | C1 | 0 |
12     And the following "users" exist:
13       | username | firstname | lastname | email |
14       | teacher1 | Teacher | Frist | teacher1@example.com |
15       | student1 | Student | First | student1@example.com |
16     And the following "course enrolments" exist:
17       | user | course | role |
18       | teacher1 | C1 | editingteacher |
19       | student1 | C1 | student |
20     And I log in as "teacher1"
21     And I am on "Course 1" course homepage with editing mode on
22     And I add a "Assignment" to section "1" and I fill the form with:
23       | Assignment name | Grade assignment |
24       | Description | Grade this assignment to revoke restriction on restricted assignment |
25       | assignsubmission_onlinetext_enabled | 1 |
26       | assignsubmission_file_enabled | 0 |
27     # Adding the page like this because id_availableform_enabled needs to be clicked to trigger the action.
28     And I add a "Page" to section "2"
29     And I expand all fieldsets
30     And I click on "Add restriction..." "button"
31     And I click on "Grade" "button" in the "Add restriction..." "dialogue"
32     And I click on "min" "checkbox"
33     And I set the following fields to these values:
34       | Name | Test page name |
35       | Description | Restricted page, till grades in Grade assignment is at least 20% |
36       | Page content | Test page contents |
37       | id | Grade assignment |
38       | minval | 20 |
39     And I press "Save and return to course"
40     And I log out
41     When I log in as "student1"
42     And I am on "Course 1" course homepage
43     Then I should see "Not available unless: You achieve a required score in Grade assignment"
44     And "Test page name" activity should be dimmed
45     And "Test page name" "link" should not exist
46     And I follow "Grade assignment"
47     And I press "Add submission"
48     And I set the following fields to these values:
49       | Online text | I'm the student submission |
50     And I press "Save changes"
51     And I should see "Submitted for grading"
52     And I log out
53     And I log in as "teacher1"
54     And I am on "Course 1" course homepage
55     And I follow "Grade assignment"
56     And I navigate to "View all submissions" in current page administration
57     And I click on "Grade" "link" in the "Student First" "table_row"
58     And I set the following fields to these values:
59       | Grade | 21 |
60     And I press "Save changes"
61     And I press "Ok"
62     And I follow "Edit settings"
63     And I log out
64     And I log in as "student1"
65     And I am on "Course 1" course homepage
66     And "Test page name" activity should be visible
67     And I should not see "Not available unless: You achieve a required score in Grade assignment"