Skip to content

Commit

Permalink
MDL-54849 lesson: Move on to next question
Browse files Browse the repository at this point in the history
Move on to next question button takes you to the same question again.
  • Loading branch information
Damyon Wiese committed Apr 24, 2017
1 parent 937831c commit a188724
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 1 deletion.
4 changes: 3 additions & 1 deletion mod/lesson/continue.php
Expand Up @@ -210,7 +210,9 @@

$url = new moodle_url('/mod/lesson/view.php', array('id'=>$cm->id, 'pageid'=>$result->newpageid));
if ($lesson->review && !$result->correctanswer && !$result->noanswer && !$result->isessayquestion && !$result->maxattemptsreached) {
// Review button continue
// When the answer is wrong - the result->newpageid points back to the current question.
$newpageid = $lesson->calculate_new_page_on_jump($page, $page->nextpageid);
$url = new moodle_url('/mod/lesson/view.php', array('id'=>$cm->id, 'pageid'=>$newpageid));
echo $OUTPUT->single_button($url, get_string('reviewquestioncontinue', 'lesson'));
} else {
// Normal continue button
Expand Down
41 changes: 41 additions & 0 deletions mod/lesson/tests/behat/lesson_question_attempts.feature
Expand Up @@ -115,6 +115,47 @@ Feature: In a lesson activity, students can not re-attempt a question more than
When I press "Submit"
Then I should see "Maximum number of attempts reached - Moving to next page"

Scenario: Check that we can move past a question we don't want to re-attempt
Given I log in as "teacher1"
And I am on "Course 1" course homepage
And I follow "Test lesson name"
And I navigate to "Edit settings" in current page administration
And I expand all fieldsets
And I set the field "Provide option to try a question again" to "Yes"
And I set the field "Maximum number of attempts" to "3"
And I press "Save and display"
And I log out
And I log in as "student1"
And I am on "Course 1" course homepage
And I follow "Test lesson name"
And I should see "First page contents"
And I press "Next page"
And I should see "The earth is round"
And I set the following fields to these values:
| False| 1 |
And I press "Submit"
And I should see "Wrong"
When I press "No, I just want to go on to the next question"
Then I should not see "The earth is round"
And I should see "Kermit is a frog"
And I set the following fields to these values:
| False | 1 |
And I press "Submit"
And I should see "Wrong"
And I press "Yes, I'd like to try again"
And I should see "Kermit is a frog"
And I set the following fields to these values:
| False | 1 |
And I press "Submit"
And I should see "Wrong"
And I press "Yes, I'd like to try again"
And I should see "Kermit is a frog"
And I set the following fields to these values:
| False | 1 |
And I press "Submit"
And I should not see "Yes, I'd like to try again"
And I should see "Continue"

@javascript @_bug_phantomjs
Scenario: Check that we can not click back on the browser at the last quiz result page and re-attempt the last question to get full marks
Given I log in as "student1"
Expand Down

0 comments on commit a188724

Please sign in to comment.