57 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
<?php
 | 
						|
/**
 | 
						|
 * Copyright © Magento, Inc. All rights reserved.
 | 
						|
 * See COPYING.txt for license details.
 | 
						|
 */
 | 
						|
declare(strict_types=1);
 | 
						|
 | 
						|
namespace Magento\AdvancedSearch\Model;
 | 
						|
 | 
						|
use Magento\Catalog\Test\Fixture\Product as ProductFixture;
 | 
						|
use Magento\Search\Model\Query;
 | 
						|
use Magento\Store\Model\ScopeInterface;
 | 
						|
use Magento\TestFramework\Fixture\Config as FixtureConfig;
 | 
						|
use Magento\TestFramework\Fixture\DataFixture;
 | 
						|
use Magento\TestFramework\Fixture\DbIsolation;
 | 
						|
use Magento\TestFramework\Helper\Bootstrap;
 | 
						|
use PHPUnit\Framework\TestCase;
 | 
						|
 | 
						|
class SuggestedQueriesTest extends TestCase
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * @var SuggestedQueries
 | 
						|
     */
 | 
						|
    private $suggestedQueries;
 | 
						|
 | 
						|
    protected function setUp(): void
 | 
						|
    {
 | 
						|
        $this->suggestedQueries = Bootstrap::getObjectManager()
 | 
						|
            ->create(SuggestedQueries::class);
 | 
						|
    }
 | 
						|
 | 
						|
    #[
 | 
						|
        DbIsolation(false),
 | 
						|
        FixtureConfig(
 | 
						|
            'catalog/search/elasticsearch_index_prefix',
 | 
						|
            'suggested_queries_test',
 | 
						|
            ScopeInterface::SCOPE_STORE
 | 
						|
        ),
 | 
						|
        FixtureConfig(SuggestedQueriesInterface::SEARCH_SUGGESTION_ENABLED, 1, ScopeInterface::SCOPE_STORE),
 | 
						|
        FixtureConfig(SuggestedQueriesInterface::SEARCH_SUGGESTION_COUNT, 8, ScopeInterface::SCOPE_STORE),
 | 
						|
        DataFixture(ProductFixture::class, ['name' => 'fresh arugula salad']),
 | 
						|
        DataFixture('Magento/CatalogSearch/_files/full_reindex.php'),
 | 
						|
    ]
 | 
						|
    public function testGetItems(): void
 | 
						|
    {
 | 
						|
        $query = Bootstrap::getObjectManager()
 | 
						|
            ->create(Query::class, ['data' => ['query_text' => 'frshe arugul salat']]);
 | 
						|
        $queryResults = $this->suggestedQueries->getItems($query);
 | 
						|
        $queryTexts = [];
 | 
						|
        foreach ($queryResults as $queryResult) {
 | 
						|
            $queryTexts[] = $queryResult->getQueryText();
 | 
						|
        }
 | 
						|
        self::assertCount(7, $queryTexts);
 | 
						|
        self::assertEquals('fresh arugula salad', $queryTexts[0]);
 | 
						|
    }
 | 
						|
}
 |