/**
  * Delete Additional Address
  *
  * @param Address $address
  * @return void
  */
 public function deleteAdditionalAddress(Address $address)
 {
     $this->_rootElement->find(sprintf($this->addressSelector, $address->getStreet()), Locator::SELECTOR_XPATH)->find($this->deleteAddressLink)->click();
     $element = $this->browser->find($this->confirmModal);
     /** @var \Magento\Ui\Test\Block\Adminhtml\Modal $modal */
     $modal = $this->blockFactory->create('Magento\\Ui\\Test\\Block\\Adminhtml\\Modal', ['element' => $element]);
     $modal->acceptAlert();
 }
 /**
  * Verify that customer address is equals data on form
  *
  * @param Address $address
  * @param AddressEditForm $form
  * @return bool
  */
 protected function verifyCustomerAddress(Address $address, AddressEditForm $form)
 {
     $dataAddress = $address->getData();
     $preparedDataAddress = [];
     foreach ($dataAddress['fields'] as $key => $field) {
         $preparedDataAddress[$key] = $field['value'];
     }
     $dataDiff = array_diff($preparedDataAddress, $form->getData($address));
     $this->assertTrue(empty($dataDiff), 'Customer addresses data on edit page(backend) not equals to passed from fixture.');
 }
 /**
  * Assert that displayed customer data on edit page(backend) equals passed from fixture.
  *
  * @param Customer $customer
  * @param CustomerIndex $pageCustomerIndex
  * @param CustomerIndexEdit $pageCustomerIndexEdit
  * @param Address $address[optional]
  * @return void
  */
 public function processAssert(Customer $customer, CustomerIndex $pageCustomerIndex, CustomerIndexEdit $pageCustomerIndexEdit, Address $address = null)
 {
     $data = [];
     $filter = [];
     $data['customer'] = $customer->getData();
     if ($address) {
         $data['addresses'][1] = $address->hasData() ? $address->getData() : [];
     } else {
         $data['addresses'] = [];
     }
     $filter['email'] = $data['customer']['email'];
     $pageCustomerIndex->open();
     $pageCustomerIndex->getCustomerGridBlock()->searchAndOpen($filter);
     $dataForm = $pageCustomerIndexEdit->getCustomerForm()->getDataCustomer($customer, $address);
     $dataDiff = $this->verify($data, $dataForm);
     \PHPUnit_Framework_Assert::assertTrue(empty($dataDiff), 'Customer data on edit page(backend) not equals to passed from fixture.' . "\nFailed values: " . implode(', ', $dataDiff));
 }
 /**
  * Fill shipping and tax form.
  *
  * @param Address $address
  * @return void
  */
 public function fillEstimateShippingAndTax(Address $address)
 {
     $this->openEstimateShippingAndTax();
     $data = $address->getData();
     $mapping = $this->dataMapping(array_intersect_key($data, array_flip($this->estimationFields)));
     // sort array according to $this->estimationFields elements order
     uksort($mapping, function ($a, $b) {
         $a = array_search($a, $this->estimationFields);
         $b = array_search($b, $this->estimationFields);
         switch (true) {
             case false !== $a && false !== $b:
                 return $a - $b;
             case false !== $a:
                 return -1;
             case false !== $b:
                 return 1;
             default:
                 return 0;
         }
     });
     // Test environment may become unstable when form fields are filled in a default manner.
     // Imitating behavior closer to the real user.
     foreach ($mapping as $field) {
         $this->_fill([$field], $this->_rootElement);
         $this->waitForUpdatedShippingMethods();
     }
 }
 /**
  * Delete Additional Address
  *
  * @param Address $address
  * @return void
  */
 public function deleteAdditionalAddress(Address $address)
 {
     $this->_rootElement->find(sprintf($this->addressSelector, $address->getStreet()), Locator::SELECTOR_XPATH)->find($this->deleteAddressLink)->click();
     $this->browser->acceptAlert();
 }
Exemple #6
0
 /**
  * Fill shipping and tax form.
  *
  * @param Address $address
  * @return void
  */
 public function fillEstimateShippingAndTax(Address $address)
 {
     $this->openEstimateShippingAndTax();
     $data = $address->getData();
     $mapping = $this->dataMapping(array_intersect_key($data, array_flip($this->estimationFields)));
     $this->_fill($mapping, $this->_rootElement);
     $this->clickGetQuote();
 }
 /**
  * Make pattern for form verifying
  *
  * @param Address $address
  * @return array
  */
 protected function makeAddressPattern(Address $address)
 {
     $pattern = [];
     $regionId = $address->getRegionId();
     $region = $regionId ? $regionId : $address->getRegion();
     $pattern[] = $address->getFirstname() . " " . $address->getLastname();
     $pattern[] = $address->getCompany();
     $pattern[] = $address->getStreet();
     $pattern[] = $address->getCity() . ", " . $region . ", " . $address->getPostcode();
     $pattern[] = $address->getCountryId();
     $pattern[] = "T: " . $address->getTelephone();
     if ($address->hasData('fax')) {
         $pattern[] = "F: " . $address->getFax();
     }
     return $pattern;
 }
 /**
  * Check necessary field to retrieve according to address country.
  *
  * @return string
  */
 protected function resolveRegion()
 {
     return $this->address->hasData('region') ? 'region' : 'region_id';
 }
 /**
  * Fill shipping and tax form.
  *
  * @param Address $address
  * @return void
  */
 public function fillEstimateShippingAndTax(Address $address)
 {
     $this->openEstimateShippingAndTax();
     $data = $address->getData();
     $mapping = $this->dataMapping(array_intersect_key($data, array_flip($this->estimationFields)));
     // Test environment may become unstable when form fields are filled in a default manner.
     // Imitating behavior closer to the real user.
     foreach ($mapping as $field) {
         $this->_fill([$field], $this->_rootElement);
         $this->waitForUpdatedShippingMethods();
     }
 }