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 11:54:04 +11:00
parent 953239d6b5
commit 03efa67f50
7 changed files with 18 additions and 18 deletions
+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]));