123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Customer\Helper;
- use Magento\Customer\Api\CustomerMetadataInterface;
- use Magento\TestFramework\Helper\Bootstrap;
- class ViewTest extends \PHPUnit\Framework\TestCase
- {
- /** @var \Magento\Customer\Helper\View */
- protected $_helper;
- /** @var CustomerMetadataInterface|\PHPUnit_Framework_MockObject_MockObject */
- protected $_customerMetadataService;
- protected function setUp()
- {
- $this->_customerMetadataService = $this->createMock(\Magento\Customer\Api\CustomerMetadataInterface::class);
- $this->_helper = Bootstrap::getObjectManager()->create(
- \Magento\Customer\Helper\View::class,
- ['customerMetadataService' => $this->_customerMetadataService]
- );
- parent::setUp();
- }
- /**
- * @param \Magento\Customer\Api\Data\CustomerInterface $customerData
- * @param string $expectedCustomerName
- * @param bool $isPrefixAllowed
- * @param bool $isMiddleNameAllowed
- * @param bool $isSuffixAllowed
- * @dataProvider getCustomerNameDataProvider
- */
- public function testGetCustomerName(
- $customerData,
- $expectedCustomerName,
- $isPrefixAllowed = false,
- $isMiddleNameAllowed = false,
- $isSuffixAllowed = false
- ) {
- $visibleAttribute = $this->createMock(\Magento\Customer\Api\Data\AttributeMetadataInterface::class);
- $visibleAttribute->expects($this->any())->method('isVisible')->will($this->returnValue(true));
- $invisibleAttribute = $this->createMock(\Magento\Customer\Api\Data\AttributeMetadataInterface::class);
- $invisibleAttribute->expects($this->any())->method('isVisible')->will($this->returnValue(false));
- $this->_customerMetadataService->expects(
- $this->any()
- )->method(
- 'getAttributeMetadata'
- )->will(
- $this->returnValueMap(
- [
- ['prefix', $isPrefixAllowed ? $visibleAttribute : $invisibleAttribute],
- ['middlename', $isMiddleNameAllowed ? $visibleAttribute : $invisibleAttribute],
- ['suffix', $isSuffixAllowed ? $visibleAttribute : $invisibleAttribute],
- ]
- )
- );
- $this->assertEquals(
- $expectedCustomerName,
- $this->_helper->getCustomerName($customerData),
- 'Full customer name is invalid'
- );
- }
- public function getCustomerNameDataProvider()
- {
- /** @var \Magento\Customer\Api\Data\CustomerInterfaceFactory $customerFactory */
- $customerFactory = Bootstrap::getObjectManager()->create(
- \Magento\Customer\Api\Data\CustomerInterfaceFactory::class
- );
- return [
- 'With disabled prefix, middle name, suffix' => [
- $customerFactory->create()->setPrefix(
- 'prefix'
- )->setFirstname(
- 'FirstName'
- )->setMiddlename(
- 'MiddleName'
- )->setLastname(
- 'LastName'
- )->setSuffix(
- 'suffix'
- ),
- 'FirstName LastName',
- ],
- 'With prefix, middle name, suffix' => [
- $customerFactory->create()->setPrefix(
- 'prefix'
- )->setFirstname(
- 'FirstName'
- )->setMiddlename(
- 'MiddleName'
- )->setLastname(
- 'LastName'
- )->setSuffix(
- 'suffix'
- ),
- 'prefix FirstName MiddleName LastName suffix',
- true, // $isPrefixAllowed
- true, // $isMiddleNameAllowed
- true, //$isSuffixAllowed
- ],
- 'Empty prefix, middle name, suffix' => [
- $customerFactory->create()->setFirstname('FirstName')->setLastname('LastName'),
- 'FirstName LastName',
- true, // $isPrefixAllowed
- true, // $isMiddleNameAllowed
- true, //$isSuffixAllowed
- ],
- 'Empty prefix and suffix, not empty middle name' => [
- $customerFactory->create()->setFirstname(
- 'FirstName'
- )->setMiddlename(
- 'MiddleName'
- )->setLastname(
- 'LastName'
- ),
- 'FirstName MiddleName LastName',
- true, // $isPrefixAllowed
- true, // $isMiddleNameAllowed
- true, //$isSuffixAllowed
- ]
- ];
- }
- }
|