mirror of
https://github.com/moodle/moodle.git
synced 2025-04-15 05:25:08 +02:00
MDL-47587 Lesson: Display progress bar on the end of lesson page
This commit is contained in:
parent
c106341098
commit
31f386732b
84
mod/lesson/tests/behat/lesson_progress_bar.feature
Normal file
84
mod/lesson/tests/behat/lesson_progress_bar.feature
Normal file
@ -0,0 +1,84 @@
|
||||
@mod @mod_lesson
|
||||
Feature: In a lesson activity, students can see their progress viewing a progress bar.
|
||||
In order to create a lesson with conditional paths
|
||||
As a teacher
|
||||
I need to add pages and questions with links between them
|
||||
|
||||
@javascript
|
||||
Scenario: Student navigation with progress bar
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | Teacher | 1 | teacher1@asd.com |
|
||||
| student1 | Student | 1 | student1@asd.com |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| student1 | C1 | student |
|
||||
And I log in as "teacher1"
|
||||
And I follow "Course 1"
|
||||
And I turn editing mode on
|
||||
And I add a "Lesson" to section "1" and I fill the form with:
|
||||
| Name | Test lesson name |
|
||||
| Description | Test lesson description |
|
||||
| Progress bar | Yes |
|
||||
And I follow "Test lesson name"
|
||||
And I follow "Add a content page"
|
||||
And I set the following fields to these values:
|
||||
| Page title | First page name |
|
||||
| Page contents | First page contents |
|
||||
| id_answer_editor_0 | Next page |
|
||||
| id_jumpto_0 | Next page |
|
||||
And I press "Save page"
|
||||
And I set the field "qtype" to "Add a content page"
|
||||
And I set the following fields to these values:
|
||||
| Page title | Second page name |
|
||||
| Page contents | Second page contents |
|
||||
| id_answer_editor_0 | Previous page |
|
||||
| id_jumpto_0 | Previous page |
|
||||
| id_answer_editor_1 | Next page |
|
||||
| id_jumpto_1 | Next page |
|
||||
And I press "Save page"
|
||||
And I follow "Expanded"
|
||||
And I click on "Add a question page here" "link" in the "//div[contains(concat(' ', normalize-space(@class), ' '), ' addlinks ')][3]" "xpath_element"
|
||||
And I set the field "Select a question type" to "Numerical"
|
||||
And I press "Add a question page"
|
||||
And I set the following fields to these values:
|
||||
| Page title | Hardest question ever |
|
||||
| Page contents | 1 + 1? |
|
||||
| id_answer_editor_0 | 2 |
|
||||
| id_response_editor_0 | Correct answer |
|
||||
| id_jumpto_0 | End of lesson |
|
||||
| id_score_0 | 1 |
|
||||
| id_answer_editor_1 | 1 |
|
||||
| id_response_editor_1 | Incorrect answer |
|
||||
| id_jumpto_1 | Second page name |
|
||||
| id_score_1 | 0 |
|
||||
And I press "Save page"
|
||||
And I log out
|
||||
And I log in as "student1"
|
||||
And I follow "Course 1"
|
||||
When I follow "Test lesson name"
|
||||
Then I should see "First page contents"
|
||||
And I should see "You have completed 0% of the lesson"
|
||||
And I press "Next page"
|
||||
And I should see "Second page contents"
|
||||
And I should see "You have completed 33% of the lesson"
|
||||
And I press "Previous page"
|
||||
And I should see "First page contents"
|
||||
And I should see "You have completed 67% of the lesson"
|
||||
And I press "Next page"
|
||||
And I should see "Second page contents"
|
||||
And I should see "You have completed 67% of the lesson"
|
||||
And I press "Next page"
|
||||
And I should see "1 + 1?"
|
||||
And I should see "You have completed 67% of the lesson"
|
||||
And I set the following fields to these values:
|
||||
| Your answer | 2 |
|
||||
And I press "Submit"
|
||||
And I should see "Correct answer"
|
||||
And I press "Continue"
|
||||
And I should see "Congratulations - end of lesson reached"
|
||||
And I should see "You have completed 100% of the lesson"
|
@ -429,6 +429,8 @@ if ($pageid != LESSON_EOL) {
|
||||
$ntries--; // need to look at the old attempts :)
|
||||
}
|
||||
if (!$canmanage) {
|
||||
// Store this now before any modifications to pages viewed.
|
||||
$progressbar = $lessonoutput->progress_bar($lesson);
|
||||
// Update the clock / get time information for this user.
|
||||
$lesson->stop_timer();
|
||||
$gradeinfo = lesson_grade($lesson, $ntries);
|
||||
@ -489,15 +491,16 @@ if ($pageid != LESSON_EOL) {
|
||||
if (!$lesson->practice) {
|
||||
$newgradeid = $DB->insert_record("lesson_grades", $grade);
|
||||
}
|
||||
$lessoncontent .= get_string("eolstudentoutoftimenoanswers", "lesson");
|
||||
$lessoncontent .= $lessonoutput->paragraph(get_string("eolstudentoutoftimenoanswers", "lesson"));
|
||||
}
|
||||
} else {
|
||||
$lessoncontent .= get_string("welldone", "lesson");
|
||||
$lessoncontent .= $lessonoutput->paragraph(get_string("welldone", "lesson"));
|
||||
}
|
||||
}
|
||||
|
||||
// update central gradebook
|
||||
lesson_update_grades($lesson, $USER->id);
|
||||
$lessoncontent .= $progressbar;
|
||||
|
||||
} else {
|
||||
// display for teacher
|
||||
|
Loading…
x
Reference in New Issue
Block a user