Skip to content

Commit 214f113

Browse files
committed
Filter tests
1 parent ccb62c0 commit 214f113

File tree

3 files changed

+61
-40
lines changed

3 files changed

+61
-40
lines changed

tests/unit/Validator/DocumentQueriesTest.php

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -80,25 +80,25 @@ public function testValidQueries(): void
8080
$this->assertEquals(true, $validator->isValid($queries));
8181
}
8282

83-
/**
84-
* @throws Exception
85-
*/
86-
public function testInvalidQueries(): void
87-
{
88-
$validator = new DocumentsValidator(
89-
$this->context,
90-
Database::VAR_INTEGER
91-
);
92-
93-
$queries = [
94-
Query::limit(1)
95-
];
96-
97-
/**
98-
* Remove this tests
99-
* Think what to do about this? originally we had DocumentValidator which only allow select queires
100-
* Added tests this test to check it out testGetDocumentOnlySelectQueries
101-
*/
102-
//$this->assertEquals(false, $validator->isValid($queries));
103-
}
83+
// /**
84+
// * @throws Exception
85+
// */
86+
// public function testInvalidQueries(): void
87+
// {
88+
// $validator = new DocumentsValidator(
89+
// $this->context,
90+
// Database::VAR_INTEGER
91+
// );
92+
//
93+
// $queries = [
94+
// Query::limit(1)
95+
// ];
96+
//
97+
// /**
98+
// * Remove this tests
99+
// * Think what to do about this? originally we had DocumentValidator which only allow select queires
100+
// * Added tests this test to check it out testGetDocumentOnlySelectQueries
101+
// */
102+
// //$this->assertEquals(false, $validator->isValid($queries));
103+
// }
104104
}

tests/unit/Validator/IndexedQueriesTest.php

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Tests\Unit\Validator;
44

55
use PHPUnit\Framework\TestCase;
6+
use Swoole\FastCGI\Record\Data;
67
use Utopia\Database\Database;
78
use Utopia\Database\Document;
89
use Utopia\Database\Exception;
@@ -40,7 +41,10 @@ public function testEmptyQueries(): void
4041
$context = new QueryContext();
4142
$context->add($this->collection);
4243

43-
$validator = new DocumentsValidator($context);
44+
$validator = new DocumentsValidator(
45+
$context,
46+
Database::VAR_INTEGER
47+
);
4448

4549
$this->assertEquals(true, $validator->isValid([]));
4650
}
@@ -50,7 +54,10 @@ public function testInvalidQuery(): void
5054
$context = new QueryContext();
5155
$context->add($this->collection);
5256

53-
$validator = new DocumentsValidator($context);
57+
$validator = new DocumentsValidator(
58+
$context,
59+
Database::VAR_INTEGER
60+
);
5461

5562
$this->assertEquals(false, $validator->isValid(["this.is.invalid"]));
5663
}
@@ -60,7 +67,10 @@ public function testInvalidMethod(): void
6067
$context = new QueryContext();
6168
$context->add($this->collection);
6269

63-
$validator = new DocumentsValidator($context);
70+
$validator = new DocumentsValidator(
71+
$context,
72+
Database::VAR_INTEGER
73+
);
6474

6575
$this->assertEquals(false, $validator->isValid(['equal("attr", "value")']));
6676
}
@@ -70,7 +80,10 @@ public function testInvalidValue(): void
7080
$context = new QueryContext();
7181
$context->add($this->collection);
7282

73-
$validator = new DocumentsValidator($context);
83+
$validator = new DocumentsValidator(
84+
$context,
85+
Database::VAR_INTEGER
86+
);
7487

7588
$this->assertEquals(false, $validator->isValid(['limit(-1)']));
7689
}
@@ -162,10 +175,12 @@ public function testMissingIndex(): void
162175
]);
163176

164177
$context = new QueryContext();
165-
166178
$context->add($this->collection);
167179

168-
$validator = new DocumentsValidator($context);
180+
$validator = new DocumentsValidator(
181+
$context,
182+
Database::VAR_INTEGER
183+
);
169184

170185
$query = Query::equal('dne', ['value']);
171186
$this->assertEquals(false, $validator->isValid([$query]));
@@ -211,10 +226,12 @@ public function testTwoAttributesFulltext(): void
211226
]);
212227

213228
$context = new QueryContext();
214-
215229
$context->add($this->collection);
216230

217-
$validator = new DocumentsValidator($context);
231+
$validator = new DocumentsValidator(
232+
$context,
233+
Database::VAR_INTEGER
234+
);
218235

219236
$this->assertEquals(false, $validator->isValid([Query::search('ft1', 'value')]));
220237
}

tests/unit/Validator/Query/FilterTest.php

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
class FilterTest extends TestCase
1313
{
1414
protected DocumentsValidator $validator;
15+
protected int $maxValuesCount = 10;
1516

1617
/**
1718
* @throws \Utopia\Database\Exception
@@ -54,10 +55,13 @@ public function setUp(): void
5455
]);
5556

5657
$context = new QueryContext();
57-
5858
$context->add($collection);
5959

60-
$this->validator = new DocumentsValidator($context);
60+
$this->validator = new DocumentsValidator(
61+
$context,
62+
Database::VAR_INTEGER,
63+
maxValuesCount: $this->maxValuesCount
64+
);
6165
}
6266

6367
public function testSuccess(): void
@@ -122,39 +126,39 @@ public function testEmptyValues(): void
122126

123127
public function testMaxValuesCount(): void
124128
{
125-
$max = $this->validator->getMaxValuesCount();
129+
$max = $this->maxValuesCount;
126130
$values = [];
127131
for ($i = 1; $i <= $max + 1; $i++) {
128132
$values[] = $i;
129133
}
130134

131-
$this->assertFalse($this->validator->isValid(Query::equal('integer', $values)));
135+
$this->assertFalse($this->validator->isValid([Query::equal('integer', $values)]));
132136
$this->assertEquals('Query on attribute has greater than '.$max.' values: integer', $this->validator->getDescription());
133137
}
134138

135139
public function testNotContains(): void
136140
{
137141
// Test valid notContains queries
138-
$this->assertTrue($this->validator->isValid(Query::notContains('string', ['unwanted'])));
139-
$this->assertTrue($this->validator->isValid(Query::notContains('string_array', ['spam', 'unwanted'])));
140-
$this->assertTrue($this->validator->isValid(Query::notContains('integer_array', [100, 200])));
142+
$this->assertTrue($this->validator->isValid([Query::notContains('string', ['unwanted'])]));
143+
$this->assertTrue($this->validator->isValid([Query::notContains('string_array', ['spam', 'unwanted'])]));
144+
$this->assertTrue($this->validator->isValid([Query::notContains('integer_array', [100, 200])]));
141145

142146
// Test invalid notContains queries (empty values)
143-
$this->assertFalse($this->validator->isValid(Query::notContains('string', [])));
147+
$this->assertFalse($this->validator->isValid([Query::notContains('string', [])]));
144148
$this->assertEquals('NotContains queries require at least one value.', $this->validator->getDescription());
145149
}
146150

147151
public function testNotSearch(): void
148152
{
149153
// Test valid notSearch queries
150-
$this->assertTrue($this->validator->isValid(Query::notSearch('string', 'unwanted')));
154+
$this->assertTrue($this->validator->isValid([Query::notSearch('string', 'unwanted')]));
151155

152156
// Test that arrays cannot use notSearch
153-
$this->assertFalse($this->validator->isValid(Query::notSearch('string_array', 'unwanted')));
157+
$this->assertFalse($this->validator->isValid([Query::notSearch('string_array', 'unwanted')]));
154158
$this->assertEquals('Cannot query notSearch on attribute "string_array" because it is an array.', $this->validator->getDescription());
155159

156160
// Test multiple values not allowed
157-
$this->assertFalse($this->validator->isValid(new Query(Query::TYPE_NOT_SEARCH, 'string', ['word1', 'word2'])));
161+
$this->assertFalse($this->validator->isValid([new Query(Query::TYPE_NOT_SEARCH, 'string', ['word1', 'word2'])]));
158162
$this->assertEquals('NotSearch queries require exactly one value.', $this->validator->getDescription());
159163
}
160164

0 commit comments

Comments
 (0)