/** * Test to ensure that whenever the inboud folder is deleted, it will be created for a user * and the parent_id for the other folders will be updated accordingly. * */ public function testCreationOnDeletedInboundFolder() { $this->createNewSugarFolder(); // Call preflightUser() to re-create all folders $emailUI = new EmailUI(); $emailUI->preflightUser($GLOBALS['current_user']); $error_message = "Unable to get user folders"; $rootNode = new ExtNode('', ''); // Delete one folder type $GLOBALS['db']->query("DELETE FROM folders WHERE folder_type = 'inbound' AND created_by='{$GLOBALS['current_user']->id}'"); // Retrieve folders $ret = $this->folder->getUserFolders($rootNode, "", $GLOBALS['current_user'], true); $this->assertEquals(0, count($ret), $error_message); // Call preflightUser() to re-create missing folder $emailUI->preflightUser($GLOBALS['current_user']); // Retrieve folders $ret = $this->folder->getUserFolders($rootNode, "", $GLOBALS['current_user'], true); $this->assertEquals(1, count($ret)); // Should contain all folders after preflightUser $folderTypes = array(); foreach ($ret[0]['children'] as $p) { $folderTypes[] = $p['folder_type']; } $this->assertContains("draft", $folderTypes); }
/** * Test retreiving a list of emails for a particular folder. * */ function testGetListItemsForEmailXML() { //Create the my Emails Folder $GLOBALS['mod_strings'] = return_module_language($GLOBALS['current_language'], "Emails"); require_once 'modules/Emails/EmailUI.php'; $emailUI = new EmailUI(); $emailUI->preflightUser($GLOBALS['current_user']); $error_message = "Unable to get list items for email."; $rootNode = new ExtNode('', ''); $folderOpenState = ""; $ret = $this->folder->getUserFolders($rootNode, $folderOpenState, $GLOBALS['current_user'], true); $this->assertEquals(1, count($ret), $error_message); $folderID = $ret[0]['id']; //Create the Email Object $emailParams = array('status' => 'unread', 'assigned_user_id' => $GLOBALS['current_user']->id); $email = $this->_createEmailObject($emailParams); $this->emails[] = $email->id; //Add Email Object to My Email Folder $my_email = new SugarFolder(); $my_email->retrieve($folderID); $my_email->addBean($email, $GLOBALS['current_user']); //Make sure the email was added to the folder. $emailExists = $my_email->checkEmailExistForFolder($email->id); $this->assertTrue($emailExists, $error_message); //Get the list of emails. $emailList = $my_email->getListItemsForEmailXML($folderID); $this->assertEquals($email->id, $emailList['out'][0]['uid'], $error_message); }