MDL-50357 core_group: tidy up the function groups_delete_group_members
[moodle.git] / mod / lesson / tests / behat / lesson_student_resume.feature
1 @mod @mod_lesson
2 Feature: In a lesson activity a student should
3   be able to close the lesson and then later resume.
5   Background:
6     Given the following "users" exist:
7       | username | firstname | lastname | email |
8       | teacher1 | Teacher | 1 | teacher1@example.com |
9       | student1 | Student | 1 | student1@example.com |
10     And the following "courses" exist:
11       | fullname | shortname | category |
12       | Course 1 | C1 | 0 |
13     And the following "course enrolments" exist:
14       | user | course | role |
15       | teacher1 | C1 | editingteacher |
16       | student1 | C1 | student |
17     And I log in as "teacher1"
18     And I follow "Course 1"
19     And I turn editing mode on
20     And I add a "Lesson" to section "1"
21     And I set the following fields to these values:
22       | Name | Test lesson name |
23       | Description | Test lesson description |
24       | Re-takes allowed | Yes |
25     And I press "Save and return to course"
26     And I follow "Test lesson name"
28   @javascript
29   Scenario: resume a lesson with both content then question pages
30     Given I follow "Add a content page"
31     And I set the following fields to these values:
32       | Page title | First page name |
33       | Page contents | First page contents |
34       | id_answer_editor_0 | Next page |
35       | id_jumpto_0 | Next page |
36     And I press "Save page"
37     And I set the field "qtype" to "Question"
38     And I set the field "Select a question type" to "True/false"
39     And I press "Add a question page"
40     And I set the following fields to these values:
41       | Page title | True/false question 2 |
42       | Page contents | Kermit is a frog |
43       | id_answer_editor_0 | True |
44       | id_response_editor_0 | Correct |
45       | id_jumpto_0 | Next page |
46       | id_answer_editor_1 | False |
47       | id_response_editor_1 | Wrong |
48       | id_jumpto_1 | This page |
49     And I press "Save page"
50     And I set the field "qtype" to "Question"
51     And I set the field "Select a question type" to "True/false"
52     And I press "Add a question page"
53     And I set the following fields to these values:
54       | Page title | True/false question 1 |
55       | Page contents | Paper is made from trees. |
56       | id_answer_editor_0 | True |
57       | id_response_editor_0 | Correct |
58       | id_jumpto_0 | Next page |
59       | id_answer_editor_1 | False |
60       | id_response_editor_1 | Wrong |
61       | id_jumpto_1 | This page |
62     And I press "Save page"
63     And I set the field "qtype" to "Add a content page"
64     And I set the following fields to these values:
65       | Page title | Third page name |
66       | Page contents | Third page contents |
67       | id_answer_editor_0 | Previous page |
68       | id_jumpto_0 | Previous page |
69       | id_answer_editor_1 | Next page |
70       | id_jumpto_1 | Next page |
71     And I press "Save page"
72     And I set the field "qtype" to "Add a content page"
73     And I set the following fields to these values:
74       | Page title | Second page name |
75       | Page contents | Second page contents |
76       | id_answer_editor_0 | Previous page |
77       | id_jumpto_0 | Previous page |
78       | id_answer_editor_1 | Next page |
79       | id_jumpto_1 | Next page |
80     And I press "Save page"
81     And I log out
82     When I log in as "student1"
83     And I follow "Course 1"
84     And I follow "Test lesson name"
85     And I should see "First page contents"
86     And I press "Next page"
87     And I should see "Second page contents"
88     And I press "Next page"
89     And I should see "Third page contents"
90     And I follow "Test lesson name"
91     And I should see "You have seen more than one page of this lesson already."
92     And I should see "Do you want to start at the last page you saw?"
93     And I follow "Yes"
94     Then I should see "Third page contents"
95     And I press "Next page"
96     And I should see "Paper is made from trees."
97     And I follow "Test lesson name"
98     And I should see "You have seen more than one page of this lesson already."
99     And I should see "Do you want to start at the last page you saw?"
100     And I follow "Yes"
101     And I should see "Paper is made from trees."
102     And I set the following fields to these values:
103       | True | 1 |
104     And I press "Submit"
105     And I press "Continue"
106     And I should see "Kermit is a frog"
107     And I follow "Test lesson name"
108     And I should see "You have seen more than one page of this lesson already."
109     And I should see "Do you want to start at the last page you saw?"
110     And I follow "Yes"
111     And I should see "Kermit is a frog"
112     And I set the following fields to these values:
113       | True | 1 |
114     And I press "Submit"
115     And I press "Continue"
116     And I should see "Congratulations - end of lesson reached"
118   @javascript
119   Scenario: resume a lesson with only content pages
120     Given I follow "Add a content page"
121     And I set the following fields to these values:
122       | Page title | First page name |
123       | Page contents | First page contents |
124       | id_answer_editor_0 | Next page |
125       | id_jumpto_0 | Next page |
126     And I press "Save page"
127     And I set the field "qtype" to "Add a content page"
128     And I set the following fields to these values:
129       | Page title | Fourth page name |
130       | Page contents | Fourth page contents |
131       | id_answer_editor_0 | Previous page |
132       | id_jumpto_0 | Previous page |
133       | id_answer_editor_1 | End of lesson |
134       | id_jumpto_1 | End of lesson |
135     And I press "Save page"
136     And I set the field "qtype" to "Add a content page"
137     And I set the following fields to these values:
138       | Page title | Third page name |
139       | Page contents | Third page contents |
140       | id_answer_editor_0 | Previous page |
141       | id_jumpto_0 | Previous page |
142       | id_answer_editor_1 | Next page |
143       | id_jumpto_1 | Next page |
144     And I press "Save page"
145     And I set the field "qtype" to "Add a content page"
146     And I set the following fields to these values:
147       | Page title | Second page name |
148       | Page contents | Second page contents |
149       | id_answer_editor_0 | Previous page |
150       | id_jumpto_0 | Previous page |
151       | id_answer_editor_1 | Next page |
152       | id_jumpto_1 | Next page |
153     And I press "Save page"
154     And I log out
155     When I log in as "student1"
156     And I follow "Course 1"
157     And I follow "Test lesson name"
158     And I should see "First page contents"
159     And I press "Next page"
160     And I should see "Second page contents"
161     And I press "Next page"
162     And I should see "Third page contents"
163     And I follow "Test lesson name"
164     Then I should see "You have seen more than one page of this lesson already."
165     And I should see "Do you want to start at the last page you saw?"
166     And I follow "Yes"
167     And I should see "Third page contents"
168     And I press "Next page"
169     And I should see "Fourth page contents"
170     And I press "End of lesson"
171     And I log out
172     And I log in as "student1"
173     And I follow "Course 1"
174     And I follow "Test lesson name"
175     And I should see "First page contents"
176     And I log out
178   @javascript
179   Scenario: resume a lesson with both question then content pages
180     Given I follow "Add a question page"
181     And I set the field "Select a question type" to "True/false"
182     And I press "Add a question page"
183     And I set the following fields to these values:
184       | Page title | True/false question 1 |
185       | Page contents | Cat is an amphibian |
186       | id_answer_editor_0 | False |
187       | id_response_editor_0 | Correct |
188       | id_jumpto_0 | Next page |
189       | id_answer_editor_1 | True |
190       | id_response_editor_1 | Wrong |
191       | id_jumpto_1 | This page |
192     And I press "Save page"
193     And I set the field "qtype" to "Question"
194     And I set the field "Select a question type" to "True/false"
195     And I press "Add a question page"
196     And I set the following fields to these values:
197       | Page title | True/false question 5 |
198       | Page contents | Kermit is a frog |
199       | id_answer_editor_0 | True |
200       | id_response_editor_0 | Correct |
201       | id_jumpto_0 | Next page |
202       | id_answer_editor_1 | False |
203       | id_response_editor_1 | Wrong |
204       | id_jumpto_1 | This page |
205     And I press "Save page"
206     And I set the field "qtype" to "Add a content page"
207     And I set the following fields to these values:
208       | Page title | Content page 2 |
209       | Page contents | Second content page |
210       | id_answer_editor_0 | Next page |
211       | id_jumpto_0 | Next page |
212     And I press "Save page"
213     And I set the field "qtype" to "Question"
214     And I set the field "Select a question type" to "True/false"
215     And I press "Add a question page"
216     And I set the following fields to these values:
217       | Page title | True/false question 4 |
218       | Page contents | 2+2=4 |
219       | id_answer_editor_0 | True |
220       | id_response_editor_0 | Correct |
221       | id_jumpto_0 | Next page |
222       | id_answer_editor_1 | False |
223       | id_response_editor_1 | Wrong |
224       | id_jumpto_1 | This page |
225     And I press "Save page"
226     And I set the field "qtype" to "Question"
227     And I set the field "Select a question type" to "True/false"
228     And I press "Add a question page"
229     And I set the following fields to these values:
230       | Page title | True/false question 3 |
231       | Page contents | 1+1=2 |
232       | id_answer_editor_0 | True |
233       | id_response_editor_0 | Correct |
234       | id_jumpto_0 | Next page |
235       | id_answer_editor_1 | False |
236       | id_response_editor_1 | Wrong |
237       | id_jumpto_1 | This page |
238     And I press "Save page"
239     And I set the field "qtype" to "Question"
240     And I set the field "Select a question type" to "True/false"
241     And I press "Add a question page"
242     And I set the following fields to these values:
243       | Page title | True/false question 2 |
244       | Page contents | Paper is made from trees. |
245       | id_answer_editor_0 | True |
246       | id_response_editor_0 | Correct |
247       | id_jumpto_0 | Next page |
248       | id_answer_editor_1 | False |
249       | id_response_editor_1 | Wrong |
250       | id_jumpto_1 | This page |
251     And I press "Save page"
252     And I set the field "qtype" to "Add a content page"
253     And I set the following fields to these values:
254       | Page title | Content page 1 |
255       | Page contents | First content page |
256       | id_answer_editor_0 | Next page |
257       | id_jumpto_0 | Next page |
258     And I press "Save page"
259     And I log out
260     When I log in as "student1"
261     And I follow "Course 1"
262     And I follow "Test lesson name"
263     And I should see "Cat is an amphibian"
264     And I set the following fields to these values:
265       | False | 1 |
266     And I press "Submit"
267     And I press "Continue"
268     And I should see "First content page"
269     And I press "Next page"
270     And I should see "Paper is made from trees."
271     And I set the following fields to these values:
272       | True | 1 |
273     And I press "Submit"
274     And I press "Continue"
275     And I should see "1+1=2"
276     And I set the following fields to these values:
277       | True | 1 |
278     And I press "Submit"
279     And I press "Continue"
280     And I should see "2+2=4"
281     And I follow "Test lesson name"
282     And I should see "You have seen more than one page of this lesson already."
283     Then I should see "Do you want to start at the last page you saw?"
284     And I follow "Yes"
285     And I should see "2+2=4"
286     And I set the following fields to these values:
287       | True | 1 |
288     And I press "Submit"
289     And I press "Continue"
290     And I should see "Second content page"
291     And I follow "Test lesson name"
292     And I should see "You have seen more than one page of this lesson already."
293     And I should see "Do you want to start at the last page you saw?"
294     And I follow "Yes"
295     And I should see "Second content page"
296     And I press "Next page"
297     And I should see "Kermit is a frog"
298     And I set the following fields to these values:
299       | True | 1 |
300     And I press "Submit"
301     And I press "Continue"
302     And I should see "Congratulations - end of lesson reached"
304   @javascript
305   Scenario: resume a lesson with only question pages
306     Given I follow "Add a question page"
307     And I set the field "Select a question type" to "True/false"
308     And I press "Add a question page"
309     And I set the following fields to these values:
310       | Page title | True/false question 1 |
311       | Page contents | Cat is an amphibian |
312       | id_answer_editor_0 | False |
313       | id_response_editor_0 | Correct |
314       | id_jumpto_0 | Next page |
315       | id_answer_editor_1 | True |
316       | id_response_editor_1 | Wrong |
317       | id_jumpto_1 | This page |
318     And I press "Save page"
319     And I set the field "qtype" to "Question"
320     And I set the field "Select a question type" to "True/false"
321     And I press "Add a question page"
322     And I set the following fields to these values:
323       | Page title | True/false question 5 |
324       | Page contents | Kermit is a frog |
325       | id_answer_editor_0 | True |
326       | id_response_editor_0 | Correct |
327       | id_jumpto_0 | Next page |
328       | id_answer_editor_1 | False |
329       | id_response_editor_1 | Wrong |
330       | id_jumpto_1 | This page |
331     And I press "Save page"
332     And I set the field "qtype" to "Question"
333     And I set the field "Select a question type" to "True/false"
334     And I press "Add a question page"
335     And I set the following fields to these values:
336       | Page title | True/false question 4 |
337       | Page contents | 2+2=4 |
338       | id_answer_editor_0 | True |
339       | id_response_editor_0 | Correct |
340       | id_jumpto_0 | Next page |
341       | id_answer_editor_1 | False |
342       | id_response_editor_1 | Wrong |
343       | id_jumpto_1 | This page |
344     And I press "Save page"
345     And I set the field "qtype" to "Question"
346     And I set the field "Select a question type" to "True/false"
347     And I press "Add a question page"
348     And I set the following fields to these values:
349       | Page title | True/false question 3 |
350       | Page contents | 1+1=2 |
351       | id_answer_editor_0 | True |
352       | id_response_editor_0 | Correct |
353       | id_jumpto_0 | Next page |
354       | id_answer_editor_1 | False |
355       | id_response_editor_1 | Wrong |
356       | id_jumpto_1 | This page |
357     And I press "Save page"
358     And I set the field "qtype" to "Question"
359     And I set the field "Select a question type" to "True/false"
360     And I press "Add a question page"
361     And I set the following fields to these values:
362       | Page title | True/false question 2 |
363       | Page contents | Paper is made from trees. |
364       | id_answer_editor_0 | True |
365       | id_response_editor_0 | Correct |
366       | id_jumpto_0 | Next page |
367       | id_answer_editor_1 | False |
368       | id_response_editor_1 | Wrong |
369       | id_jumpto_1 | This page |
370     And I press "Save page"
371     And I log out
372     When I log in as "student1"
373     And I follow "Course 1"
374     And I follow "Test lesson name"
375     And I should see "Cat is an amphibian"
376     And I set the following fields to these values:
377       | False | 1 |
378     And I press "Submit"
379     And I press "Continue"
380     And I should see "Paper is made from trees."
381     And I set the following fields to these values:
382       | True | 1 |
383     And I press "Submit"
384     And I press "Continue"
385     And I should see "1+1=2"
386     And I set the following fields to these values:
387       | True | 1 |
388     And I press "Submit"
389     And I press "Continue"
390     And I should see "2+2=4"
391     And I follow "Test lesson name"
392     Then I should see "You have seen more than one page of this lesson already."
393     And I should see "Do you want to start at the last page you saw?"
394     And I follow "Yes"
395     And I should see "2+2=4"
396     And I set the following fields to these values:
397       | True | 1 |
398     And I press "Submit"
399     And I press "Continue"
400     And I should see "Kermit is a frog"
401     And I set the following fields to these values:
402       | True | 1 |
403     And I press "Submit"
404     And I press "Continue"
405     And I should see "Congratulations - end of lesson reached"