![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-payment/Test/Unit/Model/Checks/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Payment\Test\Unit\Model\Checks; use Magento\Payment\Model\Checks\ZeroTotal; use Magento\Payment\Model\MethodInterface; use Magento\Quote\Model\Quote; use PHPUnit\Framework\TestCase; class ZeroTotalTest extends TestCase { /** * @dataProvider paymentMethodDataProvider * @param string $code * @param int $total * @param bool $expectation */ public function testIsApplicable($code, $total, $expectation) { $paymentMethod = $this->getMockBuilder(MethodInterface::class) ->disableOriginalConstructor() ->setMethods([]) ->getMockForAbstractClass(); if (!$total) { $paymentMethod->expects($this->once()) ->method('getCode') ->willReturn($code); } $quote = $this->getMockBuilder(Quote::class) ->disableOriginalConstructor() ->setMethods(['getBaseGrandTotal', '__wakeup']) ->getMock(); $quote->expects($this->once()) ->method('getBaseGrandTotal') ->willReturn($total); $model = new ZeroTotal(); $this->assertEquals($expectation, $model->isApplicable($paymentMethod, $quote)); } /** * @return array */ public function paymentMethodDataProvider() { return [['not_free', 0, false], ['free', 1, true]]; } }