d08ce1d75672f132b9cc06c405d79c53e0a5a617
[moodle.git] / mod / forum / tests / behat / track_read_posts.feature
1 @mod @mod_forum
2 Feature: A teacher can set one of 3 possible options for tracking read forum posts
3   In order to ease the forum posts follow up
4   As a user
5   I need to distinct the unread posts from the read ones
7   Background:
8     Given the following "users" exists:
9       | username | firstname | lastname | email | trackforums |
10       | student1 | Student | 1 | student1@asd.com | 1 |
11       | student2 | Student | 2 | student2@asd.com | 0 |
12     And the following "courses" exists:
13       | fullname | shortname | category |
14       | Course 1 | C1 | 0 |
15     And the following "course enrolments" exists:
16       | user | course | role |
17       | student1 | C1 | student |
18       | student2 | C1 | student |
19     And I log in as "admin"
20     And I follow "Course 1"
21     And I turn editing mode on
23   @javascript
24   Scenario: Tracking forum posts off
25     Given I add a "Forum" to section "1" and I fill the form with:
26       | Forum name | Test forum name |
27       | Forum type | Standard forum for general use |
28       | Description | Test forum description |
29       | Read tracking | Off |
30     And I add a new discussion to "Test forum name" forum with:
31       | Subject | Test post subject |
32       | Message | Test post message |
33     And I wait "6" seconds
34     And I log out
35     When I log in as "student1"
36     And I follow "Course 1"
37     Then I should not see "1 unread post"
38     And I follow "Test forum name"
39     And I should not see "Track unread posts"
41   @javascript
42   Scenario: Tracking forum posts optional with user tracking on
43     Given I add a "Forum" to section "1" and I fill the form with:
44       | Forum name | Test forum name |
45       | Forum type | Standard forum for general use |
46       | Description | Test forum description |
47       | Read tracking | Optional |
48     And I add a new discussion to "Test forum name" forum with:
49       | Subject | Test post subject |
50       | Message | Test post message |
51     And I wait "6" seconds
52     And I log out
53     When I log in as "student1"
54     And I follow "Course 1"
55     Then I should see "1 unread post"
56     And I follow "Test forum name"
57     And I follow "Don't track unread posts"
58     And I wait "4" seconds
59     And I follow "Course 1"
60     And I should not see "1 unread post"
61     And I follow "Test forum name"
62     And I follow "Track unread posts"
63     And I wait "4" seconds
64     And I follow "1"
65     And I follow "Course 1"
66     And I should not see "1 unread post"
68   @javascript
69   Scenario: Tracking forum posts optional with user tracking off
70     Given I add a "Forum" to section "1" and I fill the form with:
71       | Forum name | Test forum name |
72       | Forum type | Standard forum for general use |
73       | Description | Test forum description |
74       | Read tracking | Optional |
75     And I add a new discussion to "Test forum name" forum with:
76       | Subject | Test post subject |
77       | Message | Test post message |
78     And I wait "6" seconds
79     And I log out
80     When I log in as "student2"
81     And I follow "Course 1"
82     Then I should not see "1 unread post"
83     And I follow "Test forum name"
84     And I should not see "Track unread posts"
86   @javascript
87   Scenario: Tracking forum posts forced with user tracking on
88     And I set the following administration settings values:
89       | Allow forced read tracking | 1 |
90     And I follow "Home"
91     And I follow "Course 1"
92     Given I add a "Forum" to section "1" and I fill the form with:
93       | Forum name | Test forum name |
94       | Forum type | Standard forum for general use |
95       | Description | Test forum description |
96       | Read tracking | Force |
97     And I add a new discussion to "Test forum name" forum with:
98       | Subject | Test post subject |
99       | Message | Test post message |
100     And I wait "6" seconds
101     And I log out
102     When I log in as "student1"
103     And I follow "Course 1"
104     Then I should see "1 unread post"
105     And I follow "1 unread post"
106     And I should not see "Don't track unread posts"
107     And I follow "Test post subject"
108     And I follow "Course 1"
109     And I should not see "1 unread post"
111   @javascript
112   Scenario: Tracking forum posts forced with user tracking off
113     And I set the following administration settings values:
114       | Allow forced read tracking | 1 |
115     And I follow "Home"
116     And I follow "Course 1"
117     Given I add a "Forum" to section "1" and I fill the form with:
118       | Forum name | Test forum name |
119       | Forum type | Standard forum for general use |
120       | Description | Test forum description |
121       | Read tracking | Force |
122     And I add a new discussion to "Test forum name" forum with:
123       | Subject | Test post subject |
124       | Message | Test post message |
125     And I wait "6" seconds
126     And I log out
127     When I log in as "student2"
128     And I follow "Course 1"
129     Then I should see "1 unread post"
130     And I follow "1 unread post"
131     And I should not see "Don't track unread posts"
132     And I follow "Test post subject"
133     And I follow "Course 1"
134     And I should not see "1 unread post"
136   @javascript
137   Scenario: Tracking forum posts forced (with force disabled) with user tracking on
138     And I set the following administration settings values:
139       | Allow forced read tracking | 1 |
140     And I follow "Home"
141     And I follow "Course 1"
142     Given I add a "Forum" to section "1" and I fill the form with:
143       | Forum name | Test forum name |
144       | Forum type | Standard forum for general use |
145       | Description | Test forum description |
146       | Read tracking | Force |
147     And I add a new discussion to "Test forum name" forum with:
148       | Subject | Test post subject |
149       | Message | Test post message |
150     And I wait "6" seconds
151     And I set the following administration settings values:
152       | Allow forced read tracking | 0 |
153     And I log out
154     When I log in as "student1"
155     And I follow "Course 1"
156     Then I should see "1 unread post"
157     And I follow "Test forum name"
158     And I follow "Don't track unread posts"
159     And I wait "4" seconds
160     And I follow "Course 1"
161     And I should not see "1 unread post"
162     And I follow "Test forum name"
163     And I follow "Track unread posts"
164     And I wait "4" seconds
165     And I follow "1"
166     And I follow "Course 1"
167     And I should not see "1 unread post"
169   @javascript
170   Scenario: Tracking forum posts forced (with force disabled) with user tracking off
171     And I set the following administration settings values:
172       | Allow forced read tracking | 1 |
173     And I follow "Home"
174     And I follow "Course 1"
175     Given I add a "Forum" to section "1" and I fill the form with:
176       | Forum name | Test forum name |
177       | Forum type | Standard forum for general use |
178       | Description | Test forum description |
179       | Read tracking | Force |
180     And I add a new discussion to "Test forum name" forum with:
181       | Subject | Test post subject |
182       | Message | Test post message |
183     And I wait "6" seconds
184     And I set the following administration settings values:
185       | Allow forced read tracking | 0 |
186     And I log out
187     When I log in as "student2"
188     And I follow "Course 1"
189     Then I should not see "1 unread post"
190     And I follow "Test forum name"
191     And I should not see "Track unread posts"