ViewTest.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Sales\Test\Unit\Controller\Guest;
  7. use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
  8. class ViewTest extends \PHPUnit\Framework\TestCase
  9. {
  10. /**
  11. * @var \Magento\Sales\Controller\Guest\View
  12. */
  13. protected $viewController;
  14. /**
  15. * @var \Magento\TestFramework\Helper\ObjectManager
  16. */
  17. protected $objectManagerHelper;
  18. /**
  19. * @var \Magento\Framework\App\Action\Context
  20. */
  21. protected $context;
  22. /**
  23. * @var \Magento\Framework\App\RequestInterface|\PHPUnit_Framework_MockObject_MockObject
  24. */
  25. protected $requestMock;
  26. /**
  27. * @var \Magento\Sales\Helper\Guest|\PHPUnit_Framework_MockObject_MockObject
  28. */
  29. protected $guestHelperMock;
  30. /**
  31. * @var \Magento\Framework\Controller\Result\Redirect|\PHPUnit_Framework_MockObject_MockObject
  32. */
  33. protected $resultRedirectMock;
  34. /**
  35. * @var \Magento\Framework\View\Result\PageFactory|\PHPUnit_Framework_MockObject_MockObject
  36. */
  37. protected $resultPageFactoryMock;
  38. /**
  39. * @var \Magento\Framework\View\Result\Page|\PHPUnit_Framework_MockObject_MockObject
  40. */
  41. protected $resultPageMock;
  42. /**
  43. * @return void
  44. */
  45. protected function setUp()
  46. {
  47. $this->requestMock = $this->getMockBuilder(\Magento\Framework\App\RequestInterface::class)
  48. ->getMock();
  49. $this->guestHelperMock = $this->getMockBuilder(\Magento\Sales\Helper\Guest::class)
  50. ->disableOriginalConstructor()
  51. ->getMock();
  52. $this->resultRedirectMock = $this->getMockBuilder(\Magento\Framework\Controller\Result\Redirect::class)
  53. ->disableOriginalConstructor()
  54. ->getMock();
  55. $this->resultPageFactoryMock = $this->getMockBuilder(\Magento\Framework\View\Result\PageFactory::class)
  56. ->disableOriginalConstructor()
  57. ->setMethods(['create'])
  58. ->getMock();
  59. $this->resultPageMock = $this->getMockBuilder(\Magento\Framework\View\Result\Page::class)
  60. ->disableOriginalConstructor()
  61. ->getMock();
  62. $this->objectManagerHelper = new ObjectManagerHelper($this);
  63. $this->context = $this->objectManagerHelper->getObject(
  64. \Magento\Framework\App\Action\Context::class,
  65. [
  66. 'request' => $this->requestMock
  67. ]
  68. );
  69. $this->viewController = $this->objectManagerHelper->getObject(
  70. \Magento\Sales\Controller\Guest\View::class,
  71. [
  72. 'context' => $this->context,
  73. 'guestHelper' => $this->guestHelperMock,
  74. 'resultPageFactory' => $this->resultPageFactoryMock
  75. ]
  76. );
  77. }
  78. /**
  79. * @return void
  80. */
  81. public function testExecuteOrderLoaded()
  82. {
  83. $this->guestHelperMock->expects($this->once())
  84. ->method('loadValidOrder')
  85. ->with($this->requestMock)
  86. ->willReturn(true);
  87. $this->resultPageFactoryMock->expects($this->once())
  88. ->method('create')
  89. ->willReturn($this->resultPageMock);
  90. $this->guestHelperMock->expects($this->once())
  91. ->method('getBreadcrumbs')
  92. ->with($this->resultPageMock);
  93. $this->assertSame($this->resultPageMock, $this->viewController->execute());
  94. }
  95. /**
  96. * @return void
  97. */
  98. public function testExecuteOrderNotFound()
  99. {
  100. $this->guestHelperMock->expects($this->once())
  101. ->method('loadValidOrder')
  102. ->with($this->requestMock)
  103. ->willReturn($this->resultRedirectMock);
  104. $this->assertSame($this->resultRedirectMock, $this->viewController->execute());
  105. }
  106. }