]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - tests/modules/UpgradeWizard/SugarMerge/Bug37461Test.php
Added unit tests.
[Github/sugarcrm.git] / tests / modules / UpgradeWizard / SugarMerge / Bug37461Test.php
1 <?php
2 require_once 'include/dir_inc.php';
3
4 class Bug37461Test extends Sugar_PHPUnit_Framework_TestCase  {
5
6 var $merge;
7 var $has_dir;
8 var $modules;
9
10 function setUp() {
11    $this->modules = array('Accounts');
12    $this->has_dir = array();
13    
14    foreach($this->modules as $module) {
15            if(!file_exists("custom/modules/{$module}/metadata")){
16                   mkdir_recursive("custom/modules/{$module}/metadata", true);
17            }
18            
19            if(file_exists("custom/modules/{$module}")) {
20                   $this->has_dir[$module] = true;
21            }
22            
23            $files = array('searchdefs', 'listviewdefs');
24            foreach($files as $file) {
25                    if(file_exists("custom/modules/{$module}/metadata/{$file}")) {
26                           copy("custom/modules/{$module}/metadata/{$file}.php", "custom/modules/{$module}/metadata/{$file}.php.bak");
27                    }
28                    
29                    if(file_exists("custom/modules/{$module}/metadata/{$file}.php.suback.php")) {
30                       copy("custom/modules/{$module}/metadata/{$file}.php.suback.php", "custom/modules/{$module}/metadata/{$file}.php.suback.bak");
31                    }
32                    
33                    if(file_exists("tests/modules/UpgradeWizard/SugarMerge/siupgrade_metadata_files/custom/modules/{$module}/metadata/{$file}.php")) {
34                           copy("tests/modules/UpgradeWizard/SugarMerge/siupgrade_metadata_files/custom/modules/{$module}/metadata/{$file}.php", "custom/modules/{$module}/metadata/{$file}.php");
35                    }
36            } //foreach
37    } //foreach
38 }
39
40
41 function tearDown() {
42
43    foreach($this->modules as $module) {
44            if(!$this->has_dir[$module]) {
45                   rmdir_recursive("custom/modules/{$module}");
46            }  else {
47                    $files = array('searchdefs', 'listviewdefs');
48                    foreach($files as $file) {
49                       if(file_exists("custom/modules/{$module}/metadata/{$file}.php.bak")) {
50                          copy("custom/modules/{$module}/metadata/{$file}.php.bak", "custom/modules/{$module}/metadata/{$file}.php");
51                      unlink("custom/modules/{$module}/metadata/{$file}.php.bak");
52                       } else if(file_exists("custom/modules/{$module}/metadata/{$file}.php")) {
53                          unlink("custom/modules/{$module}/metadata/{$file}.php");
54                       }
55                       
56                           if(file_exists("custom/modules/{$module}/metadata/{$module}.php.suback.bak")) {
57                          copy("custom/modules/{$module}/metadata/{$file}.php.suback.bak", "custom/modules/{$module}/metadata/{$file}.php.suback.php");
58                      unlink("custom/modules/{$module}/metadata/{$file}.php.suback.bak");
59                       } else if(file_exists("custom/modules/{$module}/metadata/{$file}.php.suback.php")) {
60                          unlink("custom/modules/{$module}/metadata/{$file}.php.suback.php");
61                       }  
62                    }
63            }
64    } //foreach
65 }
66
67
68 function test_accounts_searchdefs_merge() {     
69    require_once 'modules/UpgradeWizard/SugarMerge/SearchMerge.php';             
70    $this->merge = new SearchMerge();    
71    $this->merge->merge('Accounts', 'tests/modules/UpgradeWizard/SugarMerge/siupgrade_metadata_files/551/modules/Accounts/metadata/searchdefs.php', 'modules/Accounts/metadata/searchdefs.php', 'custom/modules/Accounts/metadata/searchdefs.php');
72    $this->assertTrue(file_exists('custom/modules/Accounts/metadata/searchdefs.php.suback.php'));
73    require('custom/modules/Accounts/metadata/searchdefs.php');
74    $fields = array();
75    
76    //echo var_export($searchdefs, true);
77    
78    foreach($searchdefs['Accounts']['layout']['basic_search'] as $col_key=>$col) {
79         $id = is_array($col) && isset($col['name']) ? $col['name'] : $col;
80         if(!empty($id) && !is_array($id)) {
81                    $fields[$id] = $col;
82                 }
83    }
84    
85    
86    $this->assertTrue(count($fields) == 6, "Assert that there are 6 fields in the basic_search layout for Accounts metadata");
87    
88    $fields = array();
89    foreach($searchdefs['Accounts']['layout']['advanced_search'] as $col_key=>$col) {
90         $id = is_array($col) && isset($col['name']) ? $col['name'] : $col;
91         if(!empty($id)) {
92                 $fields[$id] = $col;
93         }
94    }
95    $this->assertTrue(count($fields) == 18, "Assert that there are 18 fields in the advanced_search layout for Accounts metadata");
96 }
97
98
99 function test_accounts_listviewdefs_merge() {   
100    require('custom/modules/Accounts/metadata/listviewdefs.php');
101    $original_fields = array();
102    $original_displayed_fields = array();
103    foreach($listViewDefs['Accounts'] as $col_key=>$col) {
104                 $original_fields[$col_key] = $col;
105                 if(isset($col['default']) && $col['default']) {
106                    $original_displayed_fields[$col_key] = $col;
107                 }
108    }
109         
110    //echo var_export($original_displayed_fields, true);
111    
112    require_once 'modules/UpgradeWizard/SugarMerge/ListViewMerge.php';           
113    $this->merge = new ListViewMerge();  
114    $this->merge->merge('Accounts', 'tests/modules/UpgradeWizard/SugarMerge/siupgrade_metadata_files/551/modules/Accounts/metadata/listviewdefs.php', 'modules/Accounts/metadata/listviewdefs.php', 'custom/modules/Accounts/metadata/listviewdefs.php');
115    $this->assertTrue(file_exists('custom/modules/Accounts/metadata/listviewdefs.php.suback.php'));
116    require('custom/modules/Accounts/metadata/listviewdefs.php');
117    $fields = array();
118    $displayed_fields = array();
119    foreach($listViewDefs['Accounts'] as $col_key=>$col) {
120                 $fields[$col_key] = $col;
121                 if(isset($col['default']) && $col['default']) {
122                    $displayed_fields[$col_key] = $col;
123                 }
124    }
125   
126    //echo var_export($displayed_fields, true);
127    //echo var_export($listViewDefs['Accounts'], true);
128    
129    $this->assertTrue(count($displayed_fields) == count($original_displayed_fields), "Assert that there are the same number of fields displayed in the listview layout for Accounts metadata");
130    $this->assertTrue(isset($displayed_fields['NAME']), "Assert that NAME field is present");
131    $this->assertTrue(isset($displayed_fields['BILLING_ADDRESS_CITY']), "Assert that BILLING_ADDRESS_CITY field is present");
132    $this->assertTrue(isset($displayed_fields['BILLING_ADDRESS_STATE']), "Assert that BILLING_ADDRESS_CITY field is present");
133    $this->assertTrue(isset($displayed_fields['TEAM_NAME']), "Assert that TEAM_NAME (removed in 6.0 OOTB) field is present");
134    $this->assertTrue(!isset($displayed_fields['BILLING_ADDRESS_COUNTRY']), "Assert that BILLING_ADDRESS_COUNTRY (added in 6.0 OOTB) field is not present");
135 }
136
137
138 }
139 ?>