473bdade76ea79e4d3253afa895587d66f91176c
[moodle.git] / mod / forum / report / summary / tests / behat / course_summary.feature
1 @mod @mod_forum @forumreport @forumreport_summary
2 Feature: Course level forum summary report
3   In order to gain an overview of students' forum activities across a course
4   As a teacher
5   I should be able to prepare a summary report of all forums in a course
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       | student3 | Student   | 3        | student3@example.com |
14     And the following "courses" exist:
15       | fullname | shortname |
16       | Course 1 | C1        |
17       | Course 2 | C2        |
18     And the following "course enrolments" exist:
19       | user     | course | role           |
20       | teacher1 | C1     | editingteacher |
21       | teacher1 | C2     | editingteacher |
22       | student1 | C1     | student        |
23       | student2 | C1     | student        |
24       | student2 | C2     | student        |
25       | student3 | C2     | student        |
26     And the following "activities" exist:
27       | activity | name   | description | course | idnumber |
28       | forum    | forum1 | C1 forum 1  | C1     | forum1   |
29       | forum    | forum2 | C1 forum 2  | C1     | forum2   |
30       | forum    | forum3 | C1 forum 3  | C1     | forum3   |
31       | forum    | forum4 | C2 forum 1  | C2     | forum4   |
32     And the following forum discussions exist in course "Course 1":
33       | user     | forum  | name        | message      | created                 |
34       | teacher1 | forum1 | discussion1 | Discussion 1 | ##2018-01-14 09:00:00## |
35       | teacher1 | forum2 | discussion2 | Discussion 2 | ##2019-03-27 12:10:00## |
36       | teacher1 | forum3 | discussion3 | Discussion 3 | ##2019-12-25 15:20:00## |
37       | teacher1 | forum3 | discussion4 | Discussion 4 | ##2019-12-26 09:30:00## |
38       | student1 | forum2 | discussion5 | Discussion 5 | ##2019-06-06 18:40:00## |
39       | student1 | forum3 | discussion6 | Discussion 6 | ##2020-01-25 11:50:00## |
40     And the following forum replies exist in course "Course 1":
41       | user     | forum  | discussion  | subject | message | created                 |
42       | teacher1 | forum1 | discussion1 | Re d1   | Reply 1 | ##2018-02-15 11:10:00## |
43       | teacher1 | forum2 | discussion5 | Re d5   | Reply 2 | ##2019-06-09 18:20:00## |
44       | teacher1 | forum2 | discussion5 | Re d5   | Reply 3 | ##2019-07-10 09:30:00## |
45       | student1 | forum1 | discussion1 | Re d1   | Reply 4 | ##2018-01-25 16:40:00## |
46       | student1 | forum2 | discussion2 | Re d6   | Reply 5 | ##2019-03-28 11:50:00## |
47       | student1 | forum3 | discussion4 | Re d4   | Reply 6 | ##2019-12-30 20:00:00## |
48     And the following forum discussions exist in course "Course 2":
49       | user     | forum  | name        | message      | created                 |
50       | teacher1 | forum4 | discussion7 | Discussion 7 | ##2020-01-29 15:00:00## |
51       | student2 | forum4 | discussion8 | Discussion 8 | ##2020-02-02 16:00:00## |
52     And the following forum replies exist in course "Course 2":
53       | user     | forum  | discussion  | subject | message | created                 |
54       | teacher1 | forum4 | discussion8 | Re d8   | Reply 7 | ##2020-02-03 09:45:00## |
55       | student2 | forum4 | discussion7 | Re d7   | Reply 8 | ##2020-02-04 13:50:00## |
57   Scenario: Course forum summary report can be viewed by teacher and contains accurate data
58     When I log in as "teacher1"
59     And I am on "Course 1" course homepage
60     And I follow "forum2"
61     And I navigate to "Forum summary report" in current page administration
62     And I should see "Export posts"
63     And the following should exist in the "forumreport_summary_table" table:
64     # |                      | Discussions | Replies |                                    |                                   |
65       | First name / Surname | -3-         | -4-     | Earliest post                      | Most recent post                  |
66       | Student 1            | 1           | 1       | Thursday, 28 March 2019, 11:50 AM  | Thursday, 6 June 2019, 6:40 PM    |
67       | Student 2            | 0           | 0       | -                                  | -                                 |
68       | Teacher 1            | 1           | 2       | Wednesday, 27 March 2019, 12:10 PM | Wednesday, 10 July 2019, 9:30 AM  |
69     And the following should not exist in the "forumreport_summary_table" table:
70       | First name / Surname |
71       | Student 3            |
72     And the "Forum selected" select box should contain "All forums in course"
73     And the "Forum selected" select box should contain "forum1"
74     And the "Forum selected" select box should contain "forum2"
75     And the "Forum selected" select box should contain "forum3"
76     And the "Forum selected" select box should not contain "forum4"
77     Then I select "All forums in course" from the "Forum selected" singleselect
78     And I should not see "Export posts"
79     And the following should exist in the "forumreport_summary_table" table:
80     # |                      | Discussions | Replies |                                    |                                     |
81       | First name / Surname | -3-         | -4-     | Earliest post                      | Most recent post                    |
82       | Student 1            | 2           | 3       | Thursday, 25 January 2018, 4:40 PM | Saturday, 25 January 2020, 11:50 AM |
83       | Student 2            | 0           | 0       | -                                  | -                                   |
84       | Teacher 1            | 4           | 3       | Sunday, 14 January 2018, 9:00 AM   | Thursday, 26 December 2019, 9:30 AM |
85     And the following should not exist in the "forumreport_summary_table" table:
86       | First name / Surname |
87       | Student 3            |
89   Scenario: Students given the view capability can view their own course report data
90     Given the following "permission overrides" exist:
91       | capability               | permission | role    | contextlevel | reference |
92       | forumreport/summary:view | Allow      | student | Course       | C1        |
93     When I log in as "student1"
94     And I am on "Course 1" course homepage
95     And I follow "forum1"
96     And I navigate to "Forum summary report" in current page administration
97     And the following should exist in the "forumreport_summary_table" table:
98     # |                      | Discussions | Replies |                                    |                                    |
99       | First name / Surname | -2-         | -3-     | Earliest post                      | Most recent post                   |
100       | Student 1            | 0           | 1       | Thursday, 25 January 2018, 4:40 PM | Thursday, 25 January 2018, 4:40 PM |
101     And the following should not exist in the "forumreport_summary_table" table:
102       | First name / Surname |
103       | Student 2            |
104       | Student 3            |
105       | Teacher 1            |
106     And the "Forum selected" select box should contain "All forums in course"
107     And the "Forum selected" select box should contain "forum1"
108     And the "Forum selected" select box should contain "forum2"
109     And the "Forum selected" select box should contain "forum3"
110     And the "Forum selected" select box should not contain "forum4"
111     Then I select "All forums in course" from the "Forum selected" singleselect
112     And the following should exist in the "forumreport_summary_table" table:
113     # |                      | Discussions | Replies |                                    |                                     |
114       | First name / Surname | -2-         | -3-     | Earliest post                      | Most recent post                    |
115       | Student 1            | 2           | 3       | Thursday, 25 January 2018, 4:40 PM | Saturday, 25 January 2020, 11:50 AM |
116     And the following should not exist in the "forumreport_summary_table" table:
117       | First name / Surname |
118       | Student 2            |
119       | Student 3            |
120       | Teacher 1            |