![]() 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/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Search\Model; /** * @magentoDbIsolation disabled * @magentoDataFixture Magento/Search/_files/synonym_reader.php */ class SynonymReaderTest extends \PHPUnit\Framework\TestCase { /** * @var \Magento\Search\Model\SynonymReader */ private $model; protected function setUp(): void { $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); $this->model = $objectManager->get(\Magento\Search\Model\SynonymReader::class); } /** * @return array */ public function loadByPhraseDataProvider(): array { return [ [ 'ELIZABETH', [] ], [ '-+<(ELIZABETH)>*~', [] ], [ 'ENGLISH', [['synonyms' => 'british,english', 'store_id' => 1, 'website_id' => 0]] ], [ 'English', [['synonyms' => 'british,english', 'store_id' => 1, 'website_id' => 0]] ], [ 'QUEEN', [['synonyms' => 'queen,monarch', 'store_id' => 1, 'website_id' => 0]] ], [ 'Monarch', [['synonyms' => 'queen,monarch', 'store_id' => 1, 'website_id' => 0]] ], [ '-+<(Monarch)>*~', [['synonyms' => 'queen,monarch', 'store_id' => 1, 'website_id' => 0]] ], [ 'MONARCH English', [ ['synonyms' => 'queen,monarch', 'store_id' => 1, 'website_id' => 0], ['synonyms' => 'british,english', 'store_id' => 1, 'website_id' => 0] ] ], [ 'query_value', [] ], [ 'query_value+', [] ], [ 'query_value-', [] ], [ 'query_@value', [] ], [ 'query_value+@', [] ], [ '<', [] ], [ '>', [] ], [ '<english>', [['synonyms' => 'british,english', 'store_id' => 1, 'website_id' => 0]] ], ]; } /** * @param string $phrase * @param array $expectedResult * @dataProvider loadByPhraseDataProvider */ public function testLoadByPhrase(string $phrase, array $expectedResult) { $data = $this->model->loadByPhrase($phrase)->getData(); $i = 0; foreach ($expectedResult as $r) { $this->assertEquals($r['synonyms'], $data[$i]['synonyms']); $this->assertEquals($r['store_id'], $data[$i]['store_id']); $this->assertEquals($r['website_id'], $data[$i]['website_id']); ++$i; } } }