67 $this->contextMock = $this->getMockBuilder(\
Magento\Framework\
App\Action\Context::class)
68 ->disableOriginalConstructor()
70 $this->resultJsonFactoryMock = $this->getMockBuilder(\
Magento\Framework\Controller\Result\JsonFactory::class)
71 ->setMethods([
'create'])
72 ->disableOriginalConstructor()
74 $this->sessionTransparentMock = $this->getMockBuilder(\
Magento\Framework\Session\Generic::class)
75 ->setMethods([
'setQuoteId'])
76 ->disableOriginalConstructor()
78 $this->secureTokenServiceMock = $this->getMockBuilder(
79 \
Magento\Paypal\Model\Payflow\Service\Request\SecureToken::class
81 ->setMethods([
'requestToken'])
82 ->disableOriginalConstructor()
84 $this->sessionManagerMock = $this->getMockBuilder(\
Magento\Framework\Session\SessionManager::class)
85 ->setMethods([
'getQuote'])
86 ->disableOriginalConstructor()
88 $this->transparentMock = $this->getMockBuilder(\
Magento\Paypal\Model\Payflow\Transparent::class)
89 ->setMethods([
'getCode'])
90 ->disableOriginalConstructor()
93 $this->controller = new \Magento\Paypal\Controller\Transparent\RequestSecureToken(
95 $this->resultJsonFactoryMock,
96 $this->sessionTransparentMock,
97 $this->secureTokenServiceMock,
98 $this->sessionManagerMock,
99 $this->transparentMock
106 $tokenFields = [
'fields-1',
'fields-2',
'fields-3'];
107 $secureToken =
'token_hash';
108 $resultExpectation = [
110 'fields' => [
'fields-1',
'fields-2',
'fields-3']
116 $quoteMock = $this->getMockBuilder(\
Magento\Quote\Model\Quote::class)
117 ->disableOriginalConstructor()
119 $tokenMock = $this->getMockBuilder(\
Magento\Framework\DataObject::class)
120 ->disableOriginalConstructor()
122 $jsonMock = $this->getMockBuilder(\
Magento\Framework\Controller\Result\Json::class)
123 ->disableOriginalConstructor()
126 $this->sessionManagerMock->expects($this->atLeastOnce())
128 ->willReturn($quoteMock);
129 $quoteMock->expects($this->once())
132 $this->sessionTransparentMock->expects($this->once())
133 ->method(
'setQuoteId')
135 $this->secureTokenServiceMock->expects($this->once())
136 ->method(
'requestToken')
138 ->willReturn($tokenMock);
139 $this->transparentMock->expects($this->once())
141 ->willReturn(
'transparent');
142 $tokenMock->expects($this->atLeastOnce())
146 [
'',
null, $tokenFields],
147 [
'securetoken',
null, $secureToken]
150 $this->resultJsonFactoryMock->expects($this->once())
152 ->willReturn($jsonMock);
153 $jsonMock->expects($this->once())
155 ->with($resultExpectation)
158 $this->assertEquals($jsonMock, $this->controller->execute());
164 $resultExpectation = [
167 'error_messages' =>
__(
'Your payment has been declined. Please try again.')
170 $quoteMock = $this->getMockBuilder(\
Magento\Quote\Model\Quote::class)
171 ->disableOriginalConstructor()
173 $jsonMock = $this->getMockBuilder(\
Magento\Framework\Controller\Result\Json::class)
174 ->disableOriginalConstructor()
177 $this->sessionManagerMock->expects($this->atLeastOnce())
179 ->willReturn($quoteMock);
180 $quoteMock->expects($this->once())
183 $this->sessionTransparentMock->expects($this->once())
184 ->method(
'setQuoteId')
186 $this->secureTokenServiceMock->expects($this->once())
187 ->method(
'requestToken')
189 ->willThrowException(
new \Exception());
190 $this->resultJsonFactoryMock->expects($this->once())
192 ->willReturn($jsonMock);
193 $jsonMock->expects($this->once())
195 ->with($resultExpectation)
198 $this->assertEquals($jsonMock, $this->controller->execute());
203 $resultExpectation = [
206 'error_messages' =>
__(
'Your payment has been declined. Please try again.')
210 $jsonMock = $this->getMockBuilder(\
Magento\Framework\Controller\Result\Json::class)
211 ->disableOriginalConstructor()
214 $this->sessionManagerMock->expects($this->atLeastOnce())
216 ->willReturn($quoteMock);
217 $this->resultJsonFactoryMock->expects($this->once())
219 ->willReturn($jsonMock);
220 $jsonMock->expects($this->once())
222 ->with($resultExpectation)
225 $this->assertEquals($jsonMock, $this->controller->execute());
testExecuteEmptyQuoteError()
testExecuteTokenRequestException()