MDL-50933 quiz: improve completion behat tests
[moodle.git] / mod / quiz / tests / behat / completion_condition_passing_grade.feature
1 @mod @mod_quiz
2 Feature: Set a quiz to be marked complete when the student passes
3   In order to ensure a student has learned the material before being marked complete
4   As a teacher
5   I need to set a quiz to complete when the student recieves a passing grade
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 | enablecompletion |
14       | Course 1 | C1        | 0        | 1                |
15     And the following "course enrolments" exist:
16       | user     | course | role           |
17       | teacher1 | C1     | editingteacher |
18       | student1 | C1     | student        |
19     And the following config values are set as admin:
20       | enablecompletion    | 1           |
21       | grade_item_advanced | hiddenuntil |
22     And the following "question categories" exist:
23       | contextlevel | reference | name           |
24       | Course       | C1        | Test questions |
25     And the following "questions" exist:
26       | questioncategory | qtype     | name           | questiontext              |
27       | Test questions   | truefalse | First question | Answer the first question |
28     And the following "activities" exist:
29       | activity   | name           | course | idnumber | attempts | gradepass | completion | completionpass |
30       | quiz       | Test quiz name | C1     | quiz1    | 4        | 5.00      | 2          | 1              |
31     And quiz "Test quiz name" contains the following questions:
32       | question       | page |
33       | First question | 1    |
35   Scenario: student1 passes on the first try
36     When I log in as "student1"
37     And I follow "Course 1"
38     And "//img[contains(@alt, 'Not completed: Test quiz name')]" "xpath_element" should exist in the "li.modtype_quiz" "css_element"
39     And I follow "Test quiz name"
40     And I press "Attempt quiz now"
41     And I set the field "True" to "1"
42     And I press "Next"
43     And I press "Submit all and finish"
44     And I follow "C1"
45     Then "//img[contains(@alt, 'Completed: Test quiz name')]" "xpath_element" should exist in the "li.modtype_quiz" "css_element"
46     And I log out
47     And I log in as "teacher1"
48     And I follow "Course 1"
49     And I navigate to "Activity completion" node in "Course administration > Reports"
50     And "//img[contains(@title,'Test quiz name') and @alt='Completed']" "xpath_element" should exist in the "Student 1" "table_row"