]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - tests/modules/ModuleBuilder/Bug46941Test.php
Release 6.4.1
[Github/sugarcrm.git] / tests / modules / ModuleBuilder / Bug46941Test.php
1 <?php
2 /*********************************************************************************
3  * SugarCRM Community Edition is a customer relationship management program developed by
4  * SugarCRM, Inc. Copyright (C) 2004-2012 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 /**
39  * @group Bug46941
40  */
41 class Bug46941Test extends Sugar_PHPUnit_Framework_TestCase {
42
43     var $mbController;
44     var $mbPackage;
45     var $mbModule;
46     var $hasCustomSearchFields;
47     var $filename = 'custom/modulebuilder/packages/test/modules/test/metadata/SearchFields.php';
48
49     public function setUp() {
50         $GLOBALS['current_user'] = SugarTestUserUtilities::createAnonymousUser();
51             $GLOBALS['current_user']->is_admin = true;
52         $GLOBALS['app_list_strings'] = return_app_list_strings_language($GLOBALS['current_language']);
53         $GLOBALS['mod_strings'] = array();
54
55         $_REQUEST['name'] = 'test';
56         $_REQUEST['view'] = 'advanced_search';
57         $_REQUEST['view_package'] = 'test';
58         $_REQUEST['view_module'] = 'test';
59
60         $this->mbController = new ModuleBuilderController();
61         $_REQUEST['description'] = '';
62         $_REQUEST['author'] = '';
63         $_REQUEST['readme'] = '';
64         $_REQUEST['label'] = 'test';
65         $_REQUEST['key'] = 'test';
66         $this->mbController->action_SavePackage();
67         $this->mbController->action_SaveModule();
68         unset($_REQUEST['key']);
69         unset($_REQUEST['label']);
70         unset($_REQUEST['readme']);
71         unset($_REQUEST['author']);
72         unset($_REQUEST['description']);
73
74     }
75
76     public function tearDown() {
77
78         $_REQUEST['package'] = 'test';
79         $_REQUEST['module'] = 'test';
80         $_REQUEST['view_module'] = 'test';
81         $_REQUEST['view_package']= 'test';
82         $this->mbController->action_DeleteModule();
83         unset($_REQUEST['view_module']);
84         unset($_REQUEST['module']);
85         $this->mbController->action_DeletePackage();
86         unset($_REQUEST['view_package']);
87         unset($_REQUEST['package']);
88         unset($this->mbController);
89
90         unset($_REQUEST['view_module']);
91         unset($_REQUEST['view_package']);
92         unset($_REQUEST['view']);
93         unset($_REQUEST['name']);
94
95         unset($GLOBALS['mod_strings']);
96         unset($GLOBALS['app_list_strings']);
97         unset($GLOBALS['current_user']);
98         SugarTestUserUtilities::removeAllCreatedAnonymousUsers();
99     }
100
101         /**
102          * testActionAdvancedSearchSaveForCustomModule
103          * Tests that adding a search field to a custom module does not generate errors due to the module name not being
104      * in beanList
105          */
106     public function testActionAdvancedSearchSaveForCustomModule() {
107         try {
108             $this->mbController->action_searchViewSave();
109         } catch (Exception $e) {
110             $this->fail('An exception has been raised: ' . $e->getMessage());
111         }
112         $this->assertFileExists($this->filename);
113     }
114 }
115 ?>