e3ffc92aef1646d6f54b97fd87f96308b809b540
[moodle.git] / admin / tool / behat / tests / behat / edit_permissions.feature
1 @tool @tool_behat
2 Feature: Edit capabilities
3   In order to extend and restrict moodle features
4   As an admin or a teacher
5   I need to allow/deny the existing capabilities at different levels
7   Background:
8     Given the following "users" exist:
9       | username | firstname | lastname | email |
10       | teacher1 | Teacher | 1 | teacher1@example.com |
11     And the following "courses" exist:
12       | fullname | shortname | category |
13       | Course 1 | C1 | 0 |
14     And the following "course enrolments" exist:
15       | user | course | role |
16       | teacher1 | C1 | editingteacher |
18   Scenario: Default system capabilities modification
19     Given I log in as "admin"
20     And I set the following system permissions of "Teacher" role:
21       | capability | permission |
22       | block/mnet_hosts:myaddinstance | Allow |
23       | moodle/site:messageanyuser | Inherit |
24       | moodle/grade:managesharedforms | Prevent |
25       | moodle/course:request | Prohibit |
26     When I follow "Edit Teacher role"
27     Then "block/mnet_hosts:myaddinstance" capability has "Allow" permission
28     And "moodle/site:messageanyuser" capability has "Not set" permission
29     And "moodle/grade:managesharedforms" capability has "Prevent" permission
30     And "moodle/course:request" capability has "Prohibit" permission
32   Scenario: Course capabilities overrides
33     Given I log in as "teacher1"
34     And I am on "Course 1" course homepage
35     And I navigate to "Users > Permissions" in current page administration
36     And I override the system permissions of "Student" role with:
37       | mod/forum:deleteanypost | Prohibit |
38       | mod/forum:editanypost | Prevent |
39       | mod/forum:addquestion | Allow |
40     When I set the field "Advanced role override" to "Student (3)"
41     And I press "Go"
42     Then "mod/forum:deleteanypost" capability has "Prohibit" permission
43     And "mod/forum:editanypost" capability has "Prevent" permission
44     And "mod/forum:addquestion" capability has "Allow" permission
46   Scenario: Module capabilities overrides
47     Given I log in as "teacher1"
48     And I am on "Course 1" course homepage with editing mode on
49     And I add a "Forum" to section "1" and I fill the form with:
50       | Forum name | I'm the name |
51       | Description | I'm the introduction |
52     And I follow "I'm the name"
53     And I navigate to "Permissions" in current page administration
54     And I override the system permissions of "Student" role with:
55       | mod/forum:deleteanypost | Prohibit |
56       | mod/forum:editanypost | Prevent |
57       | mod/forum:addquestion | Allow |
58     When I set the field "Advanced role override" to "Student (3)"
59     And I click on "Go" "button" in the "region-main" "region"
60     Then "mod/forum:deleteanypost" capability has "Prohibit" permission
61     And "mod/forum:editanypost" capability has "Prevent" permission
62     And "mod/forum:addquestion" capability has "Allow" permission