2022-08-23 07:12:30 +12:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Tests\Unit\Utopia\Database\Validator\Queries;
|
|
|
|
|
2022-08-24 03:01:57 +12:00
|
|
|
use Appwrite\Utopia\Database\Validator\Queries\Base;
|
2022-08-23 07:12:30 +12:00
|
|
|
use PHPUnit\Framework\TestCase;
|
2024-01-09 15:21:43 +13:00
|
|
|
use Utopia\Database\Document;
|
|
|
|
use Utopia\Database\Query;
|
2022-08-23 07:12:30 +12:00
|
|
|
|
|
|
|
class CollectionTest extends TestCase
|
|
|
|
{
|
|
|
|
public function setUp(): void
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
public function tearDown(): void
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testEmptyQueries(): void
|
|
|
|
{
|
2022-08-24 03:01:57 +12:00
|
|
|
$validator = new Base('users', []);
|
2022-08-23 07:12:30 +12:00
|
|
|
|
|
|
|
$this->assertEquals($validator->isValid([]), true);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testValid(): void
|
|
|
|
{
|
2022-08-24 03:01:57 +12:00
|
|
|
$validator = new Base('users', ['name', 'search']);
|
2024-01-09 15:21:43 +13:00
|
|
|
$this->assertEquals(true, $validator->isValid([Query::cursorAfter(new Document(['$id' => 'asdf']))]), $validator->getDescription());
|
|
|
|
$this->assertEquals(true, $validator->isValid([Query::equal('name', ['value'])]), $validator->getDescription());
|
|
|
|
$this->assertEquals(true, $validator->isValid([Query::limit(10)]), $validator->getDescription());
|
|
|
|
$this->assertEquals(true, $validator->isValid([Query::offset(10)]), $validator->getDescription());
|
|
|
|
$this->assertEquals(true, $validator->isValid([Query::orderAsc('name')]), $validator->getDescription());
|
2022-08-23 07:12:30 +12:00
|
|
|
}
|
|
|
|
|
|
|
|
public function testMissingIndex(): void
|
|
|
|
{
|
2022-08-24 03:01:57 +12:00
|
|
|
$validator = new Base('users', ['name']);
|
2024-01-09 15:21:43 +13:00
|
|
|
$this->assertEquals(false, $validator->isValid([Query::equal('dne', ['value'])]), $validator->getDescription());
|
|
|
|
$this->assertEquals(false, $validator->isValid([Query::orderAsc('dne')]), $validator->getDescription());
|
2022-08-23 07:12:30 +12:00
|
|
|
}
|
|
|
|
}
|