30 $this->sessionMock = $this->createMock(\
Magento\
Checkout\Model\Session::class);
31 $this->paypalShortcutHelperMock = $this->createMock(\
Magento\Paypal\Helper\Shortcut\Validator::class);
32 $this->paymentHelperMock = $this->createMock(\
Magento\
Payment\Helper\Data::class);
34 $this->objectManagerHelper =
new ObjectManagerHelper($this);
35 $this->checkoutValidator = $this->objectManagerHelper->getObject(
36 \
Magento\Paypal\Helper\Shortcut\CheckoutValidator::class,
38 'checkoutSession' => $this->sessionMock,
39 'shortcutValidator' => $this->paypalShortcutHelperMock,
40 'paymentData' => $this->paymentHelperMock
49 $methodInstanceMock = $this->getMockBuilder(\
Magento\
Payment\Model\Method\AbstractMethod::class)
50 ->disableOriginalConstructor()->setMethods([])->getMock();
52 $this->paypalShortcutHelperMock->expects($this->once())->method(
'isContextAvailable')
53 ->with(
$code, $isInCatalog)->will($this->returnValue(
true));
54 $this->paypalShortcutHelperMock->expects($this->once())->method(
'isPriceOrSetAvailable')
55 ->with($isInCatalog)->will($this->returnValue(
true));
56 $this->paymentHelperMock->expects($this->once())->method(
'getMethodInstance')->with(
$code)
57 ->will($this->returnValue($methodInstanceMock));
58 $methodInstanceMock->expects($this->once())->method(
'isAvailable')->with(
null)
59 ->will($this->returnValue(
true));
61 $this->assertTrue($this->checkoutValidator->validate(
$code, $isInCatalog));
68 $paymentCode =
'code';
69 $methodInstanceMock = $this->getMockBuilder(\
Magento\
Payment\Model\Method\AbstractMethod::class)
70 ->disableOriginalConstructor()->setMethods([])->getMock();
72 $this->paymentHelperMock->expects($this->once())->method(
'getMethodInstance')->with($paymentCode)
73 ->will($this->returnValue($methodInstanceMock));
74 $methodInstanceMock->expects($this->once())->method(
'isAvailable')->with(
$quote)
75 ->will($this->returnValue(
false));
77 $this->assertFalse($this->checkoutValidator->isMethodQuoteAvailable($paymentCode, $isInCatalog));
86 $quote = $this->getMockBuilder(\
Magento\
Quote\Model\Quote::class)->disableOriginalConstructor()->setMethods([])
89 $paymentCode =
'code';
90 $methodInstanceMock = $this->getMockBuilder(\
Magento\
Payment\Model\Method\AbstractMethod::class)
91 ->disableOriginalConstructor()->setMethods([])->getMock();
93 $this->sessionMock->expects($this->once())->method(
'getQuote')->will($this->returnValue(
$quote));
94 $this->paymentHelperMock->expects($this->once())->method(
'getMethodInstance')->with($paymentCode)
95 ->will($this->returnValue($methodInstanceMock));
96 $methodInstanceMock->expects($this->once())->method(
'isAvailable')->with(
$quote)
97 ->will($this->returnValue($availability));
101 $this->checkoutValidator->isMethodQuoteAvailable($paymentCode, $isInCatalog)
110 return [[
true], [
false]];
116 $this->assertTrue($this->checkoutValidator->isQuoteSummaryValid($isInCatalog));
121 $isInCatalog =
false;
122 $quote = $this->getMockBuilder(\
Magento\
Quote\Model\Quote::class)->disableOriginalConstructor()->setMethods([])
125 $this->sessionMock->expects($this->once())->method(
'getQuote')->will($this->returnValue(
$quote));
126 $quote->expects($this->once())->method(
'validateMinimumAmount')->will($this->returnValue(
false));
128 $this->assertFalse($this->checkoutValidator->isQuoteSummaryValid($isInCatalog));
133 $isInCatalog =
false;
134 $quote = $this->getMockBuilder(\
Magento\
Quote\Model\Quote::class)->disableOriginalConstructor()
135 ->setMethods([
'getGrandTotal',
'validateMinimumAmount',
'__wakeup'])
138 $this->sessionMock->expects($this->once())->method(
'getQuote')->will($this->returnValue(
$quote));
139 $quote->expects($this->once())->method(
'validateMinimumAmount')->will($this->returnValue(
true));
140 $quote->expects($this->once())->method(
'getGrandTotal')->will($this->returnValue(0));
142 $this->assertFalse($this->checkoutValidator->isQuoteSummaryValid($isInCatalog));
147 $isInCatalog =
false;
148 $quote = $this->getMockBuilder(\
Magento\
Quote\Model\Quote::class)->disableOriginalConstructor()
149 ->setMethods([
'getGrandTotal',
'validateMinimumAmount',
'__wakeup'])
152 $this->sessionMock->expects($this->once())->method(
'getQuote')->will($this->returnValue(
$quote));
153 $quote->expects($this->once())->method(
'validateMinimumAmount')->will($this->returnValue(
true));
154 $quote->expects($this->once())->method(
'getGrandTotal')->will($this->returnValue(1));
156 $this->assertTrue($this->checkoutValidator->isQuoteSummaryValid($isInCatalog));
testIsQuoteSummaryValidNoQuote()
testIsMethodQuoteAvailableNoQuoteMethodNotAvailableFalse()
testIsMethodQuoteAvailableWithQuoteMethodNotAvailable($availability)
testIsQuoteSummaryValidTrue()
methodAvailabilityDataProvider()
testIsQuoteSummaryValidMinimumAmountFalse()
$paypalShortcutHelperMock
testIsQuoteSummaryValidGrandTotalFalse()