06c8292368ce9540b02f4d05e1a14558f77b2016
[moodle.git] / mod / forum / tests / behat / forum_subscriptions_availability.feature
1 @mod @mod_forum
2 Feature: As a teacher I need to see an accurate list of subscribed users
3   In order to see who is subscribed to a forum
4   As a teacher
5   I need to view the list of subscribed users
7   Background:
8     Given the following "users" exist:
9       | username | firstname | lastname | email |
10       | teacher  | Teacher   | Teacher  | teacher@example.com |
11       | student1 | Student   | 1        | student.1@example.com |
12       | student2 | Student   | 2        | student.2@example.com |
13       | student3 | Student   | 3        | student.3@example.com |
14     And the following "courses" exist:
15       | fullname | shortname | category |
16       | Course 1 | C1 | 0 |
17     And the following "course enrolments" exist:
18       | user | course | role |
19       | teacher  | C1 | editingteacher |
20       | student1 | C1 | student |
21       | student2 | C1 | student |
22       | student3 | C1 | student |
23     And the following "groups" exist:
24       | name | course | idnumber |
25       | Group 1 | C1 | G1 |
26       | Group 2 | C1 | G2 |
27     And the following "group members" exist:
28       | user        | group |
29       | student1    | G1    |
30       | student2    | G2    |
31     And the following "groupings" exist:
32       | name        | course | idnumber |
33       | Grouping 1  | C1     | GG1      |
34     And the following "grouping groups" exist:
35       | grouping | group |
36       | GG1      | G1    |
37     And I log in as "teacher"
38     And I follow "Course 1"
39     And I turn editing mode on
41   @javascript
42   Scenario: A forced forum lists all subscribers
43     When I add a "Forum" to section "1" and I fill the form with:
44       | Forum name        | Forced Forum 1 |
45       | Forum type        | Standard forum for general use |
46       | Description       | Test forum description |
47       | Subscription mode | Forced subscription |
48     And I follow "Forced Forum 1"
49     And I navigate to "Show/edit current subscribers" in current page administration
50     Then I should see "Student 1"
51     And I should see "Teacher Teacher"
52     And I should see "Student 2"
53     And I should see "Student 3"
54     And I follow "Forced Forum 1"
55     And I navigate to "Edit settings" in current page administration
56     And I expand all fieldsets
57     And I click on "Add restriction..." "button"
58     And I click on "Grouping" "button" in the "Add restriction..." "dialogue"
59     And I set the field with xpath "//select[@name='id']" to "Grouping 1"
60     And I press "Save and display"
61     And I navigate to "Show/edit current subscribers" in current page administration
62     And I should see "Student 1"
63     And I should see "Teacher Teacher"
64     And I should not see "Student 2"
65     And I should not see "Student 3"
67   Scenario: A forced forum does not allow to edit the subscribers
68     When I add a "Forum" to section "1" and I fill the form with:
69       | Forum name        | Forced Forum 2 |
70       | Forum type        | Standard forum for general use |
71       | Description       | Test forum description |
72       | Subscription mode | Forced subscription |
73       | Visible           | Show |
74     And I follow "Forced Forum 2"
75     And I navigate to "Show/edit current subscribers" in current page administration
76     Then I should see "Teacher Teacher"
77     And I should see "Student 1"
78     And I should see "Student 2"
79     And I should see "Student 3"
80     And I should not see "Turn editing on"
82   Scenario: A forced and hidden forum lists only teachers
83     When I add a "Forum" to section "1" and I fill the form with:
84       | Forum name        | Forced Forum 2 |
85       | Forum type        | Standard forum for general use |
86       | Description       | Test forum description |
87       | Subscription mode | Forced subscription |
88       | Visible           | Hide |
89     And I follow "Forced Forum 2"
90     And I navigate to "Show/edit current subscribers" in current page administration
91     Then I should see "Teacher Teacher"
92     And I should not see "Student 1"
93     And I should not see "Student 2"
94     And I should not see "Student 3"
96   @javascript
97   Scenario: An automatic forum lists all subscribers
98     When I add a "Forum" to section "1" and I fill the form with:
99       | Forum name        | Forced Forum 1 |
100       | Forum type        | Standard forum for general use |
101       | Description       | Test forum description |
102       | Subscription mode | Auto subscription |
103     And I follow "Forced Forum 1"
104     And I navigate to "Show/edit current subscribers" in current page administration
105     Then I should see "Student 1"
106     And I should see "Teacher Teacher"
107     And I should see "Student 2"
108     And I should see "Student 3"
109     And I follow "Forced Forum 1"
110     And I navigate to "Edit settings" in current page administration
111     And I expand all fieldsets
112     And I click on "Add restriction..." "button"
113     And I click on "Grouping" "button" in the "Add restriction..." "dialogue"
114     And I set the field with xpath "//select[@name='id']" to "Grouping 1"
115     And I press "Save and display"
116     And I navigate to "Show/edit current subscribers" in current page administration
117     And I should see "Student 1"
118     And I should see "Teacher Teacher"
119     And I should not see "Student 2"
120     And I should not see "Student 3"