ObserverTest.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Persistent\Model;
  7. use Magento\Customer\Model\Context;
  8. /**
  9. * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
  10. */
  11. class ObserverTest extends \PHPUnit\Framework\TestCase
  12. {
  13. /**
  14. * @var \Magento\Customer\Helper\View
  15. */
  16. protected $_customerViewHelper;
  17. /**
  18. * @var \Magento\Framework\Escaper
  19. */
  20. protected $_escaper;
  21. /**
  22. * @var \Magento\Customer\Api\CustomerRepositoryInterface
  23. */
  24. protected $customerRepository;
  25. /**
  26. * @var \Magento\Framework\ObjectManagerInterface
  27. */
  28. protected $_objectManager;
  29. /**
  30. * @var \Magento\Persistent\Model\Observer
  31. */
  32. protected $_observer;
  33. /**
  34. * @var \Magento\Checkout\Model\Session | \PHPUnit_Framework_MockObject_MockObject
  35. */
  36. protected $_checkoutSession;
  37. public function setUp()
  38. {
  39. $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
  40. $this->_customerViewHelper = $this->_objectManager->create(
  41. \Magento\Customer\Helper\View::class
  42. );
  43. $this->_escaper = $this->_objectManager->create(
  44. \Magento\Framework\Escaper::class
  45. );
  46. $this->customerRepository = $this->_objectManager->create(
  47. \Magento\Customer\Api\CustomerRepositoryInterface::class
  48. );
  49. $this->_checkoutSession = $this->getMockBuilder(
  50. \Magento\Checkout\Model\Session::class
  51. )->disableOriginalConstructor()->setMethods([])->getMock();
  52. $this->_observer = $this->_objectManager->create(
  53. \Magento\Persistent\Model\Observer::class,
  54. [
  55. 'escaper' => $this->_escaper,
  56. 'customerViewHelper' => $this->_customerViewHelper,
  57. 'customerRepository' => $this->customerRepository,
  58. 'checkoutSession' => $this->_checkoutSession
  59. ]
  60. );
  61. }
  62. /**
  63. * @magentoAppArea frontend
  64. * @magentoAppIsolation enabled
  65. */
  66. public function testEmulateWelcomeBlock()
  67. {
  68. $httpContext = new \Magento\Framework\App\Http\Context();
  69. $httpContext->setValue(Context::CONTEXT_AUTH, 1, 1);
  70. $block = $this->_objectManager->create(
  71. \Magento\Sales\Block\Reorder\Sidebar::class,
  72. [
  73. 'httpContext' => $httpContext
  74. ]
  75. );
  76. $this->_observer->emulateWelcomeBlock($block);
  77. $this->assertEquals('&nbsp;', $block->getWelcome());
  78. }
  79. }