コード例 #1
0
 /**
  * Returns true if and only if $value meets the validation requirements
  *
  * If $value fails validation, then this method returns false, and
  * getMessages() will return an array of messages that explain why the
  * validation failed.
  *
  * @param  \Magento\Quote\Model\Quote\Address $value
  * @return boolean
  * @throws Zend_Validate_Exception If validation of $value is impossible
  */
 public function isValid($value)
 {
     $messages = [];
     $email = $value->getEmail();
     if (!empty($email) && !\Zend_Validate::is($email, 'EmailAddress')) {
         $messages['invalid_email_format'] = 'Invalid email format';
     }
     $countryId = $value->getCountryId();
     if (!empty($countryId)) {
         $country = $this->countryFactory->create();
         $country->load($countryId);
         if (!$country->getId()) {
             $messages['invalid_country_code'] = 'Invalid country code';
         }
     }
     $this->_addMessages($messages);
     return empty($messages);
 }
コード例 #2
0
 /**
  * Import customer address to quote address
  */
 public function testImportCustomerAddressDataWithCustomer()
 {
     $customerIdFromFixture = 1;
     $customerEmailFromFixture = '*****@*****.**';
     $city = 'TestCity';
     $street = 'Street1';
     /** @var \Magento\Customer\Api\Data\AddressInterfaceFactory $addressFactory */
     $addressFactory = Bootstrap::getObjectManager()->create('Magento\\Customer\\Api\\Data\\AddressInterfaceFactory');
     /** @var \Magento\Customer\Api\AddressRepositoryInterface $addressRepository */
     $addressRepository = Bootstrap::getObjectManager()->create('Magento\\Customer\\Api\\AddressRepositoryInterface');
     $addressData = $addressFactory->create()->setCustomerId($customerIdFromFixture)->setFirstname('John')->setLastname('Doe')->setTelephone('123456')->setPostcode('12345')->setCountryId(1)->setCity($city)->setStreet([$street]);
     $addressData = $addressRepository->save($addressData);
     $this->_address->setQuote($this->_quote);
     $this->_address->importCustomerAddressData($addressData);
     $this->assertEquals($customerEmailFromFixture, $this->_address->getEmail(), 'Email was imported incorrectly.');
     $this->assertEquals($city, $this->_address->getCity(), 'City was imported incorrectly.');
     $this->assertEquals($street, $this->_address->getStreetFull(), 'Imported street is invalid.');
 }