12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Payment\Test\Unit\Model\Checks;
- use \Magento\Payment\Model\Checks\ZeroTotal;
- class ZeroTotalTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @dataProvider paymentMethodDataProvider
- * @param string $code
- * @param int $total
- * @param bool $expectation
- */
- public function testIsApplicable($code, $total, $expectation)
- {
- $paymentMethod = $this->getMockBuilder(\Magento\Payment\Model\MethodInterface::class)
- ->disableOriginalConstructor()
- ->setMethods([])
- ->getMock();
- if (!$total) {
- $paymentMethod->expects($this->once())
- ->method('getCode')
- ->will($this->returnValue($code));
- }
- $quote = $this->getMockBuilder(\Magento\Quote\Model\Quote::class)
- ->disableOriginalConstructor()
- ->setMethods(['getBaseGrandTotal', '__wakeup'])
- ->getMock();
- $quote->expects($this->once())
- ->method('getBaseGrandTotal')
- ->will($this->returnValue($total));
- $model = new ZeroTotal();
- $this->assertEquals($expectation, $model->isApplicable($paymentMethod, $quote));
- }
- /**
- * @return array
- */
- public function paymentMethodDataProvider()
- {
- return [['not_free', 0, false], ['free', 1, true]];
- }
- }
|