122 lines
4.2 KiB
PHP
122 lines
4.2 KiB
PHP
<?php
|
|
|
|
//
|
|
//namespace Tests\Unit\Utopia\Database\Validator;
|
|
//
|
|
//use Appwrite\Utopia\Database\Validator\IndexedQueries;
|
|
//use Appwrite\Utopia\Database\Validator\Query\Cursor;
|
|
//use Appwrite\Utopia\Database\Validator\Query\Filter;
|
|
//use Appwrite\Utopia\Database\Validator\Query\Limit;
|
|
//use Appwrite\Utopia\Database\Validator\Query\Offset;
|
|
//use Appwrite\Utopia\Database\Validator\Query\Order;
|
|
//use PHPUnit\Framework\TestCase;
|
|
//use Utopia\Database\Database;
|
|
//use Utopia\Database\Document;
|
|
//
|
|
//class IndexedQueriesTest extends TestCase
|
|
//{
|
|
// public function setUp(): void
|
|
// {
|
|
// }
|
|
//
|
|
// public function tearDown(): void
|
|
// {
|
|
// }
|
|
//
|
|
// public function testEmptyQueries(): void
|
|
// {
|
|
// $validator = new IndexedQueries();
|
|
//
|
|
// $this->assertEquals(true, $validator->isValid([]));
|
|
// }
|
|
//
|
|
// public function testInvalidQuery(): void
|
|
// {
|
|
// $validator = new IndexedQueries();
|
|
//
|
|
// $this->assertEquals(false, $validator->isValid(["this.is.invalid"]));
|
|
// }
|
|
//
|
|
// public function testInvalidMethod(): void
|
|
// {
|
|
// $validator = new IndexedQueries();
|
|
// $this->assertEquals(false, $validator->isValid(['equal("attr", "value")']));
|
|
//
|
|
// $validator = new IndexedQueries([], [], new Limit());
|
|
// $this->assertEquals(false, $validator->isValid(['equal("attr", "value")']));
|
|
// }
|
|
//
|
|
// public function testInvalidValue(): void
|
|
// {
|
|
// $validator = new IndexedQueries([], [], new Limit());
|
|
// $this->assertEquals(false, $validator->isValid(['limit(-1)']));
|
|
// }
|
|
//
|
|
// public function testValid(): void
|
|
// {
|
|
// $attributes = [
|
|
// new Document([
|
|
// 'key' => 'name',
|
|
// 'type' => Database::VAR_STRING,
|
|
// 'array' => false,
|
|
// ]),
|
|
// ];
|
|
// $indexes = [
|
|
// new Document([
|
|
// 'status' => 'available',
|
|
// 'type' => Database::INDEX_KEY,
|
|
// 'attributes' => ['name'],
|
|
// ]),
|
|
// new Document([
|
|
// 'status' => 'available',
|
|
// 'type' => Database::INDEX_FULLTEXT,
|
|
// 'attributes' => ['name'],
|
|
// ]),
|
|
// ];
|
|
// $validator = new IndexedQueries(
|
|
// $attributes,
|
|
// $indexes,
|
|
// new Cursor(),
|
|
// new Filter($attributes),
|
|
// new Limit(),
|
|
// new Offset(),
|
|
// new Order($attributes),
|
|
// );
|
|
// $this->assertEquals(true, $validator->isValid(['cursorAfter("asdf")']), $validator->getDescription());
|
|
// $this->assertEquals(true, $validator->isValid(['equal("name", "value")']), $validator->getDescription());
|
|
// $this->assertEquals(true, $validator->isValid(['limit(10)']), $validator->getDescription());
|
|
// $this->assertEquals(true, $validator->isValid(['offset(10)']), $validator->getDescription());
|
|
// $this->assertEquals(true, $validator->isValid(['orderAsc("name")']), $validator->getDescription());
|
|
// $this->assertEquals(true, $validator->isValid(['search("name", "value")']), $validator->getDescription());
|
|
// }
|
|
//
|
|
// public function testMissingIndex(): void
|
|
// {
|
|
// $attributes = [
|
|
// new Document([
|
|
// 'key' => 'name',
|
|
// 'type' => Database::VAR_STRING,
|
|
// 'array' => false,
|
|
// ]),
|
|
// ];
|
|
// $indexes = [
|
|
// new Document([
|
|
// 'status' => 'available',
|
|
// 'type' => Database::INDEX_KEY,
|
|
// 'attributes' => ['name'],
|
|
// ]),
|
|
// ];
|
|
// $validator = new IndexedQueries(
|
|
// $attributes,
|
|
// $indexes,
|
|
// new Cursor(),
|
|
// new Filter($attributes),
|
|
// new Limit(),
|
|
// new Offset(),
|
|
// new Order($attributes),
|
|
// );
|
|
// $this->assertEquals(false, $validator->isValid(['equal("dne", "value")']), $validator->getDescription());
|
|
// $this->assertEquals(false, $validator->isValid(['orderAsc("dne")']), $validator->getDescription());
|
|
// $this->assertEquals(false, $validator->isValid(['search("name", "value")']), $validator->getDescription());
|
|
// }
|
|
//}
|