magento2-docker/dev/tests/integration/testsuite/Magento/Payment/Model/ConfigTest.php

83 lines
2.7 KiB
PHP
Executable File

<?php
/**
* \Magento\Payment\Model\Config
*
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Payment\Model;
use Magento\Payment\Model\Config;
use Magento\TestFramework\Helper\Bootstrap;
/**
* Class ConfigTest
*/
class ConfigTest extends \PHPUnit\Framework\TestCase
{
/**
* @var Config
*/
private $model = null;
protected function setUp(): void
{
$objectManager = Bootstrap::getObjectManager();
/** @var $cache \Magento\Framework\App\Cache */
$cache = $objectManager->create(\Magento\Framework\App\Cache::class);
$cache->clean();
$fileResolverMock = $this->getMockBuilder(
\Magento\Framework\Config\FileResolverInterface::class
)->disableOriginalConstructor()->getMock();
$fileList = [
file_get_contents(__DIR__ . '/_files/payment.xml'),
file_get_contents(__DIR__ . '/_files/payment2.xml'),
];
$fileResolverMock->expects($this->any())->method('get')->willReturn($fileList);
$reader = $objectManager->create(
\Magento\Payment\Model\Config\Reader::class,
['fileResolver' => $fileResolverMock]
);
$data = $objectManager->create(\Magento\Payment\Model\Config\Data::class, ['reader' => $reader]);
$this->model = $objectManager->create(Config::class, ['dataStorage' => $data]);
}
/**
* @covers \Magento\Payment\Model\Config::getActiveMethods
*/
public function testGetActiveMethods()
{
$paymentMethods = $this->model->getActiveMethods();
static::assertNotEmpty($paymentMethods);
/** @var \Magento\Payment\Model\MethodInterface $method */
foreach ($paymentMethods as $method) {
static::assertNotEmpty($method->getCode());
static::assertTrue($method->isActive());
static::assertEquals(0, $method->getStore());
}
}
public function testGetCcTypes()
{
$expected = ['AE' => 'American Express', 'SM' => 'Switch/Maestro', 'SO' => 'Solo'];
$ccTypes = $this->model->getCcTypes();
$this->assertEquals($expected, $ccTypes);
}
public function testGetGroups()
{
$expected = ['any_payment' => 'Any Payment Methods', 'offline' => 'Offline Payment Methods'];
$groups = $this->model->getGroups();
$this->assertEquals($expected, $groups);
}
protected function tearDown(): void
{
$objectManager = Bootstrap::getObjectManager();
/** @var $cache \Magento\Framework\App\Cache */
$cache = $objectManager->create(\Magento\Framework\App\Cache::class);
$cache->clean();
}
}