@@ -26,22 +26,25 @@ class AddressRepositoryTest extends \PHPUnit_Framework_TestCase
26
26
/** @var \Magento\Customer\Model\Data\Address[] */
27
27
private $ _expectedAddresses ;
28
28
29
- /** @var \Magento\Customer\Api\Data\AddressDataBuilder */
30
- private $ _addressBuilder ;
29
+ /** @var \Magento\Customer\Api\Data\AddressInterfaceFactory */
30
+ private $ _addressFactory ;
31
+
32
+ /** @var \Magento\Framework\Api\DataObjectHelper */
33
+ protected $ dataObjectHelper ;
31
34
32
35
protected function setUp ()
33
36
{
34
37
$ this ->_objectManager = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ();
35
38
$ this ->repository = $ this ->_objectManager ->create ('Magento\Customer\Api\AddressRepositoryInterface ' );
36
- $ this ->_addressBuilder = $ this ->_objectManager ->create ('Magento\Customer\Api\Data\AddressDataBuilder ' );
39
+ $ this ->_addressFactory = $ this ->_objectManager ->create ('Magento\Customer\Api\Data\AddressInterfaceFactory ' );
40
+ $ this ->dataObjectHelper = $ this ->_objectManager ->create ('Magento\Framework\Api\DataObjectHelper ' );
37
41
38
- $ builder = $ this ->_objectManager ->create ('Magento\Customer\Api\Data\RegionDataBuilder ' );
39
- $ region = $ builder
40
- ->setRegionCode ('AL ' )
42
+ $ regionFactory = $ this ->_objectManager ->create ('Magento\Customer\Api\Data\RegionInterfaceFactory ' );
43
+ $ region = $ regionFactory -> create ();
44
+ $ region ->setRegionCode ('AL ' )
41
45
->setRegion ('Alabama ' )
42
- ->setRegionId (1 )
43
- ->create ();
44
- $ this ->_addressBuilder
46
+ ->setRegionId (1 );
47
+ $ address = $ this ->_addressFactory ->create ()
45
48
->setId ('1 ' )
46
49
->setCountryId ('US ' )
47
50
->setCustomerId (1 )
@@ -53,10 +56,9 @@ protected function setUp()
53
56
->setFirstname ('John ' )
54
57
->setLastname ('Smith ' )
55
58
->setCompany ('CompanyName ' );
56
- $ address = $ this ->_addressBuilder ->create ();
57
59
58
60
/* XXX: would it be better to have a clear method for this? */
59
- $ this ->_addressBuilder
61
+ $ address2 = $ this ->_addressFactory -> create ()
60
62
->setId ('2 ' )
61
63
->setCountryId ('US ' )
62
64
->setCustomerId (1 )
@@ -67,7 +69,6 @@ protected function setUp()
67
69
->setTelephone ('3234676 ' )
68
70
->setFirstname ('John ' )
69
71
->setLastname ('Smith ' );
70
- $ address2 = $ this ->_addressBuilder ->create ();
71
72
72
73
$ this ->_expectedAddresses = [$ address , $ address2 ];
73
74
}
@@ -90,13 +91,11 @@ public function testSaveAddressChanges()
90
91
{
91
92
$ address = $ this ->repository ->getById (2 );
92
93
93
- $ proposedAddressBuilder = $ this ->_addressBuilder ->populate ($ address );
94
- $ proposedAddressBuilder ->setRegion ($ address ->getRegion ());
94
+ $ address ->setRegion ($ address ->getRegion ());
95
95
// change phone #
96
- $ proposedAddressBuilder ->setTelephone ('555 ' . $ address ->getTelephone ());
97
- $ proposedAddressObject = $ proposedAddressBuilder ->create ();
98
- $ proposedAddress = $ this ->repository ->save ($ proposedAddressObject );
99
- $ this ->assertEquals (2 , $ proposedAddress ->getId ());
96
+ $ address ->setTelephone ('555 ' . $ address ->getTelephone ());
97
+ $ address = $ this ->repository ->save ($ address );
98
+ $ this ->assertEquals (2 , $ address ->getId ());
100
99
101
100
$ savedAddress = $ this ->repository ->getById (2 );
102
101
$ this ->assertNotEquals ($ this ->_expectedAddresses [1 ]->getTelephone (), $ savedAddress ->getTelephone ());
@@ -112,8 +111,7 @@ public function testSaveAddressChanges()
112
111
*/
113
112
public function testSaveAddressesIdSetButNotAlreadyExisting ()
114
113
{
115
- $ proposedAddressBuilder = $ this ->_createSecondAddressBuilder ()->setId (4200 );
116
- $ proposedAddress = $ proposedAddressBuilder ->create ();
114
+ $ proposedAddress = $ this ->_createSecondAddressBuilder ()->setId (4200 );
117
115
$ this ->repository ->save ($ proposedAddress );
118
116
}
119
117
@@ -147,17 +145,16 @@ public function testGetAddressByIdBadAddressId()
147
145
*/
148
146
public function testSaveNewAddress ()
149
147
{
150
- $ proposedAddress = $ this ->_createSecondAddressBuilder ()->setCustomerId (1 )-> create () ;
148
+ $ proposedAddress = $ this ->_createSecondAddressBuilder ()->setCustomerId (1 );
151
149
152
150
$ returnedAddress = $ this ->repository ->save ($ proposedAddress );
153
151
$ this ->assertNotNull ($ returnedAddress ->getId ());
154
152
155
153
$ savedAddress = $ this ->repository ->getById ($ returnedAddress ->getId ());
156
154
157
- $ expectedNewAddressBuilder = $ this ->_addressBuilder ->populate ($ this ->_expectedAddresses [1 ]);
158
- $ expectedNewAddressBuilder ->setId ($ savedAddress ->getId ());
159
- $ expectedNewAddressBuilder ->setRegion ($ this ->_expectedAddresses [1 ]->getRegion ());
160
- $ expectedNewAddress = $ expectedNewAddressBuilder ->create ();
155
+ $ expectedNewAddress = $ this ->_expectedAddresses [1 ];
156
+ $ expectedNewAddress ->setId ($ savedAddress ->getId ());
157
+ $ expectedNewAddress ->setRegion ($ this ->_expectedAddresses [1 ]->getRegion ());
161
158
$ this ->assertEquals ($ expectedNewAddress , $ savedAddress );
162
159
}
163
160
@@ -168,13 +165,12 @@ public function testSaveNewAddress()
168
165
*/
169
166
public function testSaveNewAddressWithAttributes ()
170
167
{
171
- $ addressBuilder = $ this ->_createFirstAddressBuilder ()
168
+ $ proposedAddress = $ this ->_createFirstAddress ()
172
169
->setCustomAttribute ('firstname ' , 'Jane ' )
173
170
->setCustomAttribute ('id ' , 4200 )
174
171
->setCustomAttribute ('weird ' , 'something_strange_with_hair ' )
175
172
->setId (null )
176
173
->setCustomerId (1 );
177
- $ proposedAddress = $ addressBuilder ->create ();
178
174
179
175
$ returnedAddress = $ this ->repository ->save ($ proposedAddress );
180
176
@@ -194,13 +190,12 @@ public function testSaveNewAddressWithAttributes()
194
190
*/
195
191
public function testSaveNewInvalidAddress ()
196
192
{
197
- $ addressBuilder = $ this ->_createFirstAddressBuilder ()
193
+ $ address = $ this ->_createFirstAddress ()
198
194
->setCustomAttribute ('firstname ' , null )
199
195
->setId (null )
200
196
->setFirstname (null )
201
197
->setLastname (null )
202
198
->setCustomerId (1 );
203
- $ address = $ addressBuilder ->create ();
204
199
try {
205
200
$ this ->repository ->save ($ address );
206
201
} catch (InputException $ exception ) {
@@ -214,7 +209,7 @@ public function testSaveNewInvalidAddress()
214
209
215
210
public function testSaveAddressesCustomerIdNotExist ()
216
211
{
217
- $ proposedAddress = $ this ->_createSecondAddressBuilder ()->setCustomerId (4200 )-> create () ;
212
+ $ proposedAddress = $ this ->_createSecondAddressBuilder ()->setCustomerId (4200 );
218
213
try {
219
214
$ this ->repository ->save ($ proposedAddress );
220
215
$ this ->fail ('Expected exception not thrown ' );
@@ -225,7 +220,7 @@ public function testSaveAddressesCustomerIdNotExist()
225
220
226
221
public function testSaveAddressesCustomerIdInvalid ()
227
222
{
228
- $ proposedAddress = $ this ->_createSecondAddressBuilder ()->setCustomerId ('this_is_not_a_valid_id ' )-> create () ;
223
+ $ proposedAddress = $ this ->_createSecondAddressBuilder ()->setCustomerId ('this_is_not_a_valid_id ' );
229
224
try {
230
225
$ this ->repository ->save ($ proposedAddress );
231
226
$ this ->fail ('Expected exception not thrown ' );
@@ -388,26 +383,35 @@ public function searchAddressDataProvider()
388
383
/**
389
384
* Helper function that returns an Address Data Object that matches the data from customer_address fixture
390
385
*
391
- * @return \Magento\Customer\Api\Data\AddressDataBuilder
386
+ * @return \Magento\Customer\Api\Data\AddressInterface
392
387
*/
393
- private function _createFirstAddressBuilder ()
388
+ private function _createFirstAddress ()
394
389
{
395
- $ addressBuilder = $ this ->_addressBuilder ->populate ($ this ->_expectedAddresses [0 ]);
396
- $ addressBuilder ->setId (null );
397
- $ addressBuilder ->setRegion ($ this ->_expectedAddresses [0 ]->getRegion ());
398
- return $ addressBuilder ;
390
+ $ address = $ this ->_addressFactory ->create ();
391
+ $ this ->dataObjectHelper ->mergeDataObjects ('\Magento\Customer\Api\Data\AddressInterface ' ,
392
+ $ address ,
393
+ $ this ->_expectedAddresses [0 ]
394
+ );
395
+ $ address ->setId (null );
396
+ $ address ->setRegion ($ this ->_expectedAddresses [0 ]->getRegion ());
397
+ return $ address ;
399
398
}
400
399
401
400
/**
402
401
* Helper function that returns an Address Data Object that matches the data from customer_two_address fixture
403
402
*
404
- * @return \Magento\Customer\Api\Data\AddressDataBuilder
403
+ * @return \Magento\Customer\Api\Data\AddressInterface
405
404
*/
406
405
private function _createSecondAddressBuilder ()
407
406
{
408
- $ addressBuilder = $ this ->_addressBuilder ->populate ($ this ->_expectedAddresses [1 ]);
409
- $ addressBuilder ->setId (null );
410
- $ addressBuilder ->setRegion ($ this ->_expectedAddresses [1 ]->getRegion ());
411
- return $ addressBuilder ;
407
+ $ address = $ this ->_addressFactory ->create ();
408
+ $ this ->dataObjectHelper ->mergeDataObjects (
409
+ '\Magento\Customer\Api\Data\AddressInterface ' ,
410
+ $ address ,
411
+ $ this ->_expectedAddresses [1 ]
412
+ );
413
+ $ address ->setId (null );
414
+ $ address ->setRegion ($ this ->_expectedAddresses [1 ]->getRegion ());
415
+ return $ address ;
412
416
}
413
417
}
0 commit comments