9 use Magento\Customer\Test\Fixture\Address;
11 use Magento\Customer\Test\Page\Adminhtml\CustomerIndex;
12 use Magento\Customer\Test\Page\Adminhtml\CustomerIndexEdit;
13 use Magento\Mtf\TestCase\Injectable;
14 use Magento\Mtf\Fixture\FixtureFactory;
55 private $fixtureFactory;
63 public function __prepare(FixtureFactory $fixtureFactory)
65 $this->fixtureFactory = $fixtureFactory;
92 private function prepareCustomer(
94 Customer $initialCustomer,
99 ? array_replace_recursive($initialCustomer->getData(),
$customer->getData())
100 : $initialCustomer->getData();
102 $data[
'group_id'] = [
'customerGroup' =>
$groupId->getDataFieldConfig(
'group_id')[
'source']->getCustomerGroup()];
108 return $this->fixtureFactory->createByCode(
122 private function prepareCustomerAddress(
123 Customer $initialCustomer,
125 Address $addressToDelete =
null 129 if ($initialCustomer->hasData(
'address')) {
130 $addressesList = $initialCustomer->getDataFieldConfig(
'address')[
'source']->getAddresses();
131 foreach ($addressesList as $key => $addressFixture) {
132 if ($addressToDelete ===
null || $addressFixture !=
$address) {
155 Customer $initialCustomer,
158 $addressIndexToDelete =
null 161 $initialCustomer->persist();
163 $addressToDelete =
null;
164 if ($addressIndexToDelete !==
null) {
166 $initialCustomer->getDataFieldConfig(
'address')[
'source']->getAddresses()[$addressIndexToDelete];
170 $filter = [
'email' => $initialCustomer->getEmail()];
171 $this->customerIndexPage->open();
172 $this->customerIndexPage->getCustomerGridBlock()->searchAndOpen($filter);
173 $this->customerIndexEditPage->getCustomerForm()->updateCustomer(
$customer,
$address, $addressToDelete);
174 $this->customerIndexEditPage->getPageActionsBlock()->save();
177 'customer' => $this->prepareCustomer(
$customer, $initialCustomer,
$address, $addressToDelete),
178 'addressToDelete' => $addressToDelete,
__prepare(FixtureFactory $fixtureFactory)
__inject(CustomerIndex $customerIndexPage, CustomerIndexEdit $customerIndexEditPage)
testUpdateCustomerBackendEntity(Customer $initialCustomer, Customer $customer, Address $address=null, $addressIndexToDelete=null)