MDL-59081 mod_lesson: Behat test for new features.
[moodle.git] / mod / lesson / tests / behat / wrong_answer_continue.feature
1 @mod @mod_lesson
2 Feature: An incorrect response to an answer with multiple attempts show appropriate continue buttons
3   In order for lesson the appropriate continue button to be displayed
4   As a teacher
5   I need to create a lesson with multiple attempts for each question
7   Background:
8     Given the following "users" exist:
9       | username | firstname | lastname | email |
10       | student1 | Student | 1 | student1@example.com |
11       | teacher1 | Teacher | 1 | teacher1@example.com |
12     And the following "courses" exist:
13       | fullname | shortname | category |
14       | Course 1 | C1 | 0 |
15     And the following "course enrolments" exist:
16       | user | course | role |
17       | teacher1 | C1 | editingteacher |
18       | student1 | C1 | student |
19     And I log in as "teacher1"
20     And I am on "Course 1" course homepage with 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       | Provide option to try a question again | Yes |
26       | Maximum number of attempts | 2 |
27     And I press "Save and display"
29     Scenario: A student answering incorrectly to a question will see an option to move to the next question if set up.
30       Given I follow "Add a question page"
31       And I set the field "Select a question type" to "Numerical"
32       And I press "Add a question page"
33       And I set the following fields to these values:
34         | Page title | Numerical question |
35         | Page contents | What is 1 + 2? |
36         | id_answer_editor_0 | 3 |
37         | id_jumpto_0 | Next page |
38         | id_answer_editor_1 | 2 |
39         | id_jumpto_1 | Next page |
40       And I press "Save page"
41       And I select "Add a content page" from the "qtype" singleselect
42       And I set the following fields to these values:
43         | Page title | Just move on page |
44         | Page contents | You are here to move on |
45         | id_answer_editor_0 | End this lesson |
46         | id_jumpto_0 | End of lesson |
47       And I press "Save page"
48       And I log out
49       And I log in as "student1"
50       And I am on "Course 1" course homepage
51       And I follow "Test lesson name"
52       When I set the field "Your answer" to "2"
53       And I press "Submit"
54       And I should see "That's the wrong answer"
55       And I should see "No, I just want to go on to the next question"
56       And I press "No, I just want to go on to the next question"
57       Then I should see "You are here to move on"
59     Scenario: A student answering incorrectly to a question will only see an option to try again if there is no matching wrong response.
60       Given I follow "Add a question page"
61       And I set the field "Select a question type" to "Numerical"
62       And I press "Add a question page"
63       And I set the following fields to these values:
64         | Page title | Numerical question |
65         | Page contents | What is 1 + 2? |
66         | id_answer_editor_0 | 3 |
67         | id_jumpto_0 | Next page |
68       And I press "Save page"
69       And I select "Add a content page" from the "qtype" singleselect
70       And I set the following fields to these values:
71         | Page title | Just move on page |
72         | Page contents | You are here to move on |
73         | id_answer_editor_0 | End this lesson |
74         | id_jumpto_0 | End of lesson |
75       And I press "Save page"
76       And I log out
77       And I log in as "student1"
78       And I am on "Course 1" course homepage
79       And I follow "Test lesson name"
80       When I set the field "Your answer" to "2"
81       And I press "Submit"
82       And I should see "That's the wrong answer"
83       Then I should not see "No, I just want to go on to the next question"
84       And I press "Yes, I'd like to try again"
85       And I should see "What is 1 + 2?"