MDL-52105 enrol_self: Behat test for key holder feature
[moodle.git] / enrol / self / tests / behat / key_holder.feature
1 @enrol @enrol_self
2 Feature: Users can be defined as key holders in courses where self enrolment is allowed
3   In order to participate in courses
4   As a user
5   I need to auto enrol me in courses
7   Background:
8     Given the following "users" exist:
9       | username | firstname | lastname | email |
10       | manager1 | Manager | 1 | manager1@example.com |
11       | student1 | Student | 1 | student1@example.com |
12     And the following "courses" exist:
13       | fullname | shortname | format |
14       | Course 1 | C1 | topics |
15     And I log in as "admin"
16     And I navigate to "Define roles" node in "Site administration > Users > Permissions"
17     And I click on "Add a new role" "button"
18     And I click on "Continue" "button"
19     And I set the following fields to these values:
20       | Short name | keyholder |
21       | Custom full name | Key holder |
22       | contextlevel50 | 1 |
23       | enrol/self:holdkey | 1 |
24     And I click on "Create this role" "button"
25     And I navigate to "Courses" node in "Site administration > Appearance"
26     And I set the following fields to these values:
27       | Key holder | 1 |
28     And I press "Save changes"
29     And the following "course enrolments" exist:
30       | user | course | role |
31       | manager1 | C1 | keyholder |
32     And I log out
34   @javascript
35   Scenario: The key holder name is displayed on site home page
36     Given I log in as "admin"
37     And I am on site homepage
38     And I follow "Course 1"
39     When I add "Self enrolment" enrolment method with:
40       | Custom instance name | Test student enrolment |
41       | Enrolment key | moodle_rules |
42     And I log out
43     And I log in as "student1"
44     And I am on site homepage
45     And I follow "Course 1"
46     And I should see "You should have received this enrolment key from:"
47     And I should see "Manager 1"
48     And I set the following fields to these values:
49       | Enrolment key | moodle_rules |
50     And I press "Enrol me"
51     Then I should see "Topic 1"
52     And I should not see "Enrolment options"
53     And I should not see "Enrol me in this course"