DepersonalizePluginTest.php 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Checkout\Test\Unit\Model\Layout;
  7. /**
  8. * Class DepersonalizePluginTest
  9. */
  10. class DepersonalizePluginTest extends \PHPUnit\Framework\TestCase
  11. {
  12. /**
  13. * @var \Magento\Customer\Model\Layout\DepersonalizePluginTest
  14. */
  15. protected $plugin;
  16. /**
  17. * @var \Magento\Framework\View\LayoutInterface|\PHPUnit_Framework_MockObject_MockObject
  18. */
  19. protected $layoutMock;
  20. /**
  21. * @var \Magento\Checkout\Model\Session|\PHPUnit_Framework_MockObject_MockObject
  22. */
  23. protected $checkoutSessionMock;
  24. /**
  25. * @var \Magento\PageCache\Model\DepersonalizeChecker|\PHPUnit_Framework_MockObject_MockObject
  26. */
  27. protected $depersonalizeCheckerMock;
  28. /**
  29. * SetUp
  30. */
  31. protected function setUp()
  32. {
  33. $this->layoutMock = $this->createMock(\Magento\Framework\View\Layout::class);
  34. $this->checkoutSessionMock = $this->createPartialMock(
  35. \Magento\Framework\Session\Generic::class,
  36. ['clearStorage', 'setData', 'getData']
  37. );
  38. $this->checkoutSessionMock = $this->createPartialMock(\Magento\Checkout\Model\Session::class, ['clearStorage']);
  39. $this->requestMock = $this->createMock(\Magento\Framework\App\Request\Http::class);
  40. $this->moduleManagerMock = $this->createMock(\Magento\Framework\Module\Manager::class);
  41. $this->cacheConfigMock = $this->createMock(\Magento\PageCache\Model\Config::class);
  42. $this->depersonalizeCheckerMock = $this->createMock(\Magento\PageCache\Model\DepersonalizeChecker::class);
  43. $this->plugin = new \Magento\Checkout\Model\Layout\DepersonalizePlugin(
  44. $this->depersonalizeCheckerMock,
  45. $this->checkoutSessionMock
  46. );
  47. }
  48. /**
  49. * Test method afterGenerateXml
  50. */
  51. public function testAfterGenerateXml()
  52. {
  53. $expectedResult = $this->createMock(\Magento\Framework\View\Layout::class);
  54. $this->depersonalizeCheckerMock->expects($this->once())->method('checkIfDepersonalize')->willReturn(true);
  55. $this->checkoutSessionMock
  56. ->expects($this->once())
  57. ->method('clearStorage')
  58. ->will($this->returnValue($expectedResult));
  59. $actualResult = $this->plugin->afterGenerateXml($this->layoutMock, $expectedResult);
  60. $this->assertEquals($expectedResult, $actualResult);
  61. }
  62. public function testAfterGenerateXmlNoDepersonalize()
  63. {
  64. $expectedResult = $this->createMock(\Magento\Framework\View\Layout::class);
  65. $this->depersonalizeCheckerMock->expects($this->once())->method('checkIfDepersonalize')->willReturn(false);
  66. $this->checkoutSessionMock
  67. ->expects($this->never())
  68. ->method('clearStorage')
  69. ->will($this->returnValue($expectedResult));
  70. $actualResult = $this->plugin->afterGenerateXml($this->layoutMock, $expectedResult);
  71. $this->assertEquals($expectedResult, $actualResult);
  72. }
  73. }