![]() 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/dev/tests/integration/testsuite/Magento/Search/Model/SearchEngine/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Search\Model\SearchEngine; use PHPUnit\Framework\MockObject\MockObject; /** * Class ConfigTest * * @magentoAppIsolation enabled */ class ConfigTest extends \PHPUnit\Framework\TestCase { /** * @var \Magento\Search\Model\SearchEngine\Config|MockObject */ private $config; /** * @inheritDoc */ protected function setUp(): void { $xmlPath = __DIR__ . '/../../_files/search_engine.xml'; $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); // Clear out the cache $cacheManager = $objectManager->create(\Magento\Framework\App\Cache\Manager::class); /** @var \Magento\Framework\App\Cache\Manager $cacheManager */ $cacheManager->clean($cacheManager->getAvailableTypes()); $fileResolver = $this->getMockForAbstractClass( \Magento\Framework\Config\FileResolverInterface::class, [], '', false ); $fileResolver->expects($this->any())->method('get')->willReturn([file_get_contents($xmlPath)]); $configReader = $objectManager->create( \Magento\Framework\Search\SearchEngine\Config\Reader::class, ['fileResolver' => $fileResolver] ); $dataStorage = $objectManager->create( \Magento\Search\Model\SearchEngine\Config\Data::class, ['reader' => $configReader] ); $this->config = $objectManager->create( \Magento\Search\Model\SearchEngine\Config::class, ['dataStorage' => $dataStorage] ); } /** * Data provider for the test * * @return array */ public static function loadGetDeclaredFeaturesDataProvider() { return [ 'features-synonyms' => [ 'searchEngine' => 'mysql', 'expectedResult' => ['synonyms'] ], 'features-synonyms-stopwords' => [ 'searchEngine' => 'other', 'expectedResult' => ['synonyms', 'stopwords'] ], 'features-none1' => [ 'searchEngine' => 'none1', 'expectedResult' => [] ], 'features-none2' => [ 'searchEngine' => 'none2', 'expectedResult' => [] ], 'features-none_exist' => [ 'searchEngine' => 'none_exist', 'expectedResult' => [] ] ]; } /** * @param string $searchEngine * @param array $expectedResult * @dataProvider loadGetDeclaredFeaturesDataProvider */ public function testGetDeclaredFeatures($searchEngine, $expectedResult) { $this->assertEquals($expectedResult, $this->config->getDeclaredFeatures($searchEngine)); } /** * Data provider for the test * * @return array */ public static function loadIsFeatureSupportedDataProvider() { return [ [ 'feature' => 'synonyms', 'searchEngine' => 'mysql', 'expectedResult' => true ], [ 'feature' => 'stopwords', 'searchEngine' => 'mysql', 'expectedResult' => false ], [ 'feature' => 'synonyms', 'searchEngine' => 'other', 'expectedResult' => true ], [ 'feature' => 'stopwords', 'searchEngine' => 'other', 'expectedResult' => true ], [ 'feature' => 'synonyms', 'searchEngine' => 'none1', 'expectedResult' => false ], [ 'feature' => 'stopwords', 'searchEngine' => 'none1', 'expectedResult' => false ], [ 'feature' => 'synonyms', 'searchEngine' => 'none2', 'expectedResult' => false ], [ 'feature' => 'stopwords', 'searchEngine' => 'none2', 'expectedResult' => false ], [ 'feature' => 'stopwords', 'searchEngine' => 'none_exist', 'expectedResult' => false ], [ 'feature' => 'none_exist', 'searchEngine' => 'none_exist', 'expectedResult' => false ], [ 'feature' => 'none_exist', 'searchEngine' => 'mysql', 'expectedResult' => false ] ]; } /** * @param string $searchEngine * @param string $feature * @param array $expectedResult * @dataProvider loadIsFeatureSupportedDataProvider */ public function testIsFeatureSupported($searchEngine, $feature, $expectedResult) { $this->assertEquals($expectedResult, $this->config->isFeatureSupported($searchEngine, $feature)); } }