4 +--------------------------------------------------------------------+
6 +--------------------------------------------------------------------+
7 | Copyright CiviCRM LLC (c) 2004-2019 |
8 +--------------------------------------------------------------------+
9 | This file is a part of CiviCRM. |
11 | CiviCRM is free software; you can copy, modify, and distribute it |
12 | under the terms of the GNU Affero General Public License |
13 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
15 | CiviCRM is distributed in the hope that it will be useful, but |
16 | WITHOUT ANY WARRANTY; without even the implied warranty of |
17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
18 | See the GNU Affero General Public License for more details. |
20 | You should have received a copy of the GNU Affero General Public |
21 | License and the CiviCRM Licensing Exception along |
22 | with this program; if not, contact CiviCRM LLC |
23 | at info[AT]civicrm[DOT]org. If you have questions about the |
24 | GNU Affero General Public License or the licensing of CiviCRM, |
25 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
26 +--------------------------------------------------------------------+
32 * @copyright CiviCRM LLC (c) 2004-2019
38 namespace api\v
4\Utils
;
40 use Civi\Api4\Utils\ArrayInsertionUtil
;
41 use api\v
4\UnitTestCase
;
46 class ArrayInsertionServiceTest
extends UnitTestCase
{
48 public function testInsertWillWork() {
50 $path = ['foo' => FALSE, 'bar' => FALSE];
51 $inserter = new ArrayInsertionUtil();
52 $inserter::insert($arr, $path, ['LALA']);
60 $this->assertEquals($expected, $arr);
63 public function testInsertionOfContactEmailLocation() {
67 'first_name' => 'Jim',
71 'first_name' => 'Karen',
76 'email' => 'jim@jim.com',
89 $emailPath = ['emails' => TRUE];
90 $locationPath = ['emails' => TRUE, 'location' => FALSE];
91 $inserter = new ArrayInsertionUtil();
93 foreach ($contacts as &$contact) {
94 $inserter::insert($contact, $emailPath, $emails);
95 $inserter::insert($contact, $locationPath, $locationTypes);
98 $locationType = $contacts[0]['emails'][0]['location']['name'];
99 $this->assertEquals('Home', $locationType);