MDL-43440 unit testing: Use cmid in unit tests when it should be used.

instance is has been used instead of cmid.  This works as all id's are 1
in most cases, but not always.

accesslib_clear_all_caches_for_unit_testing was updated to clear the
$USER->access cache which would fail test when the wrong user's data was used.
This commit is contained in:
Russell Smith
2014-01-24 10:32:21 +11:00
parent 953239d6b5
commit 03efa67f50
7 changed files with 18 additions and 18 deletions
+1 -1
View File
@@ -52,7 +52,7 @@ class gradeedittreelib_testcase extends advanced_testcase {
$scale = $this->getDataGenerator()->create_scale();
$course = $this->getDataGenerator()->create_course();
$assign = $this->getDataGenerator()->create_module('assign', array('course' => $course->id));
$modulecontext = context_module::instance($assign->id);
$modulecontext = context_module::instance($assign->cmid);
// The generator returns a dummy object, lets get the real assign object.
$assign = new assign($modulecontext, false, false);
$cm = $assign->get_course_module();
+2 -2
View File
@@ -66,7 +66,7 @@ class core_grade_external_testcase extends externallib_advanced_testcase {
// Create a teacher and give them capabilities.
$coursecontext = context_course::instance($course->id);
$roleid = $this->assignUserCapability('moodle/course:viewparticipants', $coursecontext->id, 3);
$modulecontext = context_module::instance($cm->id);
$modulecontext = context_module::instance($cm->cmid);
$this->assignUserCapability('mod/assign:grade', $modulecontext->id, $roleid);
// Create the teacher's enrolment record.
@@ -146,7 +146,7 @@ class core_grade_external_testcase extends externallib_advanced_testcase {
$DB->insert_record('gradingform_rubric_levels', $rubriclevel2);
// Call the external function.
$cmids = array ($cm->id);
$cmids = array ($cm->cmid);
$areaname = 'submissions';
$result = core_grade_external::get_definitions($cmids, $areaname);
+5 -5
View File
@@ -74,7 +74,7 @@ class accesslib_testcase extends advanced_testcase {
$this->assertNotEmpty($ACCESSLIB_PRIVATE->rolepermissions);
$this->assertNotEmpty($ACCESSLIB_PRIVATE->rolepermissions);
$this->assertNotEmpty($ACCESSLIB_PRIVATE->accessdatabyuser);
accesslib_clear_all_caches(true);
accesslib_clear_all_caches_for_unit_testing();
$this->assertEmpty($ACCESSLIB_PRIVATE->rolepermissions);
$this->assertEmpty($ACCESSLIB_PRIVATE->rolepermissions);
$this->assertEmpty($ACCESSLIB_PRIVATE->dirtycontexts);
@@ -1837,7 +1837,7 @@ class accesslib_testcase extends advanced_testcase {
unassign_capability('moodle/site:accessallgroups', $allroles['teacher'], $frontpagecontext->id, true);
unset($rc);
accesslib_clear_all_caches(false); // must be done after assign_capability()
accesslib_clear_all_caches_for_unit_testing(); // Must be done after assign_capability().
// ======= role_assign(), role_unassign(), role_unassign_all() ==============
@@ -1854,7 +1854,7 @@ class accesslib_testcase extends advanced_testcase {
$this->assertEquals($DB->count_records('role_assignments', array('contextid'=>$context->id)), 0);
unset($context);
accesslib_clear_all_caches(false); // just in case
accesslib_clear_all_caches_for_unit_testing(); // Just in case.
// ====== has_capability(), get_users_by_capability(), role_switch(), reload_all_capabilities() and friends ========================
@@ -1915,7 +1915,7 @@ class accesslib_testcase extends advanced_testcase {
assign_capability('mod/page:view', CAP_PREVENT, $allroles['guest'], $systemcontext, true);
accesslib_clear_all_caches(false); // must be done after assign_capability()
accesslib_clear_all_caches_for_unit_testing(); /// Must be done after assign_capability().
// Extra tests for guests and not-logged-in users because they can not be verified by cross checking
// with get_users_by_capability() where they are ignored
@@ -2038,7 +2038,7 @@ class accesslib_testcase extends advanced_testcase {
unset($permissions);
unset($roles);
accesslib_clear_all_caches(false); // must be done after assign_capability()
accesslib_clear_all_caches_for_unit_testing(); // must be done after assign_capability().
// Test time - let's set up some real user, just in case the logic for USER affects the others...
$USER = $DB->get_record('user', array('id'=>$testusers[3]));
+3 -3
View File
@@ -92,7 +92,7 @@ class messagelib_testcase extends advanced_testcase {
// however mod_quiz doesn't have a data generator
// Instead we're going to use backup notifications and give and take away the capability at various levels
$assign = $this->getDataGenerator()->create_module('assign', array('course'=>$course->id));
$modulecontext = context_module::instance($assign->id);
$modulecontext = context_module::instance($assign->cmid);
// Create and enrol a teacher
$teacherrole = $DB->get_record('role', array('shortname'=>'editingteacher'), '*', MUST_EXIST);
@@ -120,7 +120,7 @@ class messagelib_testcase extends advanced_testcase {
// They should now be able to see the backup message
assign_capability('moodle/site:config', CAP_ALLOW, $teacherrole->id, $modulecontext->id, true);
accesslib_clear_all_caches_for_unit_testing();
$modulecontext = context_module::instance($assign->id);
$modulecontext = context_module::instance($assign->cmid);
$this->assertTrue(has_capability('moodle/site:config', $modulecontext));
$providers = message_get_providers_for_user($teacher->id);
@@ -131,7 +131,7 @@ class messagelib_testcase extends advanced_testcase {
// They should not be able to see the backup message
assign_capability('moodle/site:config', CAP_PROHIBIT, $teacherrole->id, $coursecontext->id, true);
accesslib_clear_all_caches_for_unit_testing();
$modulecontext = context_module::instance($assign->id);
$modulecontext = context_module::instance($assign->cmid);
$this->assertFalse(has_capability('moodle/site:config', $modulecontext));
$providers = message_get_providers_for_user($teacher->id);
+2 -2
View File
@@ -66,7 +66,7 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
// Create a teacher and give them capabilities.
$context = context_course::instance($course->id);
$roleid = $this->assignUserCapability('moodle/course:viewparticipants', $context->id, 3);
$context = context_module::instance($assign->id);
$context = context_module::instance($assign->cmid);
$this->assignUserCapability('mod/assign:grade', $context->id, $roleid);
// Create the teacher's enrolment record.
@@ -161,7 +161,7 @@ class mod_assign_external_testcase extends externallib_advanced_testcase {
// Create the user and give them capabilities.
$context = context_course::instance($course1->id);
$roleid = $this->assignUserCapability('moodle/course:view', $context->id);
$context = context_module::instance($assign1->id);
$context = context_module::instance($assign1->cmid);
$this->assignUserCapability('mod/assign:view', $context->id, $roleid);
// Create the user enrolment record.
+3 -3
View File
@@ -90,7 +90,7 @@ class mod_forum_external_testcase extends externallib_advanced_testcase {
$enrol->enrol_user($instance2, $user->id);
// Assign capabilities to view forums for forum 2.
$cm2 = get_coursemodule_from_id('forum', $forum2->id, 0, false, MUST_EXIST);
$cm2 = get_coursemodule_from_id('forum', $forum2->cmid, 0, false, MUST_EXIST);
$context2 = context_module::instance($cm2->id);
$newrole = create_role('Role 2', 'role2', 'Role 2 description');
$roleid2 = $this->assignUserCapability('mod/forum:viewdiscussion', $context2->id, $newrole);
@@ -256,13 +256,13 @@ class mod_forum_external_testcase extends externallib_advanced_testcase {
$enrol->enrol_user($instance2, $user1->id);
// Assign capabilities to view discussions for forum 2.
$cm = get_coursemodule_from_id('forum', $forum2->id, 0, false, MUST_EXIST);
$cm = get_coursemodule_from_id('forum', $forum2->cmid, 0, false, MUST_EXIST);
$context = context_module::instance($cm->id);
$newrole = create_role('Role 2', 'role2', 'Role 2 description');
$this->assignUserCapability('mod/forum:viewdiscussion', $context->id, $newrole);
// Assign capabilities to view discussions for forum 3.
$cm = get_coursemodule_from_id('forum', $forum3->id, 0, false, MUST_EXIST);
$cm = get_coursemodule_from_id('forum', $forum3->cmid, 0, false, MUST_EXIST);
$context = context_module::instance($cm->id);
$this->assignUserCapability('mod/forum:viewdiscussion', $context->id, $newrole);
+2 -2
View File
@@ -246,10 +246,10 @@ class repositorylib_testcase extends advanced_testcase {
$forumdata = new stdClass();
$forumdata->course = $course1->id;
$forumc1 = $this->getDataGenerator()->create_module('forum', $forumdata);
$forumc1context = context_module::instance($forumc1->id);
$forumc1context = context_module::instance($forumc1->cmid);
$forumdata->course = $course2->id;
$forumc2 = $this->getDataGenerator()->create_module('forum', $forumdata);
$forumc2context = context_module::instance($forumc2->id);
$forumc2context = context_module::instance($forumc2->cmid);
$blockdata = new stdClass();
$blockdata->parentcontextid = $course1context->id;