MDL-65069 mod_forum: Stripped out inpage form and advanced redirect
[moodle.git] / mod / forum / tests / behat / forum_subscriptions_default.feature
1 @mod @mod_forum
2 Feature: A user can control their default discussion subscription settings
3   In order to automatically subscribe to discussions
4   As a user
5   I can choose my default subscription preference
7   Background:
8     Given the following "users" exist:
9       | username | firstname | lastname | email                   | autosubscribe |
10       | student1 | Student   | One      | student.one@example.com | 1             |
11       | student2 | Student   | Two      | student.one@example.com | 0             |
12     And the following "courses" exist:
13       | fullname | shortname | category |
14       | Course 1 | C1 | 0 |
15     And the following "course enrolments" exist:
16       | user | course | role |
17       | student1 | C1 | student |
18       | student2 | C1 | student |
19     And I log in as "admin"
20     And I am on "Course 1" course homepage with editing mode on
22   Scenario: Creating a new discussion in an optional forum follows user preferences
23     Given I add a "Forum" to section "1" and I fill the form with:
24       | Forum name        | Test forum name |
25       | Forum type        | Standard forum for general use |
26       | Description       | Test forum description |
27       | Subscription mode | Optional subscription |
28     And I log out
29     And I log in as "student1"
30     And I am on "Course 1" course homepage
31     And I follow "Test forum name"
32     When I click on "Add a new discussion topic" "link"
33     And I click on "Advanced" "button"
34     Then "input[name=discussionsubscribe][checked=checked]" "css_element" should exist
35     And I log out
36     And I log in as "student2"
37     And I am on "Course 1" course homepage
38     And I follow "Test forum name"
39     And I click on "Add a new discussion topic" "link"
40     And I click on "Advanced" "button"
41     And "input[name=discussionsubscribe]:not([checked=checked])" "css_element" should exist
43   Scenario: Replying to an existing discussion in an optional forum follows user preferences
44     Given I add a "Forum" to section "1" and I fill the form with:
45       | Forum name        | Test forum name |
46       | Forum type        | Standard forum for general use |
47       | Description       | Test forum description |
48       | Subscription mode | Optional subscription |
49     And I add a new discussion to "Test forum name" forum with:
50       | Subject | Test post subject |
51       | Message | Test post message |
52     And I log out
53     And I log in as "student1"
54     And I am on "Course 1" course homepage
55     And I follow "Test forum name"
56     And I follow "Test post subject"
57     When I follow "Reply"
58     Then "input[name=discussionsubscribe][checked=checked]" "css_element" should exist
59     And I log out
60     And I log in as "student2"
61     And I am on "Course 1" course homepage
62     And I follow "Test forum name"
63     And I follow "Test post subject"
64     And I follow "Reply"
65     And "input[name=discussionsubscribe]:not([checked=checked])" "css_element" should exist
67   Scenario: Creating a new discussion in an automatic forum follows forum subscription
68     Given I add a "Forum" to section "1" and I fill the form with:
69       | Forum name        | Test forum name |
70       | Forum type        | Standard forum for general use |
71       | Description       | Test forum description |
72       | Subscription mode | Auto subscription |
73     And I log out
74     And I log in as "student1"
75     And I am on "Course 1" course homepage
76     And I follow "Test forum name"
77     When I click on "Add a new discussion topic" "link"
78     And I click on "Advanced" "button"
79     Then "input[name=discussionsubscribe][checked=checked]" "css_element" should exist
80     And I log out
81     And I log in as "student2"
82     And I am on "Course 1" course homepage
83     And I follow "Test forum name"
84     And I click on "Add a new discussion topic" "link"
85     And I click on "Advanced" "button"
86     And "input[name=discussionsubscribe][checked=checked]" "css_element" should exist
88   Scenario: Replying to an existing discussion in an automatic forum follows forum subscription
89     Given I add a "Forum" to section "1" and I fill the form with:
90       | Forum name        | Test forum name |
91       | Forum type        | Standard forum for general use |
92       | Description       | Test forum description |
93       | Subscription mode | Optional subscription |
94     And I add a new discussion to "Test forum name" forum with:
95       | Subject | Test post subject |
96       | Message | Test post message |
97     And I log out
98     And I log in as "student1"
99     And I am on "Course 1" course homepage
100     And I follow "Test forum name"
101     And I follow "Test post subject"
102     When I follow "Reply"
103     Then "input[name=discussionsubscribe][checked=checked]" "css_element" should exist
104     And I log out
105     And I log in as "student2"
106     And I am on "Course 1" course homepage
107     And I follow "Test forum name"
108     And I follow "Test post subject"
109     And I follow "Reply"
110     And "input[name=discussionsubscribe]:not([checked=checked])" "css_element" should exist
112   Scenario: Replying to an existing discussion in an automatic forum which has been unsubscribed from follows user preferences
113     Given I add a "Forum" to section "1" and I fill the form with:
114       | Forum name        | Test forum name |
115       | Forum type        | Standard forum for general use |
116       | Description       | Test forum description |
117       | Subscription mode | Auto subscription |
118     And I add a new discussion to "Test forum name" forum with:
119       | Subject | Test post subject |
120       | Message | Test post message |
121     And I log out
122     And I log in as "student1"
123     And I am on "Course 1" course homepage
124     And I follow "Test forum name"
125     And I click on "You are subscribed to this discussion. Click to unsubscribe." "link" in the "Test post subject" "table_row"
126     And I should see "Student One will NOT be notified of new posts in 'Test post subject' of 'Test forum name'"
127     And I follow "Test post subject"
128     When I follow "Reply"
129     And "input[name=discussionsubscribe][checked=checked]" "css_element" should exist
130     And I log out
131     And I log in as "student2"
132     And I am on "Course 1" course homepage
133     And I follow "Test forum name"
134     And I click on "You are subscribed to this discussion. Click to unsubscribe." "link" in the "Test post subject" "table_row"
135     And I should see "Student Two will NOT be notified of new posts in 'Test post subject' of 'Test forum name'"
136     And I follow "Test post subject"
137     And I follow "Reply"
138     And "input[name=discussionsubscribe]:not([checked=checked])" "css_element" should exist