DistinctAttributeTest.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. declare(strict_types=1);
  3. namespace Tests\Settings;
  4. use Tests\TestCase;
  5. final class DistinctAttributeTest 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 testGetDefaultDistinctAttribute(): void
  14. {
  15. $response = $this->index->getDistinctAttribute();
  16. $this->assertNull($response);
  17. }
  18. public function testUpdateDistinctAttribute(): void
  19. {
  20. $distinctAttribute = 'description';
  21. $promise = $this->index->updateDistinctAttribute($distinctAttribute);
  22. $this->assertIsValidPromise($promise);
  23. $this->index->waitForPendingUpdate($promise['updateId']);
  24. $this->assertEquals($distinctAttribute, $this->index->getDistinctAttribute());
  25. }
  26. public function testResetDistinctAttribute(): void
  27. {
  28. $distinctAttribute = 'description';
  29. $promise = $this->index->updateDistinctAttribute($distinctAttribute);
  30. $this->index->waitForPendingUpdate($promise['updateId']);
  31. $promise = $this->index->resetDistinctAttribute();
  32. $this->assertIsValidPromise($promise);
  33. $this->index->waitForPendingUpdate($promise['updateId']);
  34. $this->assertNull($this->index->getDistinctAttribute());
  35. }
  36. }