95 lines
3.6 KiB
PHP
Executable File
95 lines
3.6 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* Copyright © Magento, Inc. All rights reserved.
|
|
* See COPYING.txt for license details.
|
|
*/
|
|
|
|
namespace Magento\Customer\Model;
|
|
|
|
class AddressTest extends \PHPUnit\Framework\TestCase
|
|
{
|
|
/**
|
|
* @var \Magento\Customer\Model\Address
|
|
*/
|
|
protected $addressModel;
|
|
|
|
/**
|
|
* @var \Magento\Customer\Api\Data\AddressInterfaceFactory
|
|
*/
|
|
protected $addressFactory;
|
|
|
|
protected function setUp(): void
|
|
{
|
|
$this->addressModel = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
|
|
\Magento\Customer\Model\Address::class
|
|
);
|
|
$this->addressFactory = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
|
|
\Magento\Customer\Api\Data\AddressInterfaceFactory::class
|
|
);
|
|
}
|
|
|
|
public function testUpdateDataSetDataOnEmptyModel()
|
|
{
|
|
/** @var \Magento\Customer\Model\Data\Address $addressData */
|
|
$addressData = $this->addressFactory->create()
|
|
->setId(1)
|
|
->setCity('CityX')
|
|
->setCompany('CompanyX')
|
|
->setPostcode('77777');
|
|
$addressData = $this->addressModel->updateData($addressData)->getDataModel();
|
|
|
|
$this->assertEquals(1, $addressData->getId());
|
|
$this->assertEquals('CityX', $addressData->getCity());
|
|
$this->assertEquals('CompanyX', $addressData->getCompany());
|
|
$this->assertEquals('77777', $addressData->getPostcode());
|
|
}
|
|
|
|
public function testUpdateDataOverrideExistingData()
|
|
{
|
|
/** @var \Magento\Customer\Model\Data\Address $addressData */
|
|
$addressData = $this->addressFactory->create()
|
|
->setId(2)
|
|
->setCity('CityY')
|
|
->setCompany('CompanyY')
|
|
->setPostcode('88888');
|
|
$this->addressModel->updateData($addressData);
|
|
|
|
/** @var \Magento\Customer\Model\Data\Address $addressData */
|
|
$updatedAddressData = $this->addressFactory->create()
|
|
->setId(3)
|
|
->setCity('CityZ')
|
|
->setCompany('CompanyZ')
|
|
->setPostcode('99999');
|
|
$updatedAddressData = $this->addressModel->updateData($updatedAddressData)->getDataModel();
|
|
|
|
$this->assertEquals(3, $updatedAddressData->getId());
|
|
$this->assertEquals('CityZ', $updatedAddressData->getCity());
|
|
$this->assertEquals('CompanyZ', $updatedAddressData->getCompany());
|
|
$this->assertEquals('99999', $updatedAddressData->getPostcode());
|
|
}
|
|
|
|
/**
|
|
* @magentoDataFixture Magento/Customer/_files/customer_sample.php
|
|
*/
|
|
public function testUpdateDataForExistingCustomer()
|
|
{
|
|
/** @var \Magento\Customer\Model\CustomerRegistry $customerRegistry */
|
|
$customerRegistry = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(CustomerRegistry::class);
|
|
/** @var \Magento\Customer\Model\Data\Address $addressData */
|
|
$updatedAddressData = $this->addressFactory->create()
|
|
->setId(1)
|
|
->setCustomerId($customerRegistry->retrieveByEmail('customer@example.com')->getId())
|
|
->setCity('CityZ')
|
|
->setCompany('CompanyZ')
|
|
->setPostcode('99999');
|
|
$updatedAddressData = $this->addressModel->updateData($updatedAddressData)->getDataModel();
|
|
|
|
$this->assertEquals(1, $updatedAddressData->getId());
|
|
$this->assertEquals('CityZ', $updatedAddressData->getCity());
|
|
$this->assertEquals('CompanyZ', $updatedAddressData->getCompany());
|
|
$this->assertEquals('99999', $updatedAddressData->getPostcode());
|
|
$this->assertTrue($updatedAddressData->isDefaultBilling());
|
|
$this->assertTrue($updatedAddressData->isDefaultShipping());
|
|
}
|
|
}
|