123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Vault\Test\Unit\Model\Ui;
- use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
- use Magento\Store\Api\Data\StoreInterface;
- use Magento\Store\Model\StoreManagerInterface;
- use Magento\Vault\Api\Data\PaymentTokenInterface;
- use Magento\Vault\Api\PaymentMethodListInterface;
- use Magento\Vault\Model\CustomerTokenManagement;
- use Magento\Vault\Model\Ui\TokensConfigProvider;
- use Magento\Vault\Model\Ui\TokenUiComponentInterface;
- use Magento\Vault\Model\Ui\TokenUiComponentProviderInterface;
- use Magento\Vault\Model\VaultPaymentInterface;
- use PHPUnit_Framework_MockObject_MockObject as MockObject;
- /**
- * Class ConfigProviderTest
- *
- * @see \Magento\Vault\Model\Ui\TokensConfigProvider
- * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
- * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
- */
- class TokensConfigProviderTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @var StoreManagerInterface|MockObject
- */
- private $storeManager;
- /**
- * @var VaultPaymentInterface|MockObject
- */
- private $vaultPayment;
- /**
- * @var StoreInterface|MockObject
- */
- private $store;
- /**
- * @var CustomerTokenManagement|MockObject
- */
- private $customerTokenManagement;
- /**
- * @var PaymentMethodListInterface|MockObject
- */
- private $vaultPaymentList;
- /**
- * @var ObjectManager
- */
- private $objectManager;
- protected function setUp()
- {
- $this->objectManager = new ObjectManager($this);
- $this->vaultPaymentList = $this->createMock(PaymentMethodListInterface::class);
- $this->vaultPayment = $this->getMockForAbstractClass(VaultPaymentInterface::class);
- $this->storeManager = $this->createMock(StoreManagerInterface::class);
- $this->store = $this->createMock(StoreInterface::class);
- $this->customerTokenManagement = $this->getMockBuilder(CustomerTokenManagement::class)
- ->disableOriginalConstructor()
- ->getMock();
- }
- public function testGetConfig()
- {
- $storeId = 1;
- $vaultProviderCode = 'vault_provider_code';
- $expectedConfig = [
- 'payment' => [
- 'vault' => [
- $vaultProviderCode . '_' . '0' => [
- 'config' => ['token_code' => 'code'],
- 'component' => 'Vendor_Module/js/vault_component'
- ]
- ]
- ]
- ];
- $token = $this->getMockForAbstractClass(PaymentTokenInterface::class);
- $tokenUiComponentProvider = $this->getMockForAbstractClass(TokenUiComponentProviderInterface::class);
- $tokenUiComponent = $this->getMockForAbstractClass(TokenUiComponentInterface::class);
- $this->storeManager->expects(static::once())
- ->method('getStore')
- ->willReturn($this->store);
- $this->store->expects(static::once())
- ->method('getId')
- ->willReturn($storeId);
- $this->vaultPaymentList->expects(static::once())
- ->method('getActiveList')
- ->with($storeId)
- ->willReturn([$this->vaultPayment]);
-
- $this->vaultPayment->expects(static::once())
- ->method('getProviderCode')
- ->willReturn($vaultProviderCode);
- $this->customerTokenManagement->expects(static::once())
- ->method('getCustomerSessionTokens')
- ->willReturn([$token]);
-
- $token->expects(static::once())
- ->method('getPaymentMethodCode')
- ->willReturn($vaultProviderCode);
- $tokenUiComponentProvider->expects(static::once())
- ->method('getComponentForToken')
- ->with($token)
- ->willReturn($tokenUiComponent);
- $tokenUiComponent->expects(static::once())
- ->method('getConfig')
- ->willReturn(['token_code' => 'code']);
- $tokenUiComponent->expects(static::once())
- ->method('getName')
- ->willReturn('Vendor_Module/js/vault_component');
- $configProvider = new TokensConfigProvider(
- $this->storeManager,
- $this->customerTokenManagement,
- [
- $vaultProviderCode => $tokenUiComponentProvider
- ]
- );
- $this->objectManager->setBackwardCompatibleProperty(
- $configProvider,
- 'vaultPaymentList',
- $this->vaultPaymentList
- );
- static::assertEquals($expectedConfig, $configProvider->getConfig());
- }
- }
|