PaymentMethodListTest.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Vault\Test\Unit\Model;
  7. use Magento\Payment\Api\Data\PaymentMethodInterface;
  8. use Magento\Payment\Api\PaymentMethodListInterface;
  9. use Magento\Payment\Model\Method\InstanceFactory;
  10. use Magento\Payment\Model\MethodInterface;
  11. use Magento\Vault\Model\VaultPaymentInterface;
  12. use Magento\Vault\Model\PaymentMethodList;
  13. use PHPUnit_Framework_MockObject_MockObject as MockObject;
  14. class PaymentMethodListTest extends \PHPUnit\Framework\TestCase
  15. {
  16. /**
  17. * @var PaymentMethodListInterface|MockObject
  18. */
  19. private $paymentMethodList;
  20. /**
  21. * @var InstanceFactory|MockObject
  22. */
  23. private $instanceFactory;
  24. /**
  25. * @var PaymentMethodList
  26. */
  27. private $vaultPaymentList;
  28. protected function setUp()
  29. {
  30. $this->paymentMethodList = $this->createMock(PaymentMethodListInterface::class);
  31. $this->instanceFactory = $this->getMockBuilder(InstanceFactory::class)
  32. ->disableOriginalConstructor()
  33. ->setMethods(['create'])
  34. ->getMock();
  35. $this->vaultPaymentList = new PaymentMethodList($this->paymentMethodList, $this->instanceFactory);
  36. }
  37. /**
  38. * @covers \Magento\Vault\Model\PaymentMethodList::getActiveList
  39. */
  40. public function testGetActivePaymentList()
  41. {
  42. $storeId = 1;
  43. $vaultPayment = $this->createMock(VaultPaymentInterface::class);
  44. $paymentMethodInterface1 = $this->createMock(PaymentMethodInterface::class);
  45. $paymentMethodInterface2 = $this->createMock(PaymentMethodInterface::class);
  46. $activePayments = [
  47. $paymentMethodInterface1,
  48. $paymentMethodInterface2
  49. ];
  50. $this->paymentMethodList->expects(static::once())
  51. ->method('getActiveList')
  52. ->with($storeId)
  53. ->willReturn($activePayments);
  54. $this->instanceFactory->expects(static::exactly(2))
  55. ->method('create')
  56. ->willReturnMap([
  57. [$paymentMethodInterface1, $this->createMock(MethodInterface::class)],
  58. [$paymentMethodInterface2, $vaultPayment]
  59. ]);
  60. $vaultPayments = $this->vaultPaymentList->getActiveList($storeId);
  61. static::assertCount(1, $vaultPayments);
  62. static::assertInstanceOf(VaultPaymentInterface::class, $vaultPayment);
  63. }
  64. }