b2447727fc6cb4aff460d960a1674fa82516c36d
[moodle.git] / mod / forum / tests / behat / discussion_navigation.feature
1 @mod @mod_forum
2 Feature: A user can navigate to previous and next discussions
3   In order to get go the previous discussion
4   As a user
5   I need to click on the previous discussion link
7   Background:
8     Given the following "users" exist:
9       | username | firstname | lastname | email                 |
10       | teacher1 | Teacher   | 1        | teacher1@example.com  |
11       | student1 | Student   | 1        | student1@example.com  |
12       | student2 | Student   | 2        | student2@example.com  |
13     And the following "courses" exist:
14       | fullname | shortname  | category  |
15       | Course 1 | C1         | 0         |
16     And the following "course enrolments" exist:
17       | user | course | role |
18       | teacher1 | C1 | editingteacher |
19       | student1 | C1 | student |
20       | student2 | C1 | student |
21     And the following "groups" exist:
22       | name | course | idnumber |
23       | Group 1 | C1 | G1 |
24       | Group 2 | C1 | G2 |
25     And the following "group members" exist:
26       | user | group |
27       | teacher1 | G1 |
28       | teacher1 | G2 |
29       | student1 | G1 |
30       | student2 | G2 |
32   Scenario: A user can navigate between discussions
33     Given the following "activities" exist:
34       | activity   | name                   | intro             | course | idnumber     | groupmode |
35       | forum      | Test forum name        | Test forum name   | C1     | forum        | 0         |
36     And I log in as "teacher1"
37     And I follow "Course 1"
38     And I follow "Test forum name"
39     And I add a new discussion to "Test forum name" forum with:
40       | Subject | Discussion 1 |
41       | Message | Test post message |
42     And I wait "1" seconds
43     And I add a new discussion to "Test forum name" forum with:
44       | Subject | Discussion 2 |
45       | Message | Test post message |
46     And I wait "1" seconds
47     And I add a new discussion to "Test forum name" forum with:
48       | Subject | Discussion 3 |
49       | Message | Test post message |
50     When I follow "Discussion 3"
51     Then I should not see "Discussion 1"
52     And I should see "Discussion 2"
53     And I follow "Discussion 2"
54     And I should see "Discussion 1"
55     And I should see "Discussion 3"
56     And I follow "Discussion 1"
57     And I should see "Discussion 2"
58     And I should not see "Discussion 3"
59     And I follow "Reply"
60     And I set the following fields to these values:
61       | Message | Answer to discussion |
62     And I press "Post to forum"
63     And I wait to be redirected
64     And I should not see "Discussion 2"
65     And I should see "Discussion 3"
66     And I follow "Discussion 3"
67     And I should see "Discussion 1"
68     And I should see "Discussion 2"
69     And I follow "Discussion 2"
70     And I should not see "Discussion 1"
71     And I should see "Discussion 3"
73   Scenario: A user can navigate between discussions with visible groups
74     Given the following "activities" exist:
75       | activity   | name                   | intro             | course | idnumber     | groupmode |
76       | forum      | Test forum name        | Test forum name   | C1     | forum        | 2         |
77     And I log in as "teacher1"
78     And I follow "Course 1"
79     And I follow "Test forum name"
80     And I add a new discussion to "Test forum name" forum with:
81       | Subject | Discussion 1 Group 0 |
82       | Message | Test post message |
83     And I wait "1" seconds
84     And I add a new discussion to "Test forum name" forum with:
85       | Subject | Discussion 2 Group 0 |
86       | Message | Test post message |
87     And I wait "1" seconds
88     And I add a new discussion to "Test forum name" forum with:
89       | Subject | Discussion 1 Group 1 |
90       | Message | Test post message |
91       | Group   | Group 1 |
92     And I wait "1" seconds
93     And I add a new discussion to "Test forum name" forum with:
94       | Subject | Discussion 2 Group 1 |
95       | Message | Test post message |
96       | Group   | Group 1 |
97     And I wait "1" seconds
98     And I add a new discussion to "Test forum name" forum with:
99       | Subject | Discussion 1 Group 2 |
100       | Message | Test post message |
101       | Group   | Group 2 |
102     And I wait "1" seconds
103     And I add a new discussion to "Test forum name" forum with:
104       | Subject | Discussion 2 Group 2 |
105       | Message | Test post message |
106       | Group   | Group 2 |
107     And I log out
108     When I log in as "student1"
109     And I follow "Course 1"
110     And I follow "Test forum name"
111     And I select "All participants" from the "Visible groups" singleselect
112     And I follow "Discussion 1 Group 0"
113     Then I should see "Discussion 2 Group 0"
114     And I should not see "Group 1"
115     And I should not see "Group 2"
116     And I follow "Discussion 2 Group 0"
117     And I should see "Discussion 1 Group 0"
118     And I should see "Discussion 1 Group 1"
119     And I follow "Discussion 1 Group 1"
120     And I should see "Discussion 2 Group 0"
121     And I should see "Discussion 2 Group 1"
122     And I follow "Test forum name"
123     And I follow "Discussion 1 Group 2"
124     And I should see "Discussion 2 Group 1"
125     And I should see "Discussion 2 Group 2"
126     And I follow "Test forum name"
127     And I select "Group 1" from the "Visible groups" singleselect
128     And I follow "Discussion 1 Group 1"
129     Then I should see "Discussion 2 Group 0"
130     And I should see "Discussion 2 Group 1"
131     And I follow "Discussion 2 Group 1"
132     And I should see "Discussion 1 Group 1"
133     And I should not see "Group 2"
135   Scenario: A user can navigate between discussions with separate groups
136     Given the following "activities" exist:
137       | activity   | name                   | intro             | course | idnumber     | groupmode |
138       | forum      | Test forum name        | Test forum name   | C1     | forum        | 1         |
139     And I log in as "teacher1"
140     And I follow "Course 1"
141     And I follow "Test forum name"
142     And I add a new discussion to "Test forum name" forum with:
143       | Subject | Discussion 1 Group 0 |
144       | Message | Test post message |
145     And I wait "1" seconds
146     And I add a new discussion to "Test forum name" forum with:
147       | Subject | Discussion 2 Group 0 |
148       | Message | Test post message |
149     And I wait "1" seconds
150     And I add a new discussion to "Test forum name" forum with:
151       | Subject | Discussion 1 Group 1 |
152       | Message | Test post message |
153       | Group   | Group 1 |
154     And I wait "1" seconds
155     And I add a new discussion to "Test forum name" forum with:
156       | Subject | Discussion 2 Group 1 |
157       | Message | Test post message |
158       | Group   | Group 1 |
159     And I wait "1" seconds
160     And I add a new discussion to "Test forum name" forum with:
161       | Subject | Discussion 1 Group 2 |
162       | Message | Test post message |
163       | Group   | Group 2 |
164     And I wait "1" seconds
165     And I add a new discussion to "Test forum name" forum with:
166       | Subject | Discussion 2 Group 2 |
167       | Message | Test post message |
168       | Group   | Group 2 |
169     And I log out
170     When I log in as "student1"
171     And I follow "Course 1"
172     And I follow "Test forum name"
173     And I follow "Discussion 1 Group 1"
174     Then I should see "Discussion 2 Group 0"
175     And I should see "Discussion 2 Group 1"
176     And I follow "Discussion 2 Group 1"
177     And I should see "Discussion 1 Group 1"
178     And I should not see "Group 2"