]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - tests/modules/UpgradeWizard/SugarMerge/Bug37597Test.php
Added unit tests.
[Github/sugarcrm.git] / tests / modules / UpgradeWizard / SugarMerge / Bug37597Test.php
1 <?php
2 require_once 'include/dir_inc.php';
3
4 class Bug37597Test extends Sugar_PHPUnit_Framework_TestCase  {
5
6 var $merge;
7 var $has_dir;
8 var $modules;
9
10 function setUp() {
11    $this->modules = array('Meetings');
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('detailviewdefs');
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/od_metadata_files/custom/modules/{$module}/metadata/{$file}.php")) {
34                           copy("tests/modules/UpgradeWizard/SugarMerge/od_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('detailviewdefs');
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_meetings_detailview_merge() {             
69    require_once 'modules/UpgradeWizard/SugarMerge/DetailViewMerge.php';
70    $this->merge = new DetailViewMerge();        
71    $this->merge->merge('Meetings', 'tests/modules/UpgradeWizard/SugarMerge/od_metadata_files/551/modules/Meetings/metadata/detailviewdefs.php', 'modules/Meetings/metadata/detailviewdefs.php', 'custom/modules/Meetings/metadata/detailviewdefs.php');
72    $this->assertTrue(file_exists('custom/modules/Meetings/metadata/detailviewdefs.php.suback.php'));
73    require('custom/modules/Meetings/metadata/detailviewdefs.php');
74    $fields = array();
75    $panels = array();
76    
77    //echo var_export($viewdefs['Meetings']['DetailView']['panels'], true);
78    $columns_sanitized = true;
79    foreach($viewdefs['Meetings']['DetailView']['panels'] as $panel_key=>$panel) {
80           $panels[$panel_key] = $panel_key;
81           foreach($panel as $r=>$row) {
82                  $new_row = true;
83                  foreach($row as $col_key=>$col) {
84                         if($new_row && $col_key != 0) {
85                            $columns_sanitized = false;   
86                         }
87                         
88                         $new_row = false;
89                         
90                         $id = is_array($col) && isset($col['name']) ? $col['name'] : $col;
91                         if(!empty($id) && !is_array($id)) {
92                            $fields[$id] = $col;
93                         }
94                  }
95           }
96    }
97    
98    //$this->assertTrue($columns_sanitized, "Assert that the column keys are sanitized (start with 0)");
99    $this->assertTrue(isset($fields['meetings_opportunities_name']), "Assert that meetings_opportunities_name field is preserved");
100    $this->assertTrue($viewdefs['Meetings']['DetailView']['panels']['default'][0][0]['name'] == 'name', "Assert that position of name field has not changed");
101    $this->assertTrue($viewdefs['Meetings']['DetailView']['panels']['default'][0][1]['name'] == 'status', "Assert that position of status field has not changed");
102    $this->assertTrue(isset($fields['date_modified']), "Assert that date_modified field is added");
103    $this->assertTrue(isset($fields['date_entered']), "Assert that date_entered field is added");
104      
105    //echo var_export($fields, true);
106    //echo var_export($panels, true);
107    
108    //$this->assertTrue(count($panels) == 2, "Assert that there are 2 panels matching the custom Meetings DetailView layout");
109    //$this->assertTrue(isset($panels['lbl_panel1']), "Assert that 'lbl_panel1' panel id is present");
110
111    /*
112    $custom_fields = array('score_c', 'support_authorized_c', 'university_enabled_c', 'billing_contact_c',
113                           'oppq_active_c', 'technical_proficiency_');
114    
115    foreach($custom_fields as $c_field) {
116                 $this->assertTrue(isset($fields["{$c_field}"]), "Assert that custom field {$c_field} is present");
117    }
118    */
119   
120    /*
121    $found_team_name = false;
122    foreach($viewdefs['Meetings']['DetailView']['panels']['default'] as $row) {
123         foreach($row as $col_key=>$col) {
124                         $id = is_array($col) && isset($col['name']) ? $col['name'] : $col;
125             if($id == 'team_name') {
126                $found_team_name = true;
127             } 
128                  }
129    }
130    
131    $this->assertTrue($found_team_name, "Assert that team_name is present in default panel"); 
132    */
133    
134
135 }
136
137
138 }
139 ?>