2 require_once 'modules/Users/User.php';
4 class UserTest extends Sugar_PHPUnit_Framework_TestCase
6 protected $_user = null;
8 public function setUp()
10 $this->_user = SugarTestUserUtilities::createAnonymousUser();
11 $GLOBALS['current_user'] = SugarTestUserUtilities::createAnonymousUser();
14 public function tearDown()
16 unset($GLOBALS['current_user']);
19 public function testSettingAUserPreference()
21 $this->_user->setPreference('test_pref','dog');
23 $this->assertEquals('dog',$this->_user->getPreference('test_pref'));
26 public function testGettingSystemPreferenceWhenNoUserPreferenceExists()
28 $GLOBALS['sugar_config']['somewhackypreference'] = 'somewhackyvalue';
30 $result = $this->_user->getPreference('somewhackypreference');
32 unset($GLOBALS['sugar_config']['somewhackypreference']);
34 $this->assertEquals('somewhackyvalue',$result);
40 public function testGettingSystemPreferenceWhenNoUserPreferenceExistsForEmailDefaultClient()
42 if ( isset($GLOBALS['sugar_config']['email_default_client']) ) {
43 $oldvalue = $GLOBALS['sugar_config']['email_default_client'];
45 $GLOBALS['sugar_config']['email_default_client'] = 'somewhackyvalue';
47 $result = $this->_user->getPreference('email_link_type');
49 if ( isset($oldvalue) ) {
50 $GLOBALS['sugar_config']['email_default_client'] = $oldvalue;
53 unset($GLOBALS['sugar_config']['email_default_client']);
56 $this->assertEquals('somewhackyvalue',$result);
59 public function testResetingUserPreferences()
61 $this->_user->setPreference('test_pref','dog');
63 $this->_user->resetPreferences();
65 $this->assertNull($this->_user->getPreference('test_pref'));
71 public function testCertainPrefsAreNotResetWhenResetingUserPreferences()
73 $this->_user->setPreference('ut','1');
74 $this->_user->setPreference('timezone','GMT');
76 $this->_user->resetPreferences();
78 $this->assertEquals('1',$this->_user->getPreference('ut'));
79 $this->assertEquals('GMT',$this->_user->getPreference('timezone'));
82 public function testDeprecatedUserPreferenceInterface()
84 User::setPreference('deprecated_pref','dog',0,'global',$this->_user);
86 $this->assertEquals('dog',User::getPreference('deprecated_pref','global',$this->_user));
89 public function testSavingToMultipleUserPreferenceCategories()
91 $this->_user->setPreference('test_pref1','dog',0,'cat1');
92 $this->_user->setPreference('test_pref2','dog',0,'cat2');
94 $this->_user->savePreferencesToDB();
98 $GLOBALS['db']->getOne("SELECT category FROM user_preferences WHERE assigned_user_id = '{$this->_user->id}' AND category = 'cat1'")
103 $GLOBALS['db']->getOne("SELECT category FROM user_preferences WHERE assigned_user_id = '{$this->_user->id}' AND category = 'cat2'")