]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - tests/modules/Trackers/TrackerUpgradeDashletTest.php
Added unit tests.
[Github/sugarcrm.git] / tests / modules / Trackers / TrackerUpgradeDashletTest.php
1 <?php
2
3 require_once('tests/modules/Trackers/TrackerTestUtility.php');
4
5 class TrackerUpgradeDashletTest extends Sugar_PHPUnit_Framework_TestCase  {
6
7         var $defaultTrackingDashlets = array('TrackerDashlet', 'MyModulesUsedChartDashlet', 'MyTeamModulesUsedChartDashlet');
8        
9     function setUp() {
10          $this->markTestSkipped("Skipping unless otherwise specified");
11         
12         TrackerTestUtility::setUp(); 
13         $GLOBALS['mod_strings'] = return_module_language($GLOBALS['current_language'], 'Home');         
14
15         $cuser = new User();
16                 $cuser->retrieve('1');
17         $GLOBALS['current_user'] = $cuser;
18         
19             //Set the user theme to be 'Sugar' theme since this is run for CE flavor conversions
20             $cuser->setPreference('user_theme', 'Sugar5', 0, 'global');
21         
22         if(ACLController::checkAccess('Trackers', 'view', false, 'Tracker')) {
23                   $pages = $GLOBALS['current_user']->getPreference('pages', 'Home');
24                   $pages = !empty($pages) ? $pages : array();
25                   $dashlets = $GLOBALS['current_user']->getPreference('dashlets', 'Home');
26                   $dashlets = !empty($dashlets) ? $dashlets : array();
27                   $new_dashlets = array();
28                   
29               foreach($dashlets as $id=>$dashlet) {
30                 if(!in_array($dashlet['className'], $this->defaultTrackingDashlets)) {
31                          $new_dashlets[$id] = $dashlet;
32                 }
33               }
34               
35               $GLOBALS['current_user']->setPreference('dashlets', $new_dashlets, 0, 'Home');
36               
37               $new_pages = array();
38               foreach($pages as $page) {
39                     if(!empty($page['pageTitle']) && $page['pageTitle'] != 'Tracker') {
40                          $new_pages[] = $page;
41                     }
42               }
43               
44               $GLOBALS['current_user']->setPreference('pages', $new_pages, 0, 'Home');
45               $GLOBALS['current_user']->save();
46         } //if        
47     }
48     
49     function tearDown() {
50                 TrackerTestUtility::tearDown(); 
51                 $user = new User();
52                 $user->retrieve('1');
53                 $GLOBALS['current_user'] = $user;               
54     }
55
56     
57     function testUpgradeTrackerDashlet() {
58         $this->upgradeUserPreferencesCopy();
59         $cuser = new User();
60         $cuser->retrieve('1');
61                 $dashlets = $cuser->getPreference('dashlets', 'Home');
62                 $countAdded = 0;
63                 
64                 foreach($dashlets as $id=>$dashlet) {
65                             if(in_array($dashlet['className'], $this->defaultTrackingDashlets)) {
66                                $countAdded++;
67                             }
68                 }
69
70                 $this->assertEquals($countAdded, 3);
71                 
72                 $pages = $cuser->getPreference('pages', 'Home');
73             $countAdded = 0;
74                 foreach($pages as $id=>$page) {
75                             if($page['pageTitle'] == 'Tracker') {
76                                $countAdded++;
77                             }
78                 }
79                 
80                 $theme = $cuser->getPreference('user_theme', 'global');
81                 $this->assertTrue($theme == 'Sugar');
82                 $this->assertTrue($countAdded == 1);
83     }    
84     
85     
86 /**
87  * upgradeUserPreferencesCopy
88  *
89  */
90 private function upgradeUserPreferencesCopy() {
91         
92 }    
93     
94 }  
95 ?>