Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AssertExportCustomerAddresses.php
Go to the documentation of this file.
1 <?php
7 
8 use Magento\Customer\Test\Fixture\Address;
10 use Magento\Mtf\Constraint\AbstractConstraint;
13 
17 class AssertExportCustomerAddresses extends AbstractConstraint
18 {
27  public function processAssert(
28  Export $export,
29  array $exportedFields,
30  Customer $customer
31  ) {
32  $exportData = $export->getLatest();
33 
34  foreach ($customer->getDataFieldConfig('address')['source']->getAddresses() as $address) {
35  \PHPUnit\Framework\Assert::assertTrue(
36  $this->isAddressDataInFile(
37  $exportedFields,
38  $customer,
39  $address,
40  $exportData
41  ),
42  'Customer address was not found in exported file.'
43  );
44  }
45  }
46 
52  public function toString()
53  {
54  return 'Customer address exists in exported file.';
55  }
56 
66  private function isAddressDataInFile(
67  array $fields,
68  Customer $customer,
70  Data $exportData
71  ) {
72  $expectedFields = [];
73  $result = true;
74 
75  foreach ($fields as $field) {
76  $fixture = ($field == 'email') ? $customer : $address;
77  $expectedFields[] = $fixture->getData($field);
78  }
79 
80  $content = $exportData->getContent();
81 
82  foreach ($expectedFields as $expectedField) {
83  if (strpos($content, $expectedField) === false) {
84  $result = false;
85  break;
86  }
87  }
88 
89  return $result;
90  }
91 }
processAssert(Export $export, array $exportedFields, Customer $customer)
$customer
Definition: customers.php:11
$fields
Definition: details.phtml:14
$address
Definition: customer.php:38