mirrored from git://git.moodle.org/moodle.git
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Merge branch 'MDL-62944-m35' of https://github.com/NeillM/moodle into…
… MOODLE_35_STABLE
- Loading branch information
Showing
35 changed files
with
737 additions
and
35 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
44 changes: 44 additions & 0 deletions
44
completion/tests/behat/completion_no_calendar_capabilities.feature
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
@core @core_completion | ||
Feature: Completion with no calendar capabilites | ||
In order to allow work effectively | ||
As a teacher | ||
I need to be able to create activities with completion enabled without calendar capabilities | ||
|
||
Background: | ||
Given the following "courses" exist: | ||
| fullname | shortname | category | groupmode | enablecompletion | | ||
| Course 1 | C1 | 0 | 1 | 1 | | ||
And the following "users" exist: | ||
| username | firstname | lastname | email | | ||
| teacher1 | Teacher | 1 | teacher1@example.com | | ||
And the following "course enrolments" exist: | ||
| user | course | role | | ||
| teacher1 | C1 | editingteacher | | ||
And I log in as "admin" | ||
And I am on "Course 1" course homepage | ||
And I navigate to "Users > Permissions" in current page administration | ||
And I override the system permissions of "Teacher" role with: | ||
| capability | permission | | ||
| moodle/calendar:manageentries | Prohibit | | ||
And I log out | ||
|
||
Scenario: Editing completion date | ||
Given I log in as "admin" | ||
And I am on "Course 1" course homepage with editing mode on | ||
When I add a "Forum" to section "1" and I fill the form with: | ||
| Forum name | Test forum name | | ||
| Description | Test forum description | | ||
| Completion tracking | Show activity as complete when conditions are met | | ||
| id_completionexpected_enabled | 1 | | ||
| id_completionexpected_day | 1 | | ||
| id_completionexpected_month | 1 | | ||
| id_completionexpected_year | 2017 | | ||
And I log out | ||
When I log in as "teacher1" | ||
And I am on "Course 1" course homepage with editing mode on | ||
And I follow "Test forum name" | ||
And I navigate to "Edit settings" in current page administration | ||
And I set the following fields to these values: | ||
| id_completionexpected_year | 2018 | | ||
And I press "Save and return to course" | ||
Then I should see "Test forum name" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
<?php | ||
// This file is part of Moodle - http://moodle.org/ | ||
// | ||
// Moodle is free software: you can redistribute it and/or modify | ||
// it under the terms of the GNU General Public License as published by | ||
// the Free Software Foundation, either version 3 of the License, or | ||
// (at your option) any later version. | ||
// | ||
// Moodle is distributed in the hope that it will be useful, | ||
// but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
// GNU General Public License for more details. | ||
// | ||
// You should have received a copy of the GNU General Public License | ||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>. | ||
|
||
/** | ||
* Tests that completion works without requiring unnecessary capabilities. | ||
* | ||
* @package core_completion | ||
* @copyright 2018 University of Nottingham | ||
* @author Neill Magill <neill.magill@nottingham.ac.uk> | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
|
||
defined('MOODLE_INTERNAL') || die(); | ||
|
||
/** | ||
* Tests that completion works without requiring unnecessary capabilities. | ||
* | ||
* @package core_completion | ||
* @copyright 2018 University of Nottingham | ||
* @author Neill Magill <neill.magill@nottingham.ac.uk> | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
class core_completion_capabilities_testcase extends advanced_testcase { | ||
/** | ||
* A user who does not have capabilities to add events to the calendar should be able to create activities. | ||
*/ | ||
public function test_creation_with_no_calendar_capabilities() { | ||
$this->resetAfterTest(); | ||
$course = self::getDataGenerator()->create_course(['enablecompletion' => 1]); | ||
$context = context_course::instance($course->id); | ||
$user = self::getDataGenerator()->create_and_enrol($course, 'editingteacher'); | ||
$roleid = self::getDataGenerator()->create_role(); | ||
self::getDataGenerator()->role_assign($roleid, $user->id, $context->id); | ||
assign_capability('moodle/calendar:manageentries', CAP_PROHIBIT, $roleid, $context, true); | ||
$generator = self::getDataGenerator()->get_plugin_generator('mod_forum'); | ||
// Create an instance as a user without the calendar capabilities. | ||
$this->setUser($user); | ||
$params = array( | ||
'course' => $course->id, | ||
'completionexpected' => time() + 2000, | ||
); | ||
$generator->create_instance($params); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
58 changes: 58 additions & 0 deletions
58
mod/assign/tests/behat/assign_no_calendar_capabilities.feature
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
@mod @mod_assign | ||
Feature: Assignment with no calendar capabilites | ||
In order to allow work effectively | ||
As a teacher | ||
I need to be able to create assignments even when I cannot edit calendar events | ||
|
||
Background: | ||
Given the following "courses" exist: | ||
| fullname | shortname | category | groupmode | | ||
| Course 1 | C1 | 0 | 1 | | ||
And the following "users" exist: | ||
| username | firstname | lastname | email | | ||
| teacher1 | Teacher | 1 | teacher1@example.com | | ||
And the following "course enrolments" exist: | ||
| user | course | role | | ||
| teacher1 | C1 | editingteacher | | ||
And I log in as "admin" | ||
And I am on "Course 1" course homepage | ||
And I navigate to "Users > Permissions" in current page administration | ||
And I override the system permissions of "Teacher" role with: | ||
| capability | permission | | ||
| moodle/calendar:manageentries | Prohibit | | ||
And I log out | ||
|
||
Scenario: Editing an assignment | ||
Given I log in as "admin" | ||
And I am on "Course 1" course homepage with editing mode on | ||
When I add a "Assignment" to section "1" and I fill the form with: | ||
| Assignment name | Test assignment name | | ||
| Description | Test assignment description | | ||
| id_allowsubmissionsfromdate_enabled | 1 | | ||
| id_allowsubmissionsfromdate_day | 1 | | ||
| id_allowsubmissionsfromdate_month | 1 | | ||
| id_allowsubmissionsfromdate_year | 2017 | | ||
| id_duedate_enabled | 1 | | ||
| id_duedate_day | 1 | | ||
| id_duedate_month | 2 | | ||
| id_duedate_year | 2017 | | ||
| id_cutoffdate_enabled | 1 | | ||
| id_cutoffdate_day | 2 | | ||
| id_cutoffdate_month | 2 | | ||
| id_cutoffdate_year | 2017 | | ||
| id_gradingduedate_enabled | 1 | | ||
| id_gradingduedate_day | 1 | | ||
| id_gradingduedate_month | 3 | | ||
| id_gradingduedate_year | 2017 | | ||
And I log out | ||
When I log in as "teacher1" | ||
And I am on "Course 1" course homepage with editing mode on | ||
And I follow "Test assignment name" | ||
And I navigate to "Edit settings" in current page administration | ||
And I set the following fields to these values: | ||
| id_allowsubmissionsfromdate_year | 2018 | | ||
| id_duedate_year | 2018 | | ||
| id_cutoffdate_year | 2018 | | ||
| id_gradingduedate_year | 2018 | | ||
And I press "Save and return to course" | ||
Then I should see "Test assignment name" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
43 changes: 43 additions & 0 deletions
43
mod/chat/tests/behat/chat_no_calendar_capabilities.feature
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
@mod @mod_chat | ||
Feature: Chat with no calendar capabilites | ||
In order to allow work effectively | ||
As a teacher | ||
I need to be able to create chats even when I cannot edit calendar events | ||
|
||
Background: | ||
Given the following "courses" exist: | ||
| fullname | shortname | category | groupmode | | ||
| Course 1 | C1 | 0 | 1 | | ||
And the following "users" exist: | ||
| username | firstname | lastname | email | | ||
| teacher1 | Teacher | 1 | teacher1@example.com | | ||
And the following "course enrolments" exist: | ||
| user | course | role | | ||
| teacher1 | C1 | editingteacher | | ||
And I log in as "admin" | ||
And I am on "Course 1" course homepage | ||
And I navigate to "Users > Permissions" in current page administration | ||
And I override the system permissions of "Teacher" role with: | ||
| capability | permission | | ||
| moodle/calendar:manageentries | Prohibit | | ||
And I log out | ||
|
||
Scenario: Editing a chat | ||
Given I log in as "admin" | ||
And I am on "Course 1" course homepage with editing mode on | ||
When I add a "Chat" to section "1" and I fill the form with: | ||
| Name of this chat room | Test chat name | | ||
| Description | Test chat description | | ||
| Repeat/publish session times | No repeats - publish the specified time only | | ||
| id_chattime_day | 1 | | ||
| id_chattime_month | 1 | | ||
| id_chattime_year | 2017 | | ||
And I log out | ||
When I log in as "teacher1" | ||
And I am on "Course 1" course homepage with editing mode on | ||
And I follow "Test chat name" | ||
And I navigate to "Edit settings" in current page administration | ||
And I set the following fields to these values: | ||
| id_chattime_year | 2018 | | ||
And I press "Save and return to course" | ||
Then I should see "Test chat name" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.