2 require_once 'include/MVC/SugarApplication.php';
4 class SugarApplicationTest extends Sugar_PHPUnit_Framework_TestCase
8 public function setUp()
10 $startTime = microtime();
11 $system_config = new Administration();
12 $system_config->retrieveSettings();
13 $GLOBALS['system_config'] = $system_config;
14 $this->_app = new SugarApplication();
15 if ( isset($_SESSION['authenticated_user_theme']) )
16 unset($_SESSION['authenticated_user_theme']);
19 private function _loadUser()
21 $GLOBALS['current_user'] = SugarTestUserUtilities::createAnonymousUser();
22 $_SESSION[$GLOBALS['current_user']->user_name.'_PREFERENCES']['global']['gridline'] = 'on';
25 private function _removeUser()
27 SugarTestUserUtilities::removeAllCreatedAnonymousUsers();
28 unset($GLOBALS['current_user']);
31 public function tearDown()
33 unset($GLOBALS['current_user']);
34 unset($GLOBALS['moduleList']);
35 unset($GLOBALS['modInvisListActivities']);
36 unset($GLOBALS['request_string']);
37 unset($GLOBALS['adminOnlyList']);
38 unset($GLOBALS['modListHeader']);
39 unset($GLOBALS['modInvisList']);
40 unset($GLOBALS['app_strings']);
41 unset($GLOBALS['system_config']);
42 unset($GLOBALS['app_list_strings']);
43 unset($GLOBALS['mod_strings']);
44 unset($GLOBALS['theme']);
45 unset($GLOBALS['image_path']);
46 unset($GLOBALS['starttTime']);
47 unset($GLOBALS['sugar_version']);
48 unset($GLOBALS['sugar_flavor']);
49 $GLOBALS['current_language'] = $GLOBALS['sugar_config']['default_language'];
52 public function testSetupPrint()
55 $_POST['dog'] = 'cat';
56 $this->_app->setupPrint();
57 $this->assertEquals($GLOBALS['request_string'],
58 'foo=bar&dog=cat&print=true'
62 public function testLoadDisplaySettingsDefault()
66 $this->_app->loadDisplaySettings();
68 $this->assertEquals($GLOBALS['theme'],
69 $GLOBALS['sugar_config']['default_theme']);
74 public function testLoadDisplaySettingsAuthUserTheme()
78 $_SESSION['authenticated_user_theme'] = 'Sugar';
80 $this->_app->loadDisplaySettings();
82 $this->assertEquals($GLOBALS['theme'],
83 $_SESSION['authenticated_user_theme']);
88 public function testLoadDisplaySettingsUserTheme()
92 $_REQUEST['usertheme'] = 'Sugar5';
94 $this->_app->loadDisplaySettings();
96 $this->assertEquals($GLOBALS['theme'],
97 $_REQUEST['usertheme']);
102 public function testLoadGlobals()
104 $this->_app->controller =
105 ControllerFactory::getController($this->_app->default_module);
106 $this->_app->loadGlobals();
108 $this->assertEquals($GLOBALS['currentModule'],$this->_app->default_module);
109 $this->assertEquals($_REQUEST['module'],$this->_app->default_module);
110 $this->assertEquals($_REQUEST['action'],$this->_app->default_action);
116 public function testCheckDatabaseVersion()
118 if ( isset($GLOBALS['sugar_db_version']) )
119 $old_sugar_db_version = $GLOBALS['sugar_db_version'];
120 if ( isset($GLOBALS['sugar_version']) )
121 $old_sugar_version = $GLOBALS['sugar_version'];
122 include 'sugar_version.php';
123 $GLOBALS['sugar_version'] = $sugar_version;
125 // first test a valid value
126 $GLOBALS['sugar_db_version'] = $sugar_db_version;
127 $this->assertTrue($this->_app->checkDatabaseVersion(false));
129 $GLOBALS['sugar_db_version'] = '1.1.1';
130 // then test to see if we pull against the cache the valid value
131 $this->assertTrue($this->_app->checkDatabaseVersion(false));
133 // now retest to be sure we actually do the check again
134 sugar_cache_put('checkDatabaseVersion_row_count', 0);
135 $this->assertFalse($this->_app->checkDatabaseVersion(false));
137 if ( isset($old_sugar_db_version) )
138 $GLOBALS['sugar_db_version'] = $old_sugar_db_version;
139 if ( isset($old_sugar_version) )
140 $GLOBALS['sugar_version'] = $old_sugar_version;