PaymentMethodListTest.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Braintree\Model;
  7. use Magento\Braintree\Model\Ui\ConfigProvider;
  8. use Magento\Braintree\Model\Ui\PayPal\ConfigProvider as PayPalConfigProvider;
  9. use Magento\Store\Model\StoreManagerInterface;
  10. use Magento\TestFramework\Helper\Bootstrap;
  11. use Magento\Vault\Api\PaymentMethodListInterface;
  12. use Magento\Vault\Model\VaultPaymentInterface;
  13. /**
  14. * Contains tests for vault payment list methods
  15. */
  16. class PaymentMethodListTest extends \PHPUnit\Framework\TestCase
  17. {
  18. /**
  19. * @var PaymentMethodListInterface
  20. */
  21. private $paymentMethodList;
  22. /**
  23. * @var int
  24. */
  25. private $storeId;
  26. protected function setUp()
  27. {
  28. $objectManager = Bootstrap::getObjectManager();
  29. $this->storeId = $objectManager->get(StoreManagerInterface::class)
  30. ->getStore()
  31. ->getId();
  32. $this->paymentMethodList = $objectManager->get(PaymentMethodListInterface::class);
  33. }
  34. /**
  35. * @magentoDataFixture Magento/Braintree/_files/payments.php
  36. */
  37. public function testGetList()
  38. {
  39. $vaultPayments = $this->paymentMethodList->getList($this->storeId);
  40. static::assertNotEmpty($vaultPayments);
  41. $paymentCodes = array_map(function (VaultPaymentInterface $payment) {
  42. return $payment->getCode();
  43. }, $vaultPayments);
  44. $expectedCodes = [
  45. PayPalConfigProvider::PAYPAL_VAULT_CODE,
  46. ConfigProvider::CC_VAULT_CODE
  47. ];
  48. static::assertNotEmpty(array_intersect($expectedCodes, $paymentCodes));
  49. }
  50. /**
  51. * @magentoDataFixture Magento/Braintree/_files/payments.php
  52. */
  53. public function testGetActiveList()
  54. {
  55. $vaultPayments = $this->paymentMethodList->getActiveList($this->storeId);
  56. static::assertNotEmpty($vaultPayments);
  57. $paymentCodes = array_map(function ($payment) {
  58. return $payment->getCode();
  59. }, $vaultPayments);
  60. static::assertContains(PayPalConfigProvider::PAYPAL_VAULT_CODE, $paymentCodes);
  61. }
  62. }