]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - tests/service/Bug22504Test.php
Release 6.2.0
[Github/sugarcrm.git] / tests / service / Bug22504Test.php
1 <?php
2 /*********************************************************************************
3  * SugarCRM Community Edition is a customer relationship management program developed by
4  * SugarCRM, Inc. Copyright (C) 2004-2011 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 require_once 'tests/service/SOAPTestCase.php';
38 require_once 'tests/SugarTestAccountUtilities.php';
39 require_once 'modules/Emails/Email.php';
40 /**
41  * @ticket 22504
42  */
43 class Bug22504Test extends SOAPTestCase
44 {
45     /**
46      * Create test account
47      *
48      */
49         public function setUp()
50     {
51         $this->_soapURL = $GLOBALS['sugar_config']['site_url'].'/service/v3_1/soap.php';
52         $GLOBALS['current_user'] = SugarTestUserUtilities::createAnonymousUser();
53         $this->acc = SugarTestAccountUtilities::createAccount();
54                 parent::setUp();
55     }
56
57     public function tearDown()
58     {
59         SugarTestUserUtilities::removeAllCreatedAnonymousUsers();
60         unset($GLOBALS['current_user']);
61         if(!empty($this->email_id)) {
62             $GLOBALS['db']->query("DELETE FROM emails WHERE id='{$this->email_id}'");
63             $GLOBALS['db']->query("DELETE FROM emails_beans WHERE email_id='{$this->email_id}'");
64             $GLOBALS['db']->query("DELETE FROM emails_text WHERE email_id='{$this->email_id}'");
65             $GLOBALS['db']->query("DELETE FROM emails_email_addr_rel WHERE email_id='{$this->email_id}'");
66         }
67         SugarTestAccountUtilities::removeAllCreatedAccounts();
68         parent::tearDown();
69     }
70
71     public function testEmailImport()
72     {
73         $this->_login();
74         $nv = array(
75             'from_addr' => 'test@test.com',
76             'parent_type' => 'Accounts',
77             'parent_id' => $this->acc->id,
78             'description' => 'test',
79             'name' => 'Test Subject',
80         );
81                 $result = $this->_soapClient->call('set_entry',array('session'=>$this->_sessionId,"module_name" => 'Emails', 'name_value_list' => $nv));
82                 $this->email_id = $result['id'];
83         $email = new Email();
84         $email->retrieve($this->email_id );
85         $email->load_relationship('accounts');
86         $acc = $email->accounts->get();
87         $this->assertEquals($this->acc->id, $acc[0]);
88     }
89 }