3189fa1973609244de26dcf58438e6542c324119
[moodle.git] / mod / lesson / tests / behat / lesson_outline_report.feature
1 @mod @mod_lesson
2 Feature: Teachers can review student progress on all lessons in a course by viewing the overview report
3   As a Teacher
4   I need to view the overview report for one of my students.
6   Background:
7     Given the following "users" exist:
8       | username | firstname | lastname | email |
9       | teacher1 | Teacher | 1 | teacher1@example.com |
10       | student1 | Student | 1 | student1@example.com |
11     And the following "courses" exist:
12       | fullname | shortname | category |
13       | Course 1 | C1 | 0 |
14     And the following "course enrolments" exist:
15       | user | course | role |
16       | teacher1 | C1 | editingteacher |
17       | student1 | C1 | student |
18     And I log in as "teacher1"
19     And I follow "Course 1"
20     And I turn editing mode on
21     And I add a "Lesson" to section "1"
22     And I set the following fields to these values:
23       | Name | Test lesson name |
24       | Description | Test lesson description |
25       | Re-takes allowed | Yes |
26     And I press "Save and return to course"
27     And I follow "Test lesson name"
29   @javascript
30   Scenario: View student progress for lesson that was never attempted
31     Given I follow "Add a content page"
32     And I set the following fields to these values:
33       | Page title | First page name |
34       | Page contents | First page contents |
35       | id_answer_editor_0 | Next page |
36       | id_jumpto_0 | Next page |
37     And I press "Save page"
38     And I set the field "qtype" to "Question"
39     And I set the field "Select a question type" to "True/false"
40     And I press "Add a question page"
41     And I set the following fields to these values:
42       | Page title | True/false question 1 |
43       | Page contents | Paper is made from trees. |
44       | id_answer_editor_0 | True |
45       | id_response_editor_0 | Correct |
46       | id_jumpto_0 | Next page |
47       | id_answer_editor_1 | False |
48       | id_response_editor_1 | Wrong |
49       | id_jumpto_1 | This page |
50     And I press "Save page"
51     When I follow "Course 1"
52     And I follow "Participants"
53     And I follow "Student 1"
54     And I follow "Outline report"
55     Then I should see "No attempts have been made on this lesson"
57   @javascript
58   Scenario: View student progress for an incomplete lesson containing both content and question pages
59     Given I follow "Add a content page"
60     And I set the following fields to these values:
61       | Page title | First page name |
62       | Page contents | First page contents |
63       | id_answer_editor_0 | Next page |
64       | id_jumpto_0 | Next page |
65     And I press "Save page"
66     And I set the field "qtype" to "Question"
67     And I set the field "Select a question type" to "True/false"
68     And I press "Add a question page"
69     And I set the following fields to these values:
70       | Page title | True/false question 1 |
71       | Page contents | Paper is made from trees. |
72       | id_answer_editor_0 | True |
73       | id_response_editor_0 | Correct |
74       | id_jumpto_0 | Next page |
75       | id_answer_editor_1 | False |
76       | id_response_editor_1 | Wrong |
77       | id_jumpto_1 | This page |
78     And I press "Save page"
79     And I set the field "qtype" to "Add a content page"
80     And I set the following fields to these values:
81       | Page title | Second page name |
82       | Page contents | Second page contents |
83       | id_answer_editor_0 | Previous page |
84       | id_jumpto_0 | Previous page |
85       | id_answer_editor_1 | Next page |
86       | id_jumpto_1 | Next page |
87     And I press "Save page"
88     And I log out
89     When I log in as "student1"
90     And I follow "Course 1"
91     And I follow "Test lesson name"
92     And I should see "First page contents"
93     And I press "Next page"
94     And I log out
95     Then I log in as "teacher1"
96     And I follow "Course 1"
97     And I follow "Participants"
98     And I follow "Student 1"
99     And I follow "Outline report"
100     And I should see "Lesson has been started, but not yet completed"
102   @javascript
103   Scenario: View student progress for a lesson containing both content and question pages
104     Given I follow "Add a content page"
105     And I set the following fields to these values:
106       | Page title | First page name |
107       | Page contents | First page contents |
108       | id_answer_editor_0 | Next page |
109       | id_jumpto_0 | Next page |
110     And I press "Save page"
111     And I set the field "qtype" to "Question"
112     And I set the field "Select a question type" to "True/false"
113     And I press "Add a question page"
114     And I set the following fields to these values:
115       | Page title | True/false question 1 |
116       | Page contents | Paper is made from trees. |
117       | id_answer_editor_0 | True |
118       | id_response_editor_0 | Correct |
119       | id_jumpto_0 | Next page |
120       | id_answer_editor_1 | False |
121       | id_response_editor_1 | Wrong |
122       | id_jumpto_1 | This page |
123     And I press "Save page"
124     And I set the field "qtype" to "Add a content page"
125     And I set the following fields to these values:
126       | Page title | Second page name |
127       | Page contents | Second page contents |
128       | id_answer_editor_0 | Previous page |
129       | id_jumpto_0 | Previous page |
130       | id_answer_editor_1 | Next page |
131       | id_jumpto_1 | Next page |
132     And I press "Save page"
133     And I log out
134     When I log in as "student1"
135     And I follow "Course 1"
136     And I follow "Test lesson name"
137     And I should see "First page contents"
138     And I press "Next page"
139     And I should see "Second page contents"
140     And I press "Next page"
141     And I should see "Paper is made from trees."
142     And I set the following fields to these values:
143       | True | 1 |
144     And I press "Submit"
145     And I press "Continue"
146     And I should see "Congratulations - end of lesson reached"
147     And I log out
148     Then I log in as "teacher1"
149     And I follow "Course 1"
150     And I follow "Participants"
151     And I follow "Student 1"
152     And I follow "Outline report"
153     And I should see "Grade: 100.00 / 100.00"
155   @javascript
156   Scenario: View student attempts in a lesson containing only content pages
157     Given I follow "Add a content page"
158     And I set the following fields to these values:
159       | Page title | First page name |
160       | Page contents | First page contents |
161       | id_answer_editor_0 | Next page |
162       | id_jumpto_0 | Next page |
163     And I press "Save page"
164     And I set the field "qtype" to "Add a content page"
165     And I set the following fields to these values:
166       | Page title | Second page name |
167       | Page contents | Second page contents |
168       | id_answer_editor_0 | Previous page |
169       | id_jumpto_0 | Previous page |
170       | id_answer_editor_1 | End of lesson |
171       | id_jumpto_1 | End of lesson |
172     And I press "Save page"
173     And I log out
174     When I log in as "student1"
175     And I follow "Course 1"
176     And I follow "Test lesson name"
177     And I should see "First page contents"
178     And I press "Next page"
179     And I should see "Second page contents"
180     And I press "End of lesson"
181     And I log out
182     Then I log in as "teacher1"
183     And I follow "Course 1"
184     And I follow "Participants"
185     And I follow "Student 1"
186     And I follow "Outline report"
187     And I should see "Completed"