package)) { $this->packageExists = true; mkdir_recursive('custom/modules/' . $this->package . '_bak'); copy_recursive('custom/modules/' . $this->package, 'custom/modules/' . $this->package . '_bak'); } //Make the custom package directory and simulate copying the file in mkdir_recursive('custom/modules/' . $this->package . '/Ext/WirelessLayoutdefs'); $theArray = array ($this->package => array('subpanel_setup' => array ( $this->package.'_accounts' => array( 'order' => 100, 'module' => 'Contacts', 'subpanel_name' => 'default', 'title_key' => 'LBL_BUG48784TEST', 'get_subpanel_data' => 'Bug48748Test', )))); $theFile = 'custom/modules/' . $this->package . '/Ext/WirelessLayoutdefs/wireless.subpaneldefs.ext.php'; write_array_to_file('layout_defs', $theArray, $theFile); sugar_chmod('custom/modules/' . $this->package . '/Ext/WirelessLayoutdefs/wireless.subpaneldefs.ext.php', 0655); global $beanList, $beanFiles, $current_user; //$beanList['Contacts'] = 'Contact'; //$beanFiles['Bug48784Mock'] = 'modules/Contacts/Contact.php'; //Create an anonymous user for login purposes/ $current_user = SugarTestUserUtilities::createAnonymousUser(); $current_user->status = 'Active'; $current_user->is_admin = 1; $current_user->save(); $GLOBALS['db']->commit(); // Making sure we commit any changes before continuing $_SESSION['avail_modules'][$this->package] = 'write'; } public function tearDown() { parent::tearDown(); if($this->packageExists) { //Copy original contents back in copy_recursive('custom/modules/' . $this->package . '_bak', 'custom/modules/' . $this->package); rmdir_recursive('custom/modules/' . $this->package . '_bak'); } else { rmdir_recursive('custom/modules/' . $this->package); } unset($_SESSION['avail_modules'][$this->package]); } public function testWirelessModuleLayoutForCustomModule() { $this->assertTrue(file_exists('custom/modules/' . $this->package . '/Ext/WirelessLayoutdefs/wireless.subpaneldefs.ext.php')); //$contents = file_get_contents('custom/modules/' . $this->package . '/Ext/WirelessLayoutdefs/wireless.subpaneldefs.ext.php'); include('custom/modules/' . $this->package . '/Ext/WirelessLayoutdefs/wireless.subpaneldefs.ext.php'); global $current_user; $result = $this->_login($current_user); $session = $result['id']; $results = $this->_makeRESTCall('get_module_layout', array( 'session' => $session, 'module' => array($this->package), 'type' => array('wireless'), 'view' => array('subpanel'), ) ); $this->assertEquals('Bug48748Test', $results[$this->package]['wireless']['subpanel']["{$this->package}_accounts"]['get_subpanel_data'], 'Cannot load custom wireless.subpaneldefs.ext.php file'); } }