markTestSkipped('Mark this test as skipped for now'); $this->_user = SugarTestUserUtilities::createAnonymousUser(); $GLOBALS['current_user'] = SugarTestUserUtilities::createAnonymousUser(); } public function tearDown() { unset($_SESSION[$GLOBALS['current_user']->user_name . '_PREFERENCES']); unset($GLOBALS['current_user']); unset($_SESSION[$this->_user->user_name . '_PREFERENCES']); SugarTestUserUtilities::removeAllCreatedAnonymousUsers(); } public function testSettingAUserPreferenceNotSetInSession() { $this->_user->setPreference('test_pref', 'dog'); $this->assertEquals('dog', $this->_user->getPreference('test_pref')); $this->assertFalse(isset($_SESSION[$this->_user->user_name . '_PREFERENCES']['global']['test_pref'])); } public function testSettingAUserPreferenceInSession() { $GLOBALS['current_user'] = $this->_user; $this->_user->setPreference('test_pref', 'dog'); $this->assertEquals('dog', $this->_user->getPreference('test_pref')); $this->assertEquals('dog', $_SESSION[$this->_user->user_name . '_PREFERENCES']['global']['test_pref']); } public function testisCurrentUserReturnsFalseWhenCurrentUserIsNotSet() { unset($GLOBALS['current_user']); $obj = new TestUserPreference($this->_user); $this->assertFalse($obj->isCurrentUser()); } public function testisCurrentUserReturnsFalseWhenUserIsNotSet() { $obj = new TestUserPreference(null); $this->assertFalse($obj->isCurrentUser()); } } class TestUserPreference extends UserPreference { public function isCurrentUser() { return parent::isCurrentUser(); } }