2 /*********************************************************************************
3 * SugarCRM Community Edition is a customer relationship management program developed by
4 * SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
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.
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
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
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.
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.
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 ********************************************************************************/
41 class Bug46941Test extends Sugar_PHPUnit_Framework_TestCase {
46 var $hasCustomSearchFields;
47 var $filename = 'custom/modulebuilder/packages/test/modules/test/metadata/SearchFields.php';
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();
55 $_REQUEST['name'] = 'test';
56 $_REQUEST['view'] = 'advanced_search';
57 $_REQUEST['view_package'] = 'test';
58 $_REQUEST['view_module'] = 'test';
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']);
76 public function tearDown() {
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);
90 unset($_REQUEST['view_module']);
91 unset($_REQUEST['view_package']);
92 unset($_REQUEST['view']);
93 unset($_REQUEST['name']);
95 unset($GLOBALS['mod_strings']);
96 unset($GLOBALS['app_list_strings']);
97 unset($GLOBALS['current_user']);
98 SugarTestUserUtilities::removeAllCreatedAnonymousUsers();
102 * testActionAdvancedSearchSaveForCustomModule
103 * Tests that adding a search field to a custom module does not generate errors due to the module name not being
106 public function testActionAdvancedSearchSaveForCustomModule() {
108 $this->mbController->action_searchViewSave();
109 } catch (Exception $e) {
110 $this->fail('An exception has been raised: ' . $e->getMessage());
112 $this->assertFileExists($this->filename);