MDL-52656 unittest: Reset original session while setting user

This commit is contained in:
Rajesh Taneja
2016-01-07 13:27:35 +10:00
parent 8069645f56
commit a1cd2000fb
2 changed files with 11 additions and 1 deletions
@@ -485,6 +485,9 @@ abstract class advanced_testcase extends PHPUnit_Framework_TestCase {
unset($user->access);
unset($user->preference);
// Enusre session is empty, as it may contain caches and user specific info.
\core\session\manager::init_empty_session();
\core\session\manager::set_user($user);
}
+8 -1
View File
@@ -72,7 +72,9 @@ class core_phpunit_advanced_testcase extends advanced_testcase {
}
public function test_set_user() {
global $USER, $DB;
global $USER, $DB, $SESSION;
$this->resetAfterTest();
$this->assertEquals(0, $USER->id);
$this->assertSame($_SESSION['USER'], $USER);
@@ -109,6 +111,11 @@ class core_phpunit_advanced_testcase extends advanced_testcase {
$this->assertEquals(0, $USER->id);
$this->assertSame($_SESSION['USER'], $USER);
$this->assertSame($GLOBALS['USER'], $USER);
// Ensure session is reset after setUser, as it may contain extra info.
$SESSION->sometestvalue = true;
$this->setUser($user);
$this->assertObjectNotHasAttribute('sometestvalue', $SESSION);
}
public function test_set_admin_user() {