Skip to content

Commit f1bc0cb

Browse files
committed
Add Embedder tests
1 parent 2fbca6f commit f1bc0cb

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

tests/Settings/EmbeddersTest.php

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Tests\Settings;
6+
7+
use Meilisearch\Endpoints\Indexes;
8+
use Meilisearch\Http\Client;
9+
use Tests\TestCase;
10+
11+
final class EmbeddersTest extends TestCase
12+
{
13+
private Indexes $index;
14+
15+
public const DEFAULT_EMBEDDER = null;
16+
17+
protected function setUp(): void
18+
{
19+
parent::setUp();
20+
$http = new Client($this->host, getenv('MEILISEARCH_API_KEY'));
21+
$http->patch('/experimental-features', ['vectorStore' => true]);
22+
$this->index = $this->createEmptyIndex($this->safeIndexName());
23+
}
24+
25+
public function testGetDefaultEmbedders(): void
26+
{
27+
$response = $this->index->getEmbedders();
28+
29+
self::assertSame(self::DEFAULT_EMBEDDER, $response);
30+
}
31+
32+
public function testUpdateEmbedders(): void
33+
{
34+
$newEmbedders = ['manual' => ['source' => 'userProvided', 'dimensions' => 3, 'binaryQuantized' => true]];
35+
36+
$promise = $this->index->updateEmbedders($newEmbedders);
37+
38+
$this->assertIsValidPromise($promise);
39+
$this->index->waitForTask($promise['taskUid']);
40+
41+
$embedders = $this->index->getEmbedders();
42+
43+
self::assertSame($newEmbedders, $embedders);
44+
}
45+
46+
public function testResetEmbedders(): void
47+
{
48+
$promise = $this->index->resetEmbedders();
49+
50+
$this->assertIsValidPromise($promise);
51+
52+
$this->index->waitForTask($promise['taskUid']);
53+
$embedders = $this->index->getEmbedders();
54+
55+
self::assertSame(self::DEFAULT_EMBEDDER, $embedders);
56+
}
57+
}

0 commit comments

Comments
 (0)