MDL-40241 core_completion: Minor fixes to provided patch

Thanks to Aaron Barnes and Jon Sharp for working on this issue.
This commit is contained in:
David Monllao 2014-11-28 17:23:37 +08:00
parent 525d6ce397
commit 95d1a366ea
5 changed files with 51 additions and 59 deletions

View file

@ -106,18 +106,18 @@ class behat_completion extends behat_base {
}
/**
* Toggles completion tracking for course
* Toggles completion tracking for course being in the course page.
*
* @When /^completion tracking is "(?P<completion_status_string>([Ee]nabled|[Dd]isabled)*)" in current course$/
* @param string $completionstatus
* @When /^completion tracking is "(?P<completion_status_string>Enabled|Disabled)" in current course$/
* @param string $completionstatus The status, enabled or disabled.
*/
public function completion_is_toggled_in_course($completionstatus) {
$toggle = strtolower($completionstatus) == 'enabled' ? 'Yes' : 'No';
$toggle = strtolower($completionstatus) == 'enabled' ? get_string('yes') : get_string('no');
return array(
new Given('I follow "'.get_string('editsettings').'"'),
new Given('I select "'.$toggle.'" from "'.get_string('enablecompletion', 'completion').'"'),
new Given('I set the field "'.get_string('enablecompletion', 'completion').'" to "'.$toggle.'"'),
new Given('I press "'.get_string('savechanges').'"')
);
}

View file

@ -1,45 +1,45 @@
@core @core_completion
Feature: Allow teachers to manually mark users as complete when configured
In order for teachers to mark students as complete
As a teacher
I need to be able to use the completion report mark complete functionality
In order for teachers to mark students as complete
As a teacher
I need to be able to use the completion report mark complete functionality
Scenario: Mark a student as complete using the completion report
Given the following "courses" exists:
| fullname | shortname | category |
| Completion course | CC1 | 0 |
And the following "users" exists:
| username | firstname | lastname | email |
| student1 | Student | First | student1@example.com |
| teacher1 | Teacher | First | teacher1@example.com |
And the following "course enrolments" exists:
| user | course | role |
| student1 | CC1 | student |
| teacher1 | CC1 | editingteacher |
And I log in as "admin"
And I set the following administration settings values:
| Enable completion tracking | 1 |
And I am on homepage
And I follow "Completion course"
And completion tracking is "enabled" in current course
And I follow "Course completion"
And I check "Teacher"
And I press "Save changes"
And I turn editing mode on
And I add the "Course completion status" block
And I log out
And I log in as "student1"
And I follow "Completion course"
And I should see "Status: Not yet started"
And I log out
When I log in as "teacher1"
And I follow "Completion course"
And I follow "View course report"
And I should see "Student First"
And I follow "Click to mark user complete"
And I run the cron
And I am on homepage
And I log out
Then I log in as "student1"
And I follow "Completion course"
And I should see "Status: Complete"
Scenario: Mark a student as complete using the completion report
Given the following "courses" exist:
| fullname | shortname | category |
| Completion course | CC1 | 0 |
And the following "users" exist:
| username | firstname | lastname | email |
| student1 | Student | First | student1@example.com |
| teacher1 | Teacher | First | teacher1@example.com |
And the following "course enrolments" exist:
| user | course | role |
| student1 | CC1 | student |
| teacher1 | CC1 | editingteacher |
And I log in as "admin"
And I set the following administration settings values:
| Enable completion tracking | 1 |
And I am on homepage
And I follow "Completion course"
And completion tracking is "Enabled" in current course
And I follow "Course completion"
And I set the field "Teacher" to "1"
And I press "Save changes"
And I turn editing mode on
And I add the "Course completion status" block
And I log out
And I log in as "student1"
And I follow "Completion course"
And I should see "Status: Not yet started"
And I log out
When I log in as "teacher1"
And I follow "Completion course"
And I follow "View course report"
And I should see "Student First"
And I follow "Click to mark user complete"
And I trigger cron
And I am on homepage
And I log out
Then I log in as "student1"
And I follow "Completion course"
And I should see "Status: Complete"