123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Customer\Test\Unit\Model\Address;
- class MapperTest extends \PHPUnit\Framework\TestCase
- {
- /** @var \Magento\Framework\TestFramework\Unit\Helper\ObjectManager */
- protected $_objectManager;
- /**
- * @var \Magento\Customer\Model\Address\Mapper
- */
- protected $addressMapper;
- /** @var \Magento\Framework\Api\ExtensibleDataObjectConverter|\PHPUnit_Framework_MockObject_MockObject */
- protected $extensibleObjectConverter;
- protected function setUp()
- {
- $this->extensibleObjectConverter = $this->getMockBuilder(
- \Magento\Framework\Api\ExtensibleDataObjectConverter::class
- )->disableOriginalConstructor()->getMock();
- $this->_objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
- $this->addressMapper = $this->_objectManager->getObject(
- \Magento\Customer\Model\Address\Mapper::class,
- [
- 'extensibleDataObjectConverter' => $this->extensibleObjectConverter
- ]
- );
- }
- public function testToFlatArray()
- {
- $expectedResultWithoutStreet = [
- 'id' => 1,
- 'default_shipping' => false,
- 'default_billing' => true,
- 'firstname' => 'John',
- 'lastname' => 'Doe',
- 'city' => 'Austin',
- 'country_id' => 'US',
- 'region_id' => 1,
- 'region' => 'Texas',
- 'region_code' => 'TX'
- ];
- $expectedResultWithStreet = array_merge(
- $expectedResultWithoutStreet,
- [
- 'street' => ['7700 W Parmer Ln', 'Austin, TX'],
- ]
- );
- $this->extensibleObjectConverter->expects($this->once())->method('toFlatArray')->willReturn(
- $expectedResultWithoutStreet
- );
- $addressData = $this->createAddressMock();
- $result = $this->addressMapper->toFlatArray($addressData);
- $this->assertEquals($expectedResultWithStreet, $result);
- }
- /**
- * @return \Magento\Customer\Api\Data\AddressInterface|\PHPUnit_Framework_MockObject_MockObject
- */
- protected function createAddressMock()
- {
- /** @var \Magento\Customer\Api\Data\RegionInterface|\PHPUnit_Framework_MockObject_MockObject $regionMock */
- $regionMock = $this->getMockForAbstractClass(\Magento\Customer\Api\Data\RegionInterface::class, [], '', false);
- $regionMock->expects($this->any())->method('getRegion')->willReturn('Texas');
- $regionMock->expects($this->any())->method('getRegionId')->willReturn(1);
- $regionMock->expects($this->any())->method('getRegionCode')->willReturn('TX');
- $addressMock = $this->getMockBuilder(\Magento\Customer\Api\Data\AddressInterface::class)
- ->setMethods(
- [
- 'getId',
- 'getDefaultBilling',
- 'getDefaultShipping',
- 'getCity',
- 'getFirstname',
- 'getLastname',
- 'getCountryId',
- 'getRegion',
- 'getStreet'
- ]
- )
- ->getMockForAbstractClass();
- $addressMock->expects($this->any())->method('getId')->willReturn('1');
- $addressMock->expects($this->any())->method('getDefaultBilling')->willReturn(true);
- $addressMock->expects($this->any())->method('getDefaultShipping')->willReturn(false);
- $addressMock->expects($this->any())->method('getCity')->willReturn('Austin');
- $addressMock->expects($this->any())->method('getFirstname')->willReturn('John');
- $addressMock->expects($this->any())->method('getLastname')->willReturn('Doe');
- $addressMock->expects($this->any())->method('getCountryId')->willReturn('US');
- $addressMock->expects($this->any())->method('getRegion')->willReturn($regionMock);
- $addressMock->expects($this->any())->method('getStreet')->willReturn(['7700 W Parmer Ln', 'Austin, TX']);
- return $addressMock;
- }
- }
|