コード例 #1
0
 /**
  * Fill address data.
  *
  * @param Address $address
  * @return void
  */
 protected function fillAddress(Address $address)
 {
     $skipFields = ['email', 'default_shipping'];
     $addressData = $address->getData();
     $addressData = array_flip(array_diff(array_flip($addressData), $skipFields));
     $mapping = $this->dataMapping($addressData);
     $this->_fill($mapping);
 }
コード例 #2
0
 /**
  * Purge fields from pattern which are not present in fixture.
  *
  * @return string
  */
 protected function preparePattern()
 {
     $outputPattern = $this->getPattern();
     preg_match_all('@\\{\\{depend\\}\\}(.*?)\\{\\{.depend\\}\\}@siu', $outputPattern, $matches);
     foreach ($matches[1] as $key => $dependPart) {
         preg_match_all('@\\{\\{(\\w+)\\}\\}@', $dependPart, $depends);
         foreach ($depends[1] as $depend) {
             if ($this->address->getData(trim($depend)) === null) {
                 $outputPattern = str_replace($matches[0][$key], "", $outputPattern);
             }
         }
     }
     return $outputPattern;
 }
コード例 #3
0
 /**
  * Prepare data.
  *
  * @param Customer $customer
  * @param Customer $initialCustomer [optional]
  * @param Address $address [optional]
  * @return array
  */
 protected function prepareData(Customer $customer, Customer $initialCustomer = null, Address $address = null)
 {
     if ($initialCustomer) {
         $data['customer'] = $customer->hasData() ? array_merge($initialCustomer->getData(), $customer->getData()) : $initialCustomer->getData();
     } else {
         $data['customer'] = $customer->getData();
     }
     if ($address) {
         $data['addresses'][1] = $address->hasData() ? $address->getData() : [];
     } else {
         $data['addresses'] = [];
     }
     return $data;
 }