Skip to content

Commit

Permalink
Merge branch 'MDL-71162-311-2' of git://github.com/mickhawkins/moodle…
Browse files Browse the repository at this point in the history
… into MOODLE_311_STABLE
  • Loading branch information
sarjona committed Apr 29, 2021
2 parents b4edfb9 + 635a53e commit 76cda8b
Show file tree
Hide file tree
Showing 30 changed files with 1,450 additions and 221 deletions.
132 changes: 107 additions & 25 deletions mod/assign/tests/behat/assign_activity_completion.feature
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
@mod @mod_assign @core_completion
Feature: View activity completion information in the Assign resource
In order to have visibility of assign completion requirements
Feature: View activity completion in the assignment activity
In order to have visibility of assignment completion requirements
As a student
I need to be able to view my assign completion progress
I need to be able to view my assignment completion progress

Background:
Given the following "users" exist:
| username | firstname | lastname | email |
| username | firstname | lastname | email |
| student1 | Vinnie | Student1 | student1@example.com |
| teacher1 | Darrell | Teacher1 | teacher1@example.com |
And the following "courses" exist:
Expand All @@ -17,47 +17,129 @@ Feature: View activity completion information in the Assign resource
| student1 | C1 | student |
| teacher1 | C1 | editingteacher |
And I log in as "teacher1"

@javascript
Scenario: The manual completion button will be shown on the course page if the Show completion conditions is set to Yes
Given I am on "Course 1" course homepage with editing mode on
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 I add a "Assignment" to section "1" and I fill the form with:
| Assignment name | History of ants |
| Completion tracking | Students can manually mark the activity as completed |
And the following "activity" exists:
| activity | assign |
| course | C1 |
| idnumber | mh1 |
| name | Music history |
| section | 1 |
| completion | 1 |
| grade[modgrade_type] | point |
| grade[modgrade_point] | 100 |

@javascript
Scenario: The manual completion button will be shown on the course page if the Show completion conditions is set to Yes
Given I am on "Course 1" course homepage
# Teacher view.
And the manual completion button for "History of ants" should exist
And the manual completion button for "History of ants" should be disabled
And the manual completion button for "Music history" should exist
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
Then the manual completion button for "History of ants" should exist
And the manual completion button of "History of ants" is displayed as "Mark as done"
And I toggle the manual completion state of "History of ants"
And the manual completion button of "History of ants" is displayed as "Done"
Then the manual completion button for "Music history" should exist
And 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"

@javascript
Scenario: The manual completion button will not be shown on the course page if the Show completion conditions is set to No
Given I am on "Course 1" course homepage with editing mode on
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 | No |
And I set the field "Show completion conditions" to "No"
And I press "Save and display"
And I add a "Assignment" to section "1" and I fill the form with:
| Assignment name | History of ants |
| Completion tracking | Students can manually mark the activity as completed |
# Teacher view.
And the manual completion button for "History of ants" should not exist
And the manual completion button for "Music history" should not exist
And I follow "Music history"
And the manual completion button for "Music history" should exist
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
Then the manual completion button for "History of ants" should not exist
Then the manual completion button for "Music history" should not exist
And I follow "Music history"
And the manual completion button for "Music history" should exist

@javascript
Scenario: Use manual completion from the activity page
Given I am on "Course 1" course homepage
And I follow "Music history"
# 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"

Scenario: View automatic completion items as a teacher
Given 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 following fields to these values:
| Completion tracking | Show activity as complete when conditions are met |
| Require view | 1 |
| completionusegrade | 1 |
| completionsubmit | 1 |
And I press "Save and display"
Then "Music history" should have the "View" completion condition
And "Music history" should have the "Make a submission" completion condition
And "Music history" should have the "Receive a grade" completion condition

@javascript
Scenario: View automatic completion items as a student
Given 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 following fields to these values:
| assignsubmission_onlinetext_enabled | 1 |
| Completion tracking | Show activity as complete when conditions are met |
| Require view | 1 |
| completionusegrade | 1 |
| completionsubmit | 1 |
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 "Music history"
And the "View" completion condition of "Music history" is displayed as "done"
And the "Make a submission" completion condition of "Music history" is displayed as "todo"
And the "Receive a grade" completion condition of "Music history" is displayed as "todo"
And I am on "Course 1" course homepage
And I follow "Music history"
And I press "Add submission"
And I set the field "Online text" to "History of playing with drumsticks reversed"
And I press "Save changes"
And I press "Submit assignment"
And I press "Continue"
And I log out
And I log in as "teacher1"
And I am on "Course 1" course homepage
And I follow "Music history"
And I navigate to "View all submissions" in current page administration
And I click on "Grade" "link" in the "Vinnie Student1" "table_row"
And I set the field "Grade out of 100" to "33"
And I set the field "Notify students" to "0"
And I press "Save changes"
And I follow "View all submissions"
And I log out
When I log in as "student1"
And I am on "Course 1" course homepage
And I follow "Music history"
Then the "View" completion condition of "Music history" is displayed as "done"
And the "Make a submission" completion condition of "Music history" is displayed as "done"
And the "Receive a grade" completion condition of "Music history" is displayed as "done"
78 changes: 78 additions & 0 deletions mod/book/tests/behat/book_activity_completion.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
@mod @mod_book @core_completion
Feature: View activity completion information in the book activity
In order to have visibility of book completion requirements
As a student
I need to be able to view my book 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 | book |
| course | C1 |
| idnumber | mh1 |
| name | Music history |
| section | 1 |
| completion | 2 |
| completionview | 1 |
And I log out

Scenario: View automatic completion items
Given I log in as "teacher1"
And I am on "Course 1" course homepage
And I follow "Music history"
And I set the following fields to these values:
| Chapter title | Drum theory |
| Content | Rudiments are important |
And I press "Save changes"
# Teacher view.
And I follow "Music history"
And "Music history" should have the "View" completion condition
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 "View" 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"
And I set the following fields to these values:
| Chapter title | Drum theory |
| Content | Rudiments are important |
And I press "Save changes"
And I follow "Music history"
# 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"
70 changes: 70 additions & 0 deletions mod/chat/tests/behat/chat_activity_completion.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
@mod @mod_chat @core_completion
Feature: View activity completion information in the chat activity
In order to have visibility of chat completion requirements
As a student
I need to be able to view my chat 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 I log out

Scenario: View automatic completion items
Given I log in as "teacher1"
And the following "activity" exists:
| activity | chat |
| course | C1 |
| idnumber | mh1 |
| name | Music history |
| section | 1 |
| completion | 2 |
| completionview | 1 |
And I am on "Course 1" course homepage
# Teacher view.
And I follow "Music history"
And "Music history" should have the "View" completion condition
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 "View" completion condition of "Music history" is displayed as "done"

@javascript
Scenario: Use manual completion
Given I log in as "teacher1"
And the following "activity" exists:
| activity | chat |
| course | C1 |
| idnumber | mh1 |
| name | Music history |
| section | 1 |
| completion | 1 |
And I am on "Course 1" course homepage
# 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"
Original file line number Diff line number Diff line change
Expand Up @@ -32,19 +32,19 @@ Feature: Automatic completion in the choice activity
Given I log in as "student1"
And I am on "Course 1" course homepage
When I follow "What to drink?"
Then I should see "Done: View" in the "[data-region=completionrequirements]" "css_element"
And I should see "To do: Make a choice" in the "[data-region=completionrequirements]" "css_element"
Then the "View" completion condition of "What to drink?" is displayed as "done"
And the "Make a choice" completion condition of "What to drink?" is displayed as "todo"
And I set the field "Beer" to "1"
And I press "Save my choice"
And I should see "Done: View" in the "[data-region=completionrequirements]" "css_element"
And I should see "Done: Make a choice" in the "[data-region=completionrequirements]" "css_element"
And the "View" completion condition of "What to drink?" is displayed as "done"
And the "Make a choice" completion condition of "What to drink?" is displayed as "done"

Scenario: Viewing a choice activity with automatic completion as a teacher
Given I log in as "teacher1"
And I am on "Course 1" course homepage
When I follow "What to drink?"
And I should see "View" in the "[data-region=completionrequirements]" "css_element"
And I should see "Make a choice" in the "[data-region=completionrequirements]" "css_element"
Then "What to drink?" should have the "View" completion condition
And "What to drink?" should have the "Make a choice" completion condition

@javascript
Scenario: Overriding automatic choice completion for a user
Expand All @@ -57,5 +57,5 @@ Feature: Automatic completion in the choice activity
And I log in as "student1"
And I am on "Course 1" course homepage
When I follow "What to drink?"
Then "span[aria-label=\"Done: View (set by Teacher 1)\"]" "css_element" should exist
And "span[aria-label=\"Done: Make a choice (set by Teacher 1)\"]" "css_element" should exist
Then the "View" completion condition of "What to drink?" overridden by "Teacher 1" is displayed as "done"
And the "Make a choice" completion condition of "What to drink?" overridden by "Teacher 1" is displayed as "done"
Loading

0 comments on commit 76cda8b

Please sign in to comment.