SynonymReaderTest.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Search\Model;
  7. /**
  8. * @magentoDbIsolation disabled
  9. * @magentoDataFixture Magento/Search/_files/synonym_reader.php
  10. */
  11. class SynonymReaderTest extends \PHPUnit\Framework\TestCase
  12. {
  13. /**
  14. * @var \Magento\Search\Model\SynonymReader
  15. */
  16. private $model;
  17. protected function setUp()
  18. {
  19. $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
  20. $this->model = $objectManager->get(\Magento\Search\Model\SynonymReader::class);
  21. }
  22. /**
  23. * @return array
  24. */
  25. public static function loadByPhraseDataProvider()
  26. {
  27. return [
  28. [
  29. 'ELIZABETH', []
  30. ],
  31. [
  32. 'ENGLISH', [['synonyms' => 'british,english', 'store_id' => 1, 'website_id' => 0]]
  33. ],
  34. [
  35. 'English', [['synonyms' => 'british,english', 'store_id' => 1, 'website_id' => 0]]
  36. ],
  37. [
  38. 'QUEEN', [['synonyms' => 'queen,monarch', 'store_id' => 1, 'website_id' => 0]]
  39. ],
  40. [
  41. 'Monarch', [['synonyms' => 'queen,monarch', 'store_id' => 1, 'website_id' => 0]]
  42. ],
  43. [
  44. 'MONARCH English', [
  45. ['synonyms' => 'queen,monarch', 'store_id' => 1, 'website_id' => 0],
  46. ['synonyms' => 'british,english', 'store_id' => 1, 'website_id' => 0]
  47. ]
  48. ]
  49. ];
  50. }
  51. /**
  52. * @param string $phrase
  53. * @param array $expectedResult
  54. * @dataProvider loadByPhraseDataProvider
  55. */
  56. public function testLoadByPhrase($phrase, $expectedResult)
  57. {
  58. $data = $this->model->loadByPhrase($phrase)->getData();
  59. $i = 0;
  60. foreach ($expectedResult as $r) {
  61. $this->assertEquals($r['synonyms'], $data[$i]['synonyms']);
  62. $this->assertEquals($r['store_id'], $data[$i]['store_id']);
  63. $this->assertEquals($r['website_id'], $data[$i]['website_id']);
  64. ++$i;
  65. }
  66. }
  67. }