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 ********************************************************************************/
38 require_once('modules/Leads/views/view.convertlead.php');
42 * Test if Contact is properly linked to Lead if we are not creating a contact
43 * but linking an existing one.
44 * Check if Account is linked with Contact.
46 * @author avucinic@sugarcrm.com
49 class Bug50127Test extends Sugar_PHPUnit_Framework_OutputTestCase
52 public function setUp()
54 SugarTestHelper::setUp('current_user');
55 SugarTestHelper::setUp('app_list_strings');
56 SugarTestHelper::setUp('beanList');
57 SugarTestHelper::setUp('beanFiles');
60 public function tearDown()
62 SugarTestContactUtilities::removeAllCreatedContacts();
63 SugarTestAccountUtilities::removeAllCreatedAccounts();
64 SugarTestLeadUtilities::removeAllCreatedLeads();
66 SugarTestHelper::tearDown();
72 * Create a lead and convert it to an existing Account and Contact
74 public function testConvertLinkingExistingContact() {
76 $lead = SugarTestLeadUtilities::createLead();
77 $account = SugarTestAccountUtilities::createAccount();
78 $contact = SugarTestContactUtilities::createContact();
80 // ConvertLead to an existing Contact and Account
83 'record' => $lead->id,
84 'isDuplicate' => 'false',
85 'action' => 'ConvertLead',
87 'convert_create_Contacts' => 'false',
88 'report_to_name' => $contact->name,
89 'reports_to_id' => $contact->id,
91 'convert_create_Accounts' => 'false',
92 'account_name' => $account->name,
93 'account_id' => $account->id,
98 // Call display to trigger conversion
99 $vc = new ViewConvertLead();
105 $lead->retrieve($leadId);
107 $contactId = $contact->id;
108 $contact = new Contact();
109 $contact->retrieve($contactId);
111 // Check if contact it's linked properly
112 $this->assertEquals($contact->id, $lead->contact_id, 'Contact not linked with Lead successfully.');
113 // Check if account is linked with lead properly
114 $this->assertEquals($account->id, $lead->account_id, 'Account not linked with Lead successfully.');
115 // Check if account is linked with contact properly
116 $this->assertEquals($account->id, $contact->account_id, 'Account not linked with Contact successfully.');
117 // Check Lead Status, should be converted
118 $this->assertEquals('Converted', $lead->status, "Lead status should be 'Converted'.");