![]() 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-paypal/Test/Unit/Model/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Paypal\Test\Unit\Model; use Magento\Framework\App\Config\ScopeConfigInterface; use Magento\Framework\Locale\ResolverInterface; use Magento\Paypal\Model\Config; use Magento\Paypal\Model\ConfigFactory; use Magento\Paypal\Model\SmartButtonConfig; use Magento\Store\Model\Store; use Magento\Store\Model\StoreManagerInterface; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; /** * Test for smart button config */ class SmartButtonConfigTest extends TestCase { /** * @var SmartButtonConfig */ private $model; /** * @var MockObject */ private $localeResolverMock; /** * @var MockObject */ private $configMock; /** * @inheritDoc */ protected function setUp(): void { $this->localeResolverMock = $this->getMockForAbstractClass(ResolverInterface::class); $this->configMock = $this->getMockBuilder(Config::class) ->disableOriginalConstructor() ->getMock(); /** @var ScopeConfigInterface|MockObject $scopeConfigMock */ $scopeConfigMock = $this->getMockForAbstractClass(ScopeConfigInterface::class); $scopeConfigMock->method('isSetFlag') ->willReturn(true); /** @var ConfigFactory|MockObject $configFactoryMock */ $configFactoryMock = $this->getMockBuilder(ConfigFactory::class) ->disableOriginalConstructor() ->setMethods(['create']) ->getMock(); $configFactoryMock->expects($this->any())->method('create')->willReturn($this->configMock); $sdkUrl = $this->createMock(\Magento\Paypal\Model\SdkUrl::class); $sdkUrl->method('getUrl')->willReturn('http://mock.url'); $this->model = new SmartButtonConfig( $this->localeResolverMock, $configFactoryMock, $scopeConfigMock, $sdkUrl, $this->configMock, $this->getDefaultStyles() ); } /** * Tests config. * * @param string $page * @param string $locale * @param bool $isCustomize * @param string $layout * @param string $shape * @param string $label * @param string $color * @param string $installmentPeriod * @param string $installmentPeriodLocale * @param array $expected * @dataProvider getConfigDataProvider * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ public function testGetConfig( string $page, string $locale, bool $isCustomize, string $layout, string $shape, string $label, string $color, string $installmentPeriod, string $installmentPeriodLocale, array $expected = [] ) { $this->localeResolverMock->method('getLocale')->willReturn($locale); $this->configMock->method('getValue')->willReturnMap( [ ["{$page}_page_button_customize", null, $isCustomize], ["{$page}_page_button_layout", null, $layout], ["{$page}_page_button_color", null, $color], ["{$page}_page_button_shape", null, $shape], ["{$page}_page_button_label", null, $label], [ $page . '_page_button_' . $installmentPeriodLocale . '_installment_period', null, $installmentPeriod ] ] ); self::assertEquals($expected, $this->model->getConfig($page)); } /** * Get config data provider * * @return array */ public function getConfigDataProvider() { return include __DIR__ . '/_files/expected_style_config.php'; } /** * Get default styles * * @return array */ private function getDefaultStyles() { return include __DIR__ . '/_files/default_styles.php'; } }