Skip to content

Commit 2acf72e

Browse files
author
Manasa Potluri
committed
MAGETWO-33118: Refactor code that uses customer builders in api-functional tests
1 parent fa376b9 commit 2acf72e

File tree

4 files changed

+128
-139
lines changed

4 files changed

+128
-139
lines changed

Diff for: dev/tests/api-functional/framework/Magento/TestFramework/Helper/Customer.php

+59-48
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
*/
66
namespace Magento\TestFramework\Helper;
77

8-
use Magento\Customer\Api\Data\AddressDataBuilder;
9-
use Magento\Customer\Api\Data\CustomerDataBuilder;
108
use Magento\Customer\Api\Data\CustomerInterface;
119
use Magento\Customer\Model\Data\Customer as CustomerData;
1210
use Magento\Framework\Reflection\DataObjectProcessor;
@@ -43,11 +41,18 @@ class Customer extends WebapiAbstract
4341
const ADDRESS_REGION_CODE1 = 'AL';
4442
const ADDRESS_REGION_CODE2 = 'AL';
4543

46-
/** @var AddressDataBuilder */
47-
private $addressBuilder;
48-
49-
/** @var CustomerDataBuilder */
50-
private $customerBuilder;
44+
/**
45+
* @var \Magento\Customer\Api\Data\AddressInterfaceFactory
46+
*/
47+
private $customerAddressFactory;
48+
/**
49+
* @var \Magento\Customer\Api\Data\CustomerInterfaceFactory
50+
*/
51+
private $customerDataFactory;
52+
/**
53+
* @var \Magento\Framework\Api\DataObjectHelper
54+
*/
55+
private $dataObjectHelper;
5156

5257
/** @var DataObjectProcessor */
5358
private $dataObjectProcessor;
@@ -56,12 +61,16 @@ public function __construct($name = null, array $data = [], $dataName = '')
5661
{
5762
parent::__construct($name, $data, $dataName);
5863

59-
$this->addressBuilder = Bootstrap::getObjectManager()->create(
60-
'Magento\Customer\Api\Data\AddressDataBuilder'
64+
$this->customerAddressFactory = Bootstrap::getObjectManager()->create(
65+
'Magento\Customer\Api\Data\AddressInterfaceFactory'
66+
);
67+
68+
$this->customerDataFactory = Bootstrap::getObjectManager()->create(
69+
'Magento\Customer\Api\Data\CustomerInterfaceFactory'
6170
);
6271

63-
$this->customerBuilder = Bootstrap::getObjectManager()->create(
64-
'Magento\Customer\Api\Data\CustomerDataBuilder'
72+
$this->dataObjectHelper = Bootstrap::getObjectManager()->create(
73+
'Magento\Framework\Api\DataObjectHelper'
6574
);
6675

6776
$this->dataObjectProcessor = Bootstrap::getObjectManager()->create(
@@ -98,47 +107,47 @@ public function createSampleCustomer()
98107
*/
99108
public function createSampleCustomerDataObject()
100109
{
101-
$this->addressBuilder
102-
->setCountryId('US')
103-
->setDefaultBilling(true)
104-
->setDefaultShipping(true)
105-
->setPostcode('75477')
106-
->setRegion(
107-
Bootstrap::getObjectManager()->create('Magento\Customer\Api\Data\RegionDataBuilder')
108-
->setRegionCode(self::ADDRESS_REGION_CODE1)
109-
->setRegion('Alabama')
110-
->setRegionId(1)
111-
->create()
112-
)
113-
->setStreet(['Green str, 67'])
114-
->setTelephone('3468676')
115-
->setCity(self::ADDRESS_CITY1)
116-
->setFirstname('John')
117-
->setLastname('Smith');
110+
$customerAddress1 = $this->customerAddressFactory->create();
111+
$customerAddress1->setCountryId('US');
112+
$customerAddress1->setIsDefaultBilling(true);
113+
$customerAddress1->setIsDefaultShipping(true);
114+
$customerAddress1->setPostcode('75477');
115+
$customerAddress1->setRegion(
116+
Bootstrap::getObjectManager()->create('Magento\Customer\Api\Data\RegionInterfaceFactory')
117+
->create()
118+
->setRegionCode(self::ADDRESS_REGION_CODE1)
119+
->setRegion('Alabama')
120+
->setRegionId(1)
121+
);
122+
$customerAddress1->setStreet(['Green str, 67']);
123+
$customerAddress1->setTelephone('3468676');
124+
$customerAddress1->setCity(self::ADDRESS_CITY1);
125+
$customerAddress1->setFirstname('John');
126+
$customerAddress1->setLastname('Smith');
118127
$address1 = $this->dataObjectProcessor->buildOutputDataArray(
119-
$this->addressBuilder->create(),
128+
$customerAddress1,
120129
'Magento\Customer\Api\Data\AddressInterface'
121130
);
122131

123-
$this->addressBuilder
124-
->setCountryId('US')
125-
->setDefaultBilling(false)
126-
->setDefaultShipping(false)
127-
->setPostcode('47676')
128-
->setRegion(
129-
Bootstrap::getObjectManager()->create('Magento\Customer\Api\Data\RegionDataBuilder')
130-
->setRegionCode(self::ADDRESS_REGION_CODE2)
131-
->setRegion('Alabama')
132-
->setRegionId(1)
133-
->create()
134-
)
135-
->setStreet(['Black str, 48', 'Building D'])
136-
->setCity(self::ADDRESS_CITY2)
137-
->setTelephone('3234676')
138-
->setFirstname('John')
139-
->setLastname('Smith');
132+
$customerAddress2 = $this->customerAddressFactory->create();
133+
$customerAddress2->setCountryId('US');
134+
$customerAddress2->setIsDefaultBilling(false);
135+
$customerAddress2->setIsDefaultShipping(false);
136+
$customerAddress2->setPostcode('47676');
137+
$customerAddress2->setRegion(
138+
Bootstrap::getObjectManager()->create('Magento\Customer\Api\Data\RegionInterfaceFactory')
139+
->create()
140+
->setRegionCode(self::ADDRESS_REGION_CODE2)
141+
->setRegion('Alabama')
142+
->setRegionId(1)
143+
);
144+
$customerAddress2->setStreet(['Black str, 48', 'Building D']);
145+
$customerAddress2->setTelephone('3234676');
146+
$customerAddress2->setCity(self::ADDRESS_CITY2);
147+
$customerAddress2->setFirstname('John');
148+
$customerAddress2->setLastname('Smith');
140149
$address2 = $this->dataObjectProcessor->buildOutputDataArray(
141-
$this->addressBuilder->create(),
150+
$customerAddress2,
142151
'Magento\Customer\Api\Data\AddressInterface'
143152
);
144153

@@ -166,6 +175,8 @@ public function createSampleCustomerDataObject()
166175
],
167176
],
168177
];
169-
return $this->customerBuilder->populateWithArray($customerData)->create();
178+
$customer = $this->customerDataFactory->create();
179+
$this->dataObjectHelper->populateWithArray($customer, $customerData);
180+
return $customer;
170181
}
171182
}

Diff for: dev/tests/api-functional/testsuite/Magento/Customer/Api/AccountManagementTest.php

+6-35
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,6 @@ class AccountManagementTest extends WebapiAbstract
3737
*/
3838
private $accountManagement;
3939

40-
/**
41-
* @var \Magento\Customer\Api\Data\AddressDataBuilder
42-
*/
43-
private $addressBuilder;
44-
45-
/**
46-
* @var \Magento\Customer\Api\Data\CustomerDataBuilder
47-
*/
48-
private $customerBuilder;
49-
5040
/**
5141
* @var \Magento\Framework\Api\SearchCriteriaBuilder
5242
*/
@@ -85,12 +75,6 @@ public function setUp()
8575
$this->accountManagement = Bootstrap::getObjectManager()->get(
8676
'Magento\Customer\Api\AccountManagementInterface'
8777
);
88-
$this->addressBuilder = Bootstrap::getObjectManager()->create(
89-
'Magento\Customer\Api\Data\AddressDataBuilder'
90-
);
91-
$this->customerBuilder = Bootstrap::getObjectManager()->create(
92-
'Magento\Customer\Api\Data\CustomerDataBuilder'
93-
);
9478
$this->searchCriteriaBuilder = Bootstrap::getObjectManager()->create(
9579
'Magento\Framework\Api\SearchCriteriaBuilder'
9680
);
@@ -530,9 +514,8 @@ public function testResendConfirmationBadEmailOrWebsite()
530514
public function testValidateCustomerData()
531515
{
532516
$customerData = $this->customerHelper->createSampleCustomerDataObject();
533-
$customerData = $this->customerBuilder->populate($customerData)
534-
->setFirstname(null)->setLastname(null)->create();
535-
517+
$customerData->setFirstname(null);
518+
$customerData->setLastname(null);
536519
$serviceInfo = [
537520
'rest' => [
538521
'resourcePath' => self::RESOURCE_PATH . '/validate',
@@ -636,21 +619,9 @@ public function testCustomAttributes()
636619
$customerCustomAttributeValue = 'value3';
637620

638621
$addresses = $customerData->getAddresses();
639-
$address1 = $this->addressBuilder
640-
->populate($addresses[0])
641-
->setCustomAttribute($fixtureAddressAttributeCode, $address1CustomAttributeValue)
642-
->create();
643-
$address2 = $this->addressBuilder
644-
->populate($addresses[1])
645-
->setCustomAttribute($fixtureAddressAttributeCode, $address2CustomAttributeValue)
646-
->create();
647-
648-
$customer = $this->customerBuilder
649-
->populate($customerData)
650-
->setAddresses([$address1, $address2])
651-
->setCustomAttribute($fixtureCustomerAttributeCode, $customerCustomAttributeValue)
652-
->create();
653-
622+
$addresses[0]->setCustomAttribute($fixtureAddressAttributeCode, $address1CustomAttributeValue);
623+
$addresses[1]->setCustomAttribute($fixtureAddressAttributeCode, $address2CustomAttributeValue);
624+
$customerData->setCustomAttribute($fixtureCustomerAttributeCode, $customerCustomAttributeValue);
654625
$serviceInfo = [
655626
'rest' => [
656627
'resourcePath' => self::RESOURCE_PATH,
@@ -664,7 +635,7 @@ public function testCustomAttributes()
664635
];
665636

666637
$customerDataArray = $this->dataObjectProcessor->buildOutputDataArray(
667-
$customer,
638+
$customerData,
668639
'\Magento\Customer\Api\Data\CustomerInterface'
669640
);
670641
$requestData = ['customer' => $customerDataArray, 'password' => CustomerHelper::PASSWORD];

Diff for: dev/tests/api-functional/testsuite/Magento/Customer/Api/CustomerRepositoryTest.php

+14-12
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,14 @@ class CustomerRepositoryTest extends WebapiAbstract
3737
private $customerRepository;
3838

3939
/**
40-
* @var \Magento\Customer\Api\Data\AddressDataBuilder
40+
* @var \Magento\Framework\Api\DataObjectHelper
4141
*/
42-
private $addressBuilder;
42+
private $dataObjectHelper;
4343

4444
/**
45-
* @var \Magento\Customer\Api\Data\CustomerDataBuilder
45+
* @var \Magento\Customer\Api\Data\CustomerInterfaceFactory
4646
*/
47-
private $customerBuilder;
47+
private $customerDataFactory;
4848

4949
/**
5050
* @var \Magento\Framework\Api\SearchCriteriaBuilder
@@ -94,11 +94,11 @@ public function setUp()
9494
'Magento\Customer\Api\CustomerRepositoryInterface',
9595
['customerRegistry' => $this->customerRegistry]
9696
);
97-
$this->addressBuilder = Bootstrap::getObjectManager()->create(
98-
'Magento\Customer\Api\Data\AddressDataBuilder'
97+
$this->dataObjectHelper = Bootstrap::getObjectManager()->create(
98+
'Magento\Framework\Api\DataObjectHelper'
9999
);
100-
$this->customerBuilder = Bootstrap::getObjectManager()->create(
101-
'Magento\Customer\Api\Data\CustomerDataBuilder'
100+
$this->customerDataFactory = Bootstrap::getObjectManager()->create(
101+
'Magento\Customer\Api\Data\CustomerInterfaceFactory'
102102
);
103103
$this->searchCriteriaBuilder = Bootstrap::getObjectManager()->create(
104104
'Magento\Framework\Api\SearchCriteriaBuilder'
@@ -213,7 +213,8 @@ public function testUpdateCustomer()
213213
$existingCustomerDataObject = $this->_getCustomerData($customerData[Customer::ID]);
214214
$lastName = $existingCustomerDataObject->getLastname();
215215
$customerData[Customer::LASTNAME] = $lastName . 'Updated';
216-
$newCustomerDataObject = $this->customerBuilder->populateWithArray($customerData)->create();
216+
$newCustomerDataObject = $this->customerDataFactory->create();
217+
$this->dataObjectHelper->populateWithArray($newCustomerDataObject, $customerData);
217218

218219
$serviceInfo = [
219220
'rest' => [
@@ -248,7 +249,8 @@ public function testUpdateCustomerNoWebsiteId()
248249
$existingCustomerDataObject = $this->_getCustomerData($customerData[Customer::ID]);
249250
$lastName = $existingCustomerDataObject->getLastname();
250251
$customerData[Customer::LASTNAME] = $lastName . 'Updated';
251-
$newCustomerDataObject = $this->customerBuilder->populateWithArray($customerData)->create();
252+
$newCustomerDataObject = $this->customerDataFactory->create();
253+
$this->dataObjectHelper->populateWithArray($newCustomerDataObject, $customerData);
252254

253255
$serviceInfo = [
254256
'rest' => [
@@ -294,8 +296,8 @@ public function testUpdateCustomerException()
294296
//Set non-existent id = -1
295297
$customerData[Customer::LASTNAME] = $lastName . 'Updated';
296298
$customerData[Customer::ID] = -1;
297-
298-
$newCustomerDataObject = $this->customerBuilder->populateWithArray($customerData)->create();
299+
$newCustomerDataObject = $this->customerDataFactory->create();
300+
$this->dataObjectHelper->populateWithArray($newCustomerDataObject, $customerData);
299301

300302
$serviceInfo = [
301303
'rest' => [

0 commit comments

Comments
 (0)