@@ -7,6 +7,8 @@ class CustomerTest extends \PHPUnit\Framework\TestCase
77 private $ mockData ;
88 private $ mockCustomer ;
99 private $ unit ;
10+ private $ mockOrder ;
11+ private $ mockBillingAddress ;
1012
1113 public function setUp ()
1214 {
@@ -29,6 +31,59 @@ public function setUp()
2931 'getAddressesCollection '
3032 ])
3133 ->getMock ();
34+
35+ $ this ->mockOrder = $ this ->getMockBuilder (\Magento \Sales \Model \Order::class)
36+ ->disableOriginalConstructor ()
37+ ->setMethods ([
38+ 'getBillingAddress ' ,
39+ ])
40+ ->getMock ();
41+
42+ $ this ->mockBillingAddress = $ this ->getMockBuilder (\Magento \Customer \Model \Address \AddressModelInterface::class)
43+ ->disableOriginalConstructor ()
44+ ->setMethods ([
45+ 'getTelephone ' ,
46+ 'getEmail ' ,
47+ 'getData ' ,
48+ 'getFirstname ' ,
49+ 'getMiddlename ' ,
50+ 'getLastname ' ,
51+ 'getCountryId ' ,
52+ 'getPostcode ' ,
53+ 'getRegion ' ,
54+ 'getCity ' ,
55+ 'getStreet '
56+ ])
57+ ->getMockForAbstractClass ();
58+
59+ $ this ->unit = new \Retailcrm \Retailcrm \Model \Service \Customer (
60+ $ this ->mockData
61+ );
62+ }
63+
64+ public function testPrepareCustomerFromOrder ()
65+ {
66+ $ this ->mockOrder ->expects ($ this ->any ())
67+ ->method ('getBillingAddress ' )
68+ ->willReturn ($ this ->mockBillingAddress );
69+
70+ $ result = $ this ->unit ->prepareCustomerFromOrder ($ this ->mockOrder );
71+
72+ $ this ->assertNotEmpty ($ result );
73+ $ this ->assertInternalType ('array ' , $ result );
74+ $ this ->assertArrayNotHasKey ('externalId ' , $ result );
75+ $ this ->assertArrayHasKey ('email ' , $ result );
76+ $ this ->assertArrayHasKey ('firstName ' , $ result );
77+ $ this ->assertArrayHasKey ('lastName ' , $ result );
78+ $ this ->assertArrayHasKey ('patronymic ' , $ result );
79+ $ this ->assertArrayHasKey ('address ' , $ result );
80+ $ this ->assertInternalType ('array ' , $ result ['address ' ]);
81+ $ this ->assertArrayHasKey ('countryIso ' , $ result ['address ' ]);
82+ $ this ->assertArrayHasKey ('index ' , $ result ['address ' ]);
83+ $ this ->assertArrayHasKey ('region ' , $ result ['address ' ]);
84+ $ this ->assertArrayHasKey ('city ' , $ result ['address ' ]);
85+ $ this ->assertArrayHasKey ('street ' , $ result ['address ' ]);
86+ $ this ->assertArrayHasKey ('text ' , $ result ['address ' ]);
3287 }
3388
3489 /**
@@ -107,10 +162,6 @@ public function testProcess($apiVersion)
107162 ->method ('getAddressesCollection ' )
108163 ->willReturn ([$ mockAddress ]);
109164
110- $ this ->unit = new \Retailcrm \Retailcrm \Model \Service \Customer (
111- $ this ->mockData
112- );
113-
114165 $ result = $ this ->unit ->process ($ this ->mockCustomer );
115166
116167 $ this ->assertNotEmpty ($ result );
0 commit comments