public function testGetDefaults() { $this->assertCount(0, $this->address->getDefaults()); $this->assertInstanceOf('Doctrine\\Common\\Collections\\ArrayCollection', $this->address->getDefaults()); $this->assertFalse($this->address->hasDefault('billing')); $this->assertFalse($this->address->hasDefault('shipping')); $this->address->addType($this->billingType); $this->address->addType($this->shippingType); $this->assertCount(0, $this->address->getDefaults()); $this->address->setDefaults([$this->billingType, $this->shippingType]); $this->assertCount(2, $this->address->getDefaults()); $this->assertTrue($this->address->hasDefault('billing')); $this->assertTrue($this->address->hasDefault('shipping')); }
/** * @param EntityManager $manager * @param array $addressData * @param AbstractDefaultTypedAddress $address */ protected function addAddress(EntityManager $manager, array $addressData, AbstractDefaultTypedAddress $address) { $defaults = []; foreach ($addressData['types'] as $type => $isDefault) { /** @var AddressType $addressType */ $addressType = $manager->getReference('Oro\\Bundle\\AddressBundle\\Entity\\AddressType', $type); $address->addType($addressType); if ($isDefault) { $defaults[] = $addressType; } } /** @var Country $country */ $country = $manager->getReference('OroAddressBundle:Country', $addressData['country']); /** @var Region $region */ $region = $manager->getReference('OroAddressBundle:Region', $addressData['country'] . '-' . $addressData['region']); $address->setDefaults($defaults); $address->setPrimary($addressData['primary'])->setStreet($addressData['street'])->setCity($addressData['city'])->setPostalCode($addressData['postalCode'])->setCountry($country)->setRegion($region); $manager->persist($address); $this->addReference($addressData['label'], $address); }