magento2-docker/dev/tests/integration/testsuite/Magento/Customer/Model/AddressTest.php

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());
}
}