]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - tests/modules/UpgradeWizard/SugarMerge/Bug36257Test.php
Added unit tests.
[Github/sugarcrm.git] / tests / modules / UpgradeWizard / SugarMerge / Bug36257Test.php
1 <?php
2 require_once 'include/dir_inc.php';
3
4 class Bug36257Test extends Sugar_PHPUnit_Framework_TestCase  {
5
6
7 var $merge;
8 var $has_dir;
9 var $modules;
10
11 function setUp() {
12    $this->modules = array('Contacts');
13    $this->has_dir = array();
14    
15    foreach($this->modules as $module) {
16            if(!file_exists("custom/modules/{$module}/metadata")){
17                   mkdir_recursive("custom/modules/{$module}/metadata", true);
18            }
19            
20            if(file_exists("custom/modules/{$module}")) {
21                   $this->has_dir[$module] = true;
22            }
23            
24            $files = array('editviewdefs');
25            foreach($files as $file) {
26                    if(file_exists("custom/modules/{$module}/metadata/{$file}")) {
27                           copy("custom/modules/{$module}/metadata/{$file}.php", "custom/modules/{$module}/metadata/{$file}.php.bak");
28                    }
29                    
30                    if(file_exists("custom/modules/{$module}/metadata/{$file}.php.suback.php")) {
31                       copy("custom/modules/{$module}/metadata/{$file}.php.suback.php", "custom/modules/{$module}/metadata/{$file}.php.suback.bak");
32                    }
33                    
34                    if(file_exists("tests/modules/UpgradeWizard/SugarMerge/metadata_files/custom/modules/{$module}/metadata/{$file}.php")) {
35                           copy("tests/modules/UpgradeWizard/SugarMerge/metadata_files/custom/modules/{$module}/metadata/{$file}.php", "custom/modules/{$module}/metadata/{$file}.php");
36                    }
37            } //foreach
38    } //foreach
39 }
40
41
42 function tearDown() {
43
44    foreach($this->modules as $module) {
45            if(!$this->has_dir[$module]) {
46                   rmdir_recursive("custom/modules/{$module}");
47            }  else {
48                    $files = array('editviewdefs');
49                    foreach($files as $file) {
50                       if(file_exists("custom/modules/{$module}/metadata/{$file}.php.bak")) {
51                          copy("custom/modules/{$module}/metadata/{$file}.php.bak", "custom/modules/{$module}/metadata/{$file}.php");
52                      unlink("custom/modules/{$module}/metadata/{$file}.php.bak");
53                       } else if(file_exists("custom/modules/{$module}/metadata/{$file}.php")) {
54                          unlink("custom/modules/{$module}/metadata/{$file}.php");
55                       }
56                       
57                           if(file_exists("custom/modules/{$module}/metadata/{$module}.php.suback.bak")) {
58                          copy("custom/modules/{$module}/metadata/{$file}.php.suback.bak", "custom/modules/{$module}/metadata/{$file}.php.suback.php");
59                      unlink("custom/modules/{$module}/metadata/{$file}.php.suback.bak");
60                       } else if(file_exists("custom/modules/{$module}/metadata/{$file}.php.suback.php")) {
61                          unlink("custom/modules/{$module}/metadata/{$file}.php.suback.php");
62                       }  
63                    }
64            }
65    } //foreach
66 }
67
68
69 function test_textarea_fields_on_contacts_editview_merge() {            
70    require_once 'modules/UpgradeWizard/SugarMerge/EditViewMerge.php';
71    $this->merge = new EditViewMerge();  
72    $this->merge->merge('Contacts', 'tests/modules/UpgradeWizard/SugarMerge/metadata_files/551/modules/Contacts/metadata/editviewdefs.php', 'modules/Contacts/metadata/editviewdefs.php', 'custom/modules/Contacts/metadata/editviewdefs.php');
73    $this->assertTrue(file_exists('custom/modules/Contacts/metadata/editviewdefs.php.suback.php'));
74    require('custom/modules/Contacts/metadata/editviewdefs.php');
75    $fields = array();
76    $panels = array();
77    
78    foreach($viewdefs['Contacts']['EditView']['panels'] as $panel_key=>$panel) {
79           $panels[$panel_key] = $panel_key;
80           foreach($panel as $row) {
81                  foreach($row as $col_key=>$col) {
82                         $id = is_array($col) && isset($col['name']) ? $col['name'] : $col;
83                         if(!empty($id) && !is_array($id)) {
84                            $fields[$id] = $col;
85                         }
86                  } //foreach
87           } //foreach
88    } //foreach
89    
90    $this->assertTrue(!isset($fields['description']['displayParams']), 'Assert that a regular description field has displayParams attribute removed');
91    $this->assertTrue(isset($fields['custom_description_c']['displayParams']), 'Assert that a customized description field has displayParams attribute preserved');
92    $this->assertTrue($fields['custom_description_c']['displayParams']['rows'] == 10, 'Assert that the displayParams->rows attribute is 10');
93    $this->assertTrue($fields['custom_description_c']['displayParams']['cols'] == 100, 'Assert that the displayParams->cols attribute is 100');
94    
95 }
96
97 }
98 ?>