Skip to content

Commit 09def5e

Browse files
YuliyaLabudovavital-pantsialeyeu
authored andcommitted
MAGETWO-66666: Adding a product to cart from category page with an expired session does not allow product to be added
- Add unit test in case Expired session
1 parent a7c3fc6 commit 09def5e

File tree

1 file changed

+79
-0
lines changed
  • app/code/Magento/Checkout/Test/Unit/Controller/Cart

1 file changed

+79
-0
lines changed
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
namespace Magento\Checkout\Test\Unit\Controller\Cart;
7+
8+
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
9+
10+
class AddTest extends \PHPUnit\Framework\TestCase
11+
{
12+
/**
13+
* @var ObjectManagerHelper
14+
*/
15+
private $objectManagerHelper;
16+
17+
/**
18+
* @var \Magento\Framework\Data\Form\FormKey\Validator|\PHPUnit_Framework_MockObject_MockObject
19+
*/
20+
private $formKeyValidator;
21+
22+
/**
23+
* @var \Magento\Framework\Controller\Result\RedirectFactory|\PHPUnit_Framework_MockObject_MockObject
24+
*/
25+
private $resultRedirectFactory;
26+
27+
/**
28+
* @var \Magento\Framework\App\RequestInterface|\PHPUnit_Framework_MockObject_MockObject
29+
*/
30+
private $request;
31+
32+
/**
33+
* @var \Magento\Framework\Message\ManagerInterface|\PHPUnit_Framework_MockObject_MockObject
34+
*/
35+
private $messageManager;
36+
37+
public function setUp()
38+
{
39+
$this->formKeyValidator = $this->getMockBuilder(\Magento\Framework\Data\Form\FormKey\Validator::class)
40+
->disableOriginalConstructor()->getMock();
41+
$this->resultRedirectFactory =
42+
$this->getMockBuilder(\Magento\Framework\Controller\Result\RedirectFactory::class)
43+
->disableOriginalConstructor()->getMock();
44+
$this->request = $this->getMockBuilder(\Magento\Framework\App\RequestInterface::class)
45+
->disableOriginalConstructor()->getmock();
46+
$this->messageManager = $this->getMockBuilder(\Magento\Framework\Message\ManagerInterface::class)
47+
->disableOriginalConstructor()->getMock();
48+
49+
$this->objectManagerHelper = new ObjectManagerHelper($this);
50+
$this->add = $this->objectManagerHelper->getObject(
51+
\Magento\Checkout\Controller\Cart\Add::class,
52+
[
53+
'_formKeyValidator' => $this->formKeyValidator,
54+
'resultRedirectFactory' => $this->resultRedirectFactory,
55+
'_request' => $this->request,
56+
'messageManager' => $this->messageManager
57+
]
58+
);
59+
}
60+
61+
/**
62+
* Test for method execute.
63+
*
64+
* @return void
65+
*/
66+
public function testExecute()
67+
{
68+
$redirect = $this->getMockBuilder(\Magento\Framework\Controller\Result\Redirect::class)
69+
->disableOriginalConstructor()
70+
->getMock();
71+
$path = '*/*/';
72+
73+
$this->formKeyValidator->expects($this->once())->method('validate')->with($this->request)->willReturn(false);
74+
$this->messageManager->expects($this->once())->method('addErrorMessage');
75+
$this->resultRedirectFactory->expects($this->once())->method('create')->willReturn($redirect);
76+
$redirect->expects($this->once())->method('setPath')->with($path)->willReturnSelf();
77+
$this->assertEquals($redirect, $this->add->execute());
78+
}
79+
}

0 commit comments

Comments
 (0)