1
0
mirror of https://github.com/moodle/moodle.git synced 2025-05-08 01:05:48 +02:00

MDL-71162 mod_lesson: Add behat testing for completion conditions

This commit is contained in:
Michael Hawkins 2021-04-16 19:40:09 +08:00
parent a5f0b354e7
commit 73bcf9a8d0

@ -0,0 +1,104 @@
@mod @mod_lesson @core_completion
Feature: View activity completion in the lesson activity
In order to have visibility of lesson completion requirements
As a student
I need to be able to view my lesson completion progress
Background:
Given the following "users" exist:
| username | firstname | lastname | email |
| student1 | Vinnie | Student1 | student1@example.com |
| teacher1 | Darrell | Teacher1 | teacher1@example.com |
And the following "courses" exist:
| fullname | shortname | category |
| Course 1 | C1 | 0 |
And the following "course enrolments" exist:
| user | course | role |
| student1 | C1 | student |
| teacher1 | C1 | editingteacher |
And I log in as "teacher1"
And I am on "Course 1" course homepage
And I navigate to "Edit settings" in current page administration
And I expand all fieldsets
And I set the following fields to these values:
| Enable completion tracking | Yes |
| Show completion conditions | Yes |
And I press "Save and display"
And the following "activity" exists:
| activity | lesson |
| course | C1 |
| idnumber | mh1 |
| name | Music history |
| section | 1 |
| completion | 2 |
| completionview | 1 |
| completionusegrade | 1 |
| completionendreached | 1 |
| completiontimespentenabled | 1 |
| completiontimespent | 1 |
And I am on "Course 1" course homepage
And I follow "Music history"
And I follow "Add a content page"
And I set the following fields to these values:
| Page title | Music history part 1 |
| Description | The history of music part 1 |
| Jump | Next page |
And I click on "Save page" "button"
And I select "Add a question page" from the "qtype" singleselect
And I set the field "Select a question type" to "Essay"
And I press "Add a question page"
And I set the following fields to these values:
| Page title | Music essay |
| Page contents | Write a really interesting music essay |
| Jump | End of lesson |
| Score | 1 |
And I press "Save page"
And I log out
Scenario: View automatic completion items as a teacher
Given I log in as "teacher1"
And I am on "Course 1" course homepage
When I follow "Music history"
Then "Music history" should have the "View" completion condition
And "Music history" should have the "Spend at least 1 sec on this activity" completion condition
And "Music history" should have the "Go through the activity to the end" completion condition
And "Music history" should have the "Receive a grade" completion condition
Scenario: View automatic completion items as a student
Given I log in as "student1"
And I am on "Course 1" course homepage
And I follow "Music history"
And the "View" completion condition of "Music history" is displayed as "done"
And the "Spend at least 1 sec on this activity" completion condition of "Music history" is displayed as "todo"
And the "Go through the activity to the end" completion condition of "Music history" is displayed as "todo"
And the "Receive a grade" completion condition of "Music history" is displayed as "todo"
When I am on "Course 1" course homepage
And I follow "Music history"
And I wait "2" seconds
And I press "The history of music part 1"
And I set the field "Your answer" to "Some drummers play with their sticks flipped around"
And I press "Submit"
Then the "View" completion condition of "Music history" is displayed as "done"
And the "Spend at least 1 sec on this activity" completion condition of "Music history" is displayed as "done"
And the "Go through the activity to the end" completion condition of "Music history" is displayed as "done"
And the "Receive a grade" completion condition of "Music history" is displayed as "done"
@javascript
Scenario: Use manual completion
Given I log in as "teacher1"
And I am on "Course 1" course homepage
And I follow "Music history"
And I navigate to "Edit settings" in current page administration
And I expand all fieldsets
And I set the field "Completion tracking" to "Students can manually mark the activity as completed"
And I press "Save and display"
# Teacher view.
And the manual completion button for "Music history" should be disabled
And I log out
# Student view.
When I log in as "student1"
And I am on "Course 1" course homepage
And I follow "Music history"
Then the manual completion button of "Music history" is displayed as "Mark as done"
And I toggle the manual completion state of "Music history"
And the manual completion button of "Music history" is displayed as "Done"