public function testOwner() { $contact = $this->getMockBuilder('OroCRM\\Bundle\\ContactBundle\\Entity\\Contact')->disableOriginalConstructor()->getMock(); $address = new ContactAddress(); $address->setOwner($contact); $this->assertSame($contact, $address->getOwner()); }
/** * Create a Contact * * @param array $data * @return Contact */ private function createContact(array $data) { $contact = new Contact(); $contact->setFirstName($data['GivenName']); $contact->setLastName($data['Surname']); $contact->setNamePrefix($data['Title']); $contact->setGender($data['Gender']); $contact->setOrganization($this->organization); $phone = new ContactPhone($data['TelephoneNumber']); $phone->setPrimary(true); $contact->addPhone($phone); $email = new ContactEmail($data['EmailAddress']); $email->setPrimary(true); $contact->addEmail($email); $date = \DateTime::createFromFormat('m/d/Y', $data['Birthday']); $contact->setBirthday($date); /** @var ContactAddress $address */ $address = new ContactAddress(); $address->setLabel('Primary Address'); $address->setCity($data['City']); $address->setStreet($data['StreetAddress']); $address->setPostalCode($data['ZipCode']); $address->setFirstName($data['GivenName']); $address->setLastName($data['Surname']); $address->setPrimary(true); $address->setOwner($contact); $isoCode = $data['Country']; $country = array_filter($this->countries, function (Country $a) use($isoCode) { return $a->getIso2Code() == $isoCode; }); $country = array_values($country); /** @var Country $country */ $country = $country[0]; $idRegion = $data['State']; /** @var Collection $regions */ $regions = $country->getRegions(); $region = $regions->filter(function (Region $a) use($idRegion) { return $a->getCode() == $idRegion; }); $address->setCountry($country); if (!$region->isEmpty()) { $address->setRegion($region->first()); } $contact->addAddress($address); return $contact; }
public function dataTest() { $testContact = new ExtendContact(); $testContactAddress = new ContactAddress(); $testContactEmail = new ContactEmail(); $testContactPhone = new ContactPhone(); $testContactAddress->setOwner($testContact); $testContactEmail->setOwner($testContact); $testContactPhone->setOwner($testContact); $testMagentoCustomer = new ExtendCustomer(); $channel = new Channel(); $channel->getSynchronizationSettingsReference()->offsetSet('isTwoWaySyncEnabled', true); $channel->setName('test'); $channel->setEnabled(true); $testMagentoCustomer->setChannel($channel); return ['Updated contact' => [$testContact, $testMagentoCustomer, $channel, [], [$testContact], [], true, true, true, true, true], 'Inserted contact' => [$testContact, $testMagentoCustomer, $channel, [$testContact], [], [], true, false, false, true, false], 'Deleted contact' => [$testContact, $testMagentoCustomer, $channel, [], [], [$testContact], true, true, true, false, true], 'Updated contact with testContactAddress' => [$testContact, $testMagentoCustomer, $channel, [], [$testContact, $testContactAddress], [], true, true, true, true, true], 'Test process Contact Address' => [$testContact, $testMagentoCustomer, $channel, [], [$testContactAddress], [], true, true, true, false, true], 'Test deleted Contact Address' => [$testContact, $testMagentoCustomer, $channel, [], [], [$testContactAddress], true, true, true, false, true]]; }