AttributesForFacetingTest.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. declare(strict_types=1);
  3. namespace Tests\Settings;
  4. use Tests\TestCase;
  5. final class AttributesForFacetingTest extends TestCase
  6. {
  7. public function testGetDefaultAttributesForFaceting(): void
  8. {
  9. $index = $this->client->createIndex('index');
  10. $attributes = $index->getAttributesForFaceting();
  11. $this->assertIsArray($attributes);
  12. $this->assertEmpty($attributes);
  13. }
  14. public function testUpdateAttributesForFaceting(): void
  15. {
  16. $newAttributes = ['title'];
  17. $index = $this->client->createIndex('index');
  18. $promise = $index->updateAttributesForFaceting($newAttributes);
  19. $this->assertIsValidPromise($promise);
  20. $index->waitForPendingUpdate($promise['updateId']);
  21. $attributesForFaceting = $index->getAttributesForFaceting();
  22. $this->assertIsArray($attributesForFaceting);
  23. $this->assertEquals($newAttributes, $attributesForFaceting);
  24. }
  25. public function testResetAttributesForFaceting(): void
  26. {
  27. $index = $this->client->createIndex('index');
  28. $newAttributes = ['title'];
  29. $promise = $index->updateAttributesForFaceting($newAttributes);
  30. $index->waitForPendingUpdate($promise['updateId']);
  31. $promise = $index->resetAttributesForFaceting();
  32. $this->assertIsValidPromise($promise);
  33. $index->waitForPendingUpdate($promise['updateId']);
  34. $attributesForFaceting = $index->getAttributesForFaceting();
  35. $this->assertIsArray($attributesForFaceting);
  36. $this->assertEmpty($attributesForFaceting);
  37. }
  38. }