ExpressConfigProviderTest.php 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Paypal\Test\Unit\Model;
  7. use Magento\Framework\UrlInterface;
  8. use Magento\Paypal\Model\ExpressConfigProvider;
  9. use Magento\Paypal\Model\SmartButtonConfig;
  10. use PHPUnit\Framework\MockObject\MockObject;
  11. class ExpressConfigProviderTest extends \PHPUnit\Framework\TestCase
  12. {
  13. public function testGetConfig()
  14. {
  15. $localeResolver = $this->createMock(\Magento\Framework\Locale\ResolverInterface::class);
  16. $localeResolver->expects($this->once())->method('getLocale');
  17. $configFactory = $this->createPartialMock(\Magento\Paypal\Model\ConfigFactory::class, ['create']);
  18. $currentCustomer = $this->createMock(\Magento\Customer\Helper\Session\CurrentCustomer::class);
  19. $currentCustomer->expects($this->atLeastOnce())->method('getCustomerId')->willReturn(12);
  20. $paymentHelper= $this->createMock(\Magento\Payment\Helper\Data::class);
  21. $paypalHelper = $this->createMock(\Magento\Paypal\Helper\Data::class);
  22. $paypalHelper->expects($this->atLeastOnce())->method('shouldAskToCreateBillingAgreement')->willReturn(false);
  23. $config = $this->createMock(\Magento\Paypal\Model\Config::class);
  24. $config->expects($this->once())->method('getPaymentMarkWhatIsPaypalUrl');
  25. $config->expects($this->once())->method('getPaymentMarkImageUrl');
  26. $config->expects($this->atLeastOnce())->method('setMethod');
  27. $configFactory->expects($this->once())->method('create')->willReturn($config);
  28. $payment = $this->getMockBuilder(\Magento\Paypal\Model\Payflowpro::class)
  29. ->setMethods(['isAvailable', 'getCheckoutRedirectUrl'])
  30. ->setMockClassName('paymentInstance')
  31. ->disableOriginalConstructor()
  32. ->getMock();
  33. $payment->expects($this->atLeastOnce())->method('isAvailable')->willReturn(true);
  34. $payment->expects($this->atLeastOnce())->method('getCheckoutRedirectUrl')->willReturn('http://redirect.url');
  35. $paymentHelper->expects($this->atLeastOnce())->method('getMethodInstance')->willReturn($payment);
  36. /** @var UrlInterface|MockObject $urlBuilderMock */
  37. $urlBuilderMock = $this->createMock(\Magento\Framework\UrlInterface::class);
  38. $smartButtonConfigMock = $this->createMock(SmartButtonConfig::class);
  39. $configProvider = new ExpressConfigProvider(
  40. $configFactory,
  41. $localeResolver,
  42. $currentCustomer,
  43. $paypalHelper,
  44. $paymentHelper,
  45. $urlBuilderMock,
  46. $smartButtonConfigMock
  47. );
  48. $configProvider->getConfig();
  49. }
  50. }