<?php
/*
+--------------------------------------------------------------------+
-| CiviCRM version 5 |
-+--------------------------------------------------------------------+
-| Copyright CiviCRM LLC (c) 2004-2019 |
-+--------------------------------------------------------------------+
-| This file is a part of CiviCRM. |
-| |
-| CiviCRM is free software; you can copy, modify, and distribute it |
-| under the terms of the GNU Affero General Public License |
-| Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
-| |
-| CiviCRM is distributed in the hope that it will be useful, but |
-| WITHOUT ANY WARRANTY; without even the implied warranty of |
-| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
-| See the GNU Affero General Public License for more details. |
-| |
-| You should have received a copy of the GNU Affero General Public |
-| License and the CiviCRM Licensing Exception along |
-| with this program; if not, contact CiviCRM LLC |
-| at info[AT]civicrm[DOT]org. If you have questions about the |
-| GNU Affero General Public License or the licensing of CiviCRM, |
-| see the CiviCRM license FAQ at http://civicrm.org/licensing |
-+--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved. |
+ | |
+ | This work is published under the GNU AGPLv3 license with some |
+ | permitted exceptions and without any warranty. For full license |
+ | and copyright information, see https://civicrm.org/licensing |
+ +--------------------------------------------------------------------+
*/
/**
* @group headless
*/
class api_v3_ProfileTest extends CiviUnitTestCase {
+ use CRMTraits_Custom_CustomDataTrait;
protected $_profileID = 0;
/**
* Check with success.
+ *
+ * @throws \CRM_Core_Exception
*/
public function testProfileGet() {
$profileFieldValues = $this->_createIndividualContact();
}
}
+ /**
+ * Test retrieving a profile with an address custom field in it.
+ *
+ * We are checking that there is no error.
+ *
+ * @throws \CRM_Core_Exception
+ */
+ public function testProfileGetWithAddressCustomData() {
+ $this->_createIndividualContact();
+ $this->entity = 'Address';
+ $this->createCustomGroupWithFieldOfType(['extends' => 'Address']);
+ $this->callAPISuccess('UFField', 'create', [
+ 'uf_group_id' => $this->_profileID,
+ 'field_name' => $this->getCustomFieldName('text'),
+ 'visibility' => 'Public Pages and Listings',
+ 'label' => 'My custom field',
+ 'field_type' => 'Contact',
+ ]);
+ $this->callAPISuccess('Address', 'get', ['contact_id' => $this->_contactID, 'api.Address.create' => [$this->getCustomFieldName('text') => 'my field']]);
+ $result = $this->callAPISuccess('Profile', 'get', ['profile_id' => $this->_profileID, 'contact_id' => $this->_contactID])['values'];
+ // $this->assertEquals('my field', $result[$this->getCustomFieldName('text')]);
+ }
+
/**
* Test getting multiple profiles.
*/