NameTest.php 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Customer\Block\Widget;
  7. use Magento\TestFramework\Helper\Bootstrap;
  8. /**
  9. * Test \Magento\Customer\Block\Widget\Name
  10. * @magentoAppArea frontend
  11. */
  12. class NameTest extends \PHPUnit\Framework\TestCase
  13. {
  14. /** @var Name */
  15. protected $_block;
  16. protected function setUp()
  17. {
  18. $objectManager = Bootstrap::getObjectManager();
  19. $objectManager->get(\Magento\Framework\App\State::class)->setAreaCode('frontend');
  20. $this->_block = $objectManager->get(
  21. \Magento\Framework\View\LayoutInterface::class
  22. )->createBlock(
  23. \Magento\Customer\Block\Widget\Name::class
  24. );
  25. }
  26. /**
  27. * @magentoAppIsolation enabled
  28. */
  29. public function testToHtmlSimpleName()
  30. {
  31. /** @var \Magento\Customer\Api\Data\CustomerInterfaceFactory $customerFactory */
  32. $customerFactory = Bootstrap::getObjectManager()->get(
  33. \Magento\Customer\Api\Data\CustomerInterfaceFactory::class
  34. );
  35. $customerDataObject = $customerFactory->create();
  36. $customerDataObject->setFirstname('Jane');
  37. $customerDataObject->setLastname('Doe');
  38. $this->_block->setObject($customerDataObject);
  39. $html = $this->_block->toHtml();
  40. $this->assertContains('title="First&#x20;Name"', $html);
  41. $this->assertContains('value="Jane"', $html);
  42. $this->assertContains('title="Last&#x20;Name"', $html);
  43. $this->assertContains('value="Doe"', $html);
  44. $this->assertNotContains('title="Middle&#x20;Name&#x2F;Initial"', $html);
  45. $this->assertNotContains('title="Name&#x20;Prefix"', $html);
  46. $this->assertNotContains('title="Name&#x20;Suffix"', $html);
  47. }
  48. /**
  49. * @magentoAppIsolation enabled
  50. * @magentoDataFixture Magento/Customer/_files/attribute_user_fullname.php
  51. */
  52. public function testToHtmlFancyName()
  53. {
  54. /** @var \Magento\Customer\Api\Data\CustomerInterfaceFactory $customerFactory */
  55. $customerFactory = Bootstrap::getObjectManager()->get(
  56. \Magento\Customer\Api\Data\CustomerInterfaceFactory::class
  57. );
  58. $customerDataObject = $customerFactory->create();
  59. $customerDataObject->setPrefix(
  60. 'Dr.'
  61. )->setFirstname(
  62. 'Jane'
  63. )->setMiddlename(
  64. 'Roe'
  65. )->setLastname(
  66. 'Doe'
  67. )->setSuffix(
  68. 'Ph.D.'
  69. );
  70. $this->_block->setObject($customerDataObject);
  71. $html = $this->_block->toHtml();
  72. $this->assertContains('title="First&#x20;Name"', $html);
  73. $this->assertContains('value="Jane"', $html);
  74. $this->assertContains('title="Last&#x20;Name"', $html);
  75. $this->assertContains('value="Doe"', $html);
  76. $this->assertContains('title="Middle&#x20;Name&#x2F;Initial"', $html);
  77. $this->assertContains('value="Roe"', $html);
  78. $this->assertContains('title="Name&#x20;Prefix"', $html);
  79. $this->assertContains('value="Dr."', $html);
  80. $this->assertContains('title="Name&#x20;Suffix"', $html);
  81. $this->assertContains('value="Ph.D."', $html);
  82. }
  83. }