SynonymsTest.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. declare(strict_types=1);
  3. namespace Tests\Settings;
  4. use Tests\TestCase;
  5. final class SynonymsTest extends TestCase
  6. {
  7. private $index;
  8. protected function setUp(): void
  9. {
  10. parent::setUp();
  11. $this->index = $this->client->createIndex('index');
  12. }
  13. public function testGetDefaultSynonyms(): void
  14. {
  15. $response = $this->index->getSynonyms();
  16. $this->assertIsArray($response);
  17. $this->assertEmpty($response);
  18. }
  19. public function testUpdateSynonyms(): void
  20. {
  21. $newSynonyms = [
  22. 'hp' => ['harry potter'],
  23. ];
  24. $promise = $this->index->updateSynonyms($newSynonyms);
  25. $this->assertIsValidPromise($promise);
  26. $this->index->waitForPendingUpdate($promise['updateId']);
  27. $synonyms = $this->index->getSynonyms();
  28. $this->assertIsArray($synonyms);
  29. $this->assertEquals($newSynonyms, $synonyms);
  30. }
  31. public function testResetSynonyms(): void
  32. {
  33. $promise = $this->index->updateSynonyms([
  34. 'hp' => ['harry potter'],
  35. ]);
  36. $this->index->waitForPendingUpdate($promise['updateId']);
  37. $promise = $this->index->resetSynonyms();
  38. $this->assertIsValidPromise($promise);
  39. $this->index->waitForPendingUpdate($promise['updateId']);
  40. $synonyms = $this->index->getSynonyms();
  41. $this->assertIsArray($synonyms);
  42. $this->assertEmpty($synonyms);
  43. }
  44. }