loadModel('account/customer'); $customer = $customerModel->getCustomer(self::CUSTOMER_ID); $proxy = $this->getMockBuilder(\RetailcrmProxy::class) ->disableOriginalConstructor() ->setMethods(array('customersCreate')) ->getMock(); $proxy->expects($this->once())->method('customersCreate'); $customer_manager = new \retailcrm\service\CustomerManager( $proxy, \retailcrm\factory\CustomerConverterFactory::create(static::$registry) ); $customer_manager->createCustomer($customer, array()); } public function testEditCustomer() { $customerModel = $this->loadModel('account/customer'); $customer = $customerModel->getCustomer(self::CUSTOMER_ID); $proxy = $this->getMockBuilder(\RetailcrmProxy::class) ->disableOriginalConstructor() ->setMethods(['customersEdit']) ->getMock(); $proxy->expects($this->once())->method('customersEdit'); $customer_manager = new \retailcrm\service\CustomerManager( $proxy, \retailcrm\factory\CustomerConverterFactory::create(static::$registry) ); $customer_manager->editCustomer($customer, array()); } public function testPrepareCustomer() { $customer_model = $this->loadModel('account/customer'); $customer = $customer_model->getCustomer(self::CUSTOMER_ID); $address = array( 'postcode' => '111111', 'iso_code_2' => 'EN', 'zone' => 'Zone', 'city' => 'City', 'address_1' => 'Address', 'address_2' => '' ); $proxy = $this->getMockBuilder(\RetailcrmProxy::class) ->disableOriginalConstructor() ->getMock(); $customer_manager = new \retailcrm\service\CustomerManager( $proxy, \retailcrm\factory\CustomerConverterFactory::create(static::$registry) ); $customer = $customer_manager->prepareCustomer($customer, $address); $this->assertArrayHasKey('externalId', $customer); $this->assertArrayHasKey('firstName', $customer); $this->assertArrayHasKey('lastName', $customer); $this->assertArrayHasKey('email', $customer); $this->assertArrayHasKey('externalId', $customer); $this->assertArrayHasKey('createdAt', $customer); $this->assertArrayHasKey('address', $customer); } }