diff --git a/mod/h5pactivity/tests/behat/sending_attempt.feature b/mod/h5pactivity/tests/behat/sending_attempt.feature index 29400702477ab..91d9679826479 100644 --- a/mod/h5pactivity/tests/behat/sending_attempt.feature +++ b/mod/h5pactivity/tests/behat/sending_attempt.feature @@ -2,7 +2,7 @@ Feature: Do a H5P attempt In order to let students do a H5P attempt As a teacher - I need to list students attempts on the log report + I need to list students attempts on various reports Background: Given the following "users" exist: @@ -24,6 +24,7 @@ Feature: Do a H5P attempt | course | C1 | | name | Awesome H5P package | | packagefilepath | h5p/tests/fixtures/multiple-choice-2-6.h5p | + | grademethod | 2 | Scenario: View an H5P as a teacher When I am on the "Awesome H5P package" "h5pactivity activity" page logged in as teacher1 @@ -31,7 +32,7 @@ Feature: Do a H5P attempt Then I should see "This content is displayed in preview mode" @javascript - Scenario: To an attempts and check on course log report + Scenario: Do an attempt and check on course log report When I am on the "Awesome H5P package" "h5pactivity activity" page logged in as student1 And I wait until the page is ready And I should not see "This content is displayed in preview mode" @@ -46,3 +47,45 @@ Feature: Do a H5P attempt And I follow "Student 1" Then I follow "Today's logs" And I should see "xAPI statement received" + + @javascript + Scenario: Do various attempts and check them with the attempts and user grades reports + Given I am on the "Awesome H5P package" "h5pactivity activity" page logged in as student1 + And I wait until the page is ready + And I should not see "This content is displayed in preview mode" + And I switch to "h5p-player" class iframe + And I switch to "h5p-iframe" class iframe + And I click on "Wrong one" "text" in the ".h5p-question-content" "css_element" + And I click on "Check" "button" in the ".h5p-question-buttons" "css_element" + And I click on "Retry" "button" in the ".h5p-question-buttons" "css_element" + # We need to wait 1 second here because, in very quick environments, the 2nd + # attempts happen too close to the 1st one and it's not sent properly. See MDL-76010. + And I wait "1" seconds + And I click on "Correct one" "text" in the ".h5p-question-content" "css_element" + And I click on "Check" "button" in the ".h5p-question-buttons" "css_element" + # H5P does not allow to Retry if the user checks the correct answer, we need to refresh the page. + And I switch to the main frame + And I reload the page + And I switch to "h5p-player" class iframe + And I switch to "h5p-iframe" class iframe + # Because of the steps above, the 2nd and 3rd attempts are enough "separated" and we don't + # need to add any wait here. + And I click on "Wrong one" "text" in the ".h5p-question-content" "css_element" + And I click on "Check" "button" in the ".h5p-question-buttons" "css_element" + And I click on "Retry" "button" in the ".h5p-question-buttons" "css_element" + # Again, the wait between 3rd and 4th attempt, to separate them a little bit. + And I wait "1" seconds + And I click on "Correct one" "text" in the ".h5p-question-content" "css_element" + And I click on "Check" "button" in the ".h5p-question-buttons" "css_element" + And I switch to the main frame + When I follow "View my attempts" + And "1" row "Score" column of "table" table should contain "0" + And "2" row "Score" column of "table" table should contain "1" + And "3" row "Score" column of "table" table should contain "0" + And "4" row "Score" column of "table" table should contain "1" + And I am on the "Course 1" course page logged in as teacher1 + And I navigate to "View > User report" in the course gradebook + And I set the field "Select all or one user" to "Student 1" + Then the following should exist in the "user-grade" table: + | Grade item | Grade | Percentage | + | Awesome H5P package | 50.00 | 50.00 % |