TotalMinMaxTest.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Payment\Test\Unit\Model\Checks;
  7. use \Magento\Payment\Model\Checks\TotalMinMax;
  8. class TotalMinMaxTest extends \PHPUnit\Framework\TestCase
  9. {
  10. /**
  11. * Payment min total value
  12. */
  13. const PAYMENT_MIN_TOTAL = 2;
  14. /**
  15. * Payment max total value
  16. */
  17. const PAYMENT_MAX_TOTAL = 5;
  18. /**
  19. * @dataProvider paymentMethodDataProvider
  20. * @param int $baseGrandTotal
  21. * @param bool $expectation
  22. */
  23. public function testIsApplicable($baseGrandTotal, $expectation)
  24. {
  25. $paymentMethod = $this->getMockBuilder(
  26. \Magento\Payment\Model\MethodInterface::class
  27. )->disableOriginalConstructor()->setMethods([])->getMock();
  28. $paymentMethod->expects($this->at(0))->method('getConfigData')->with(
  29. TotalMinMax::MIN_ORDER_TOTAL
  30. )->will($this->returnValue(self::PAYMENT_MIN_TOTAL));
  31. $paymentMethod->expects($this->at(1))->method('getConfigData')->with(
  32. TotalMinMax::MAX_ORDER_TOTAL
  33. )->will($this->returnValue(self::PAYMENT_MAX_TOTAL));
  34. $quote = $this->getMockBuilder(\Magento\Quote\Model\Quote::class)->disableOriginalConstructor()->setMethods(
  35. ['getBaseGrandTotal', '__wakeup']
  36. )->getMock();
  37. $quote->expects($this->once())->method('getBaseGrandTotal')->will($this->returnValue($baseGrandTotal));
  38. $model = new TotalMinMax();
  39. $this->assertEquals($expectation, $model->isApplicable($paymentMethod, $quote));
  40. }
  41. /**
  42. * @return array
  43. */
  44. public function paymentMethodDataProvider()
  45. {
  46. return [[1, false], [6, false], [3, true]];
  47. }
  48. }