![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-vault/Test/Unit/Model/Ui/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); 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; use PHPUnit\Framework\TestCase; /** * Class ConfigProviderTest * * @see \Magento\Vault\Model\Ui\TokensConfigProvider * @SuppressWarnings(PHPMD.CouplingBetweenObjects) * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ class TokensConfigProviderTest extends 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(): void { $this->objectManager = new ObjectManager($this); $this->vaultPaymentList = $this->getMockForAbstractClass(PaymentMethodListInterface::class); $this->vaultPayment = $this->getMockForAbstractClass(VaultPaymentInterface::class); $this->storeManager = $this->getMockForAbstractClass(StoreManagerInterface::class); $this->store = $this->getMockForAbstractClass(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()); } }