]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - tests/modules/ModuleBuilder/Bug51172Test.php
Release 6.5.10
[Github/sugarcrm.git] / tests / modules / ModuleBuilder / Bug51172Test.php
1 <?php
2 /*********************************************************************************
3  * SugarCRM Community Edition is a customer relationship management program developed by
4  * SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
5  * 
6  * This program is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Affero General Public License version 3 as published by the
8  * Free Software Foundation with the addition of the following permission added
9  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
10  * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
11  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
12  * 
13  * This program is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more
16  * details.
17  * 
18  * You should have received a copy of the GNU Affero General Public License along with
19  * this program; if not, see http://www.gnu.org/licenses or write to the Free
20  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21  * 02110-1301 USA.
22  * 
23  * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
24  * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
25  * 
26  * The interactive user interfaces in modified source and object code versions
27  * of this program must display Appropriate Legal Notices, as required under
28  * Section 5 of the GNU Affero General Public License version 3.
29  * 
30  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
31  * these Appropriate Legal Notices must retain the display of the "Powered by
32  * SugarCRM" logo. If the display of the logo is not reasonably feasible for
33  * technical reasons, the Appropriate Legal Notices must display the words
34  * "Powered by SugarCRM".
35  ********************************************************************************/
36
37
38 require_once('modules/ModuleBuilder/controller.php');
39
40 /**
41  * Bug #51172
42  * Employees |  Employees custom fields not working
43  *
44  * @author imatsiushyna@sugarcrm.com
45  * @ticket 51172
46  */
47
48 class Bug51172Test extends Sugar_PHPUnit_Framework_TestCase
49 {
50     /**
51      *  @var string name custom fields
52      */
53     protected $field_name = 'test_bug51172';
54
55     /**
56      *  @var string modules name
57      */
58     protected $module = 'Employees';
59     protected $add_module = 'Users';
60
61     public function setUp()
62     {
63         parent::setUp();
64     }
65
66     public function tearDown()
67     {
68         $_REQUEST = array();
69         sugar_cache_clear('mod_strings.en_us');
70
71         if(file_exists('custom/modules/'.$this->module.'/language/en_us.lang.php'))
72         {
73             unlink('custom/modules/'.$this->module.'/language/en_us.lang.php');
74         }
75         if(file_exists('custom/modules/'.$this->add_module.'/language/en_us.lang.php'))
76         {
77             unlink('custom/modules/'.$this->add_module.'/language/en_us.lang.php');
78         }
79
80         SugarTestHelper::tearDown();
81         parent::tearDown();
82     }
83
84     /**
85      * @return array
86      */
87     public function getRequestData()
88     {
89         return array (
90             'name' => $this->field_name,
91             'view_module' => $this->module,
92             'label' => 'LBL_' . strtoupper($this->field_name),
93             'labelValue' => $this->field_name,
94         );
95     }
96
97     /**
98      * @group 51172
99      * Check that the label custom fields of Employees module was saved also for Users module
100      *
101      * @return void
102      */
103     public function testSaveLabelForCustomFields()
104     {
105         $_REQUEST = $this->getRequestData();
106
107         $mb = new ModuleBuilderController();
108         $mb ->action_SaveLabel();
109
110         $mod_strings = return_module_language($GLOBALS['current_language'], $this->add_module);
111
112         //assert that array $mod_strings Users module contains current label
113         $this->assertArrayHasKey( $_REQUEST['label'], $mod_strings);
114     }
115 }