ViewTest.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Customer\Test\Unit\Helper;
  7. use Magento\Customer\Api\CustomerMetadataInterface;
  8. class ViewTest extends \PHPUnit\Framework\TestCase
  9. {
  10. /** @var \Magento\Framework\App\Helper\Context|\PHPUnit_Framework_MockObject_MockObject */
  11. protected $context;
  12. /** @var \Magento\Customer\Helper\View|\PHPUnit_Framework_MockObject_MockObject */
  13. protected $object;
  14. /** @var CustomerMetadataInterface|\PHPUnit_Framework_MockObject_MockObject */
  15. protected $customerMetadataService;
  16. protected function setUp()
  17. {
  18. $this->context = $this->getMockBuilder(\Magento\Framework\App\Helper\Context::class)
  19. ->disableOriginalConstructor()
  20. ->getMock();
  21. $this->customerMetadataService = $this->createMock(\Magento\Customer\Api\CustomerMetadataInterface::class);
  22. $attributeMetadata = $this->createMock(\Magento\Customer\Api\Data\AttributeMetadataInterface::class);
  23. $attributeMetadata->expects($this->any())->method('isVisible')->will($this->returnValue(true));
  24. $this->customerMetadataService->expects($this->any())
  25. ->method('getAttributeMetadata')
  26. ->will($this->returnValue($attributeMetadata));
  27. $this->object = new \Magento\Customer\Helper\View($this->context, $this->customerMetadataService);
  28. }
  29. /**
  30. * @dataProvider getCustomerServiceDataProvider
  31. */
  32. public function testGetCustomerName($prefix, $firstName, $middleName, $lastName, $suffix, $result)
  33. {
  34. $customerData = $this->getMockBuilder(\Magento\Customer\Api\Data\CustomerInterface::class)
  35. ->disableOriginalConstructor()
  36. ->getMock();
  37. $customerData->expects($this->any())
  38. ->method('getPrefix')->will($this->returnValue($prefix));
  39. $customerData->expects($this->any())
  40. ->method('getFirstname')->will($this->returnValue($firstName));
  41. $customerData->expects($this->any())
  42. ->method('getMiddlename')->will($this->returnValue($middleName));
  43. $customerData->expects($this->any())
  44. ->method('getLastname')->will($this->returnValue($lastName));
  45. $customerData->expects($this->any())
  46. ->method('getSuffix')->will($this->returnValue($suffix));
  47. $this->assertEquals($result, $this->object->getCustomerName($customerData));
  48. }
  49. /**
  50. * @return array
  51. */
  52. public function getCustomerServiceDataProvider()
  53. {
  54. return [
  55. [
  56. 'prefix', //prefix
  57. 'first_name', //first_name
  58. 'middle_name', //middle_name
  59. 'last_name', //last_name
  60. 'suffix', //suffix
  61. 'prefix first_name middle_name last_name suffix', //result name
  62. ],
  63. [
  64. '', //prefix
  65. 'first_name', //first_name
  66. 'middle_name', //middle_name
  67. 'last_name', //last_name
  68. 'suffix', //suffix
  69. 'first_name middle_name last_name suffix', //result name
  70. ],
  71. [
  72. 'prefix', //prefix
  73. 'first_name', //first_name
  74. '', //middle_name
  75. 'last_name', //last_name
  76. 'suffix', //suffix
  77. 'prefix first_name last_name suffix', //result name
  78. ],
  79. [
  80. 'prefix', //prefix
  81. 'first_name', //first_name
  82. 'middle_name', //middle_name
  83. 'last_name', //last_name
  84. '', //suffix
  85. 'prefix first_name middle_name last_name', //result name
  86. ],
  87. [
  88. '', //prefix
  89. 'first_name', //first_name
  90. '', //middle_name
  91. 'last_name', //last_name
  92. 'suffix', //suffix
  93. 'first_name last_name suffix', //result name
  94. ],
  95. [
  96. 'prefix', //prefix
  97. 'first_name', //first_name
  98. '', //middle_name
  99. 'last_name', //last_name
  100. '', //suffix
  101. 'prefix first_name last_name', //result name
  102. ],
  103. [
  104. '', //prefix
  105. 'first_name', //first_name
  106. 'middle_name', //middle_name
  107. 'last_name', //last_name
  108. '', //suffix
  109. 'first_name middle_name last_name', //result name
  110. ],
  111. ];
  112. }
  113. }