Skip to content

Commit 2138409

Browse files
committed
linter
1 parent a582d06 commit 2138409

1 file changed

Lines changed: 79 additions & 80 deletions

File tree

tests/MongoTest.php

Lines changed: 79 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -267,86 +267,85 @@ public function testCountMethod()
267267
$collectionName = 'count_test';
268268
$this->getDatabase()->createCollection($collectionName);
269269
try {
270-
$documents = [];
271-
for ($i = 1; $i <= 30; $i++) {
272-
$documents[] = [
273-
'name' => "Document {$i}",
274-
'number' => $i,
275-
'category' => 'test',
276-
'created_at' => new \DateTime()
277-
];
278-
}
279-
280-
$this->getDatabase()->insertMany($collectionName, $documents);
281-
282-
$total = $this->getDatabase()->count($collectionName, [], []);
283-
self::assertEquals(30, $total);
284-
285-
// Test count with filter (should be 1 for each specific number)
286-
$total = $this->getDatabase()->count($collectionName, ['number' => 15], []);
287-
self::assertEquals(1, $total);
288-
289-
// Test count with range filter (should be 10 for numbers 1-10)
290-
$total = $this->getDatabase()->count($collectionName, ['number' => ['$lte' => 10]], []);
291-
self::assertEquals(10, $total);
292-
293-
// Test count with limit (should be 5 for first 5 documents)
294-
$total = $this->getDatabase()->count($collectionName, [], ['limit' => 5]);
295-
self::assertEquals(5, $total);
296-
297-
// Test count with filter and limit (should be 3 for first 3 documents with number <= 10)
298-
$total = $this->getDatabase()->count($collectionName, ['number' => ['$lte' => 10]], ['limit' => 3]);
299-
self::assertEquals(3, $total);
300-
301-
302-
// Test count with $or operator and comparison (should be 2 documents with number <= 2 OR number >= 29)
303-
$total = $this->getDatabase()->count($collectionName, ['$or' => [['number' => ['$lte' => 2]], ['number' => ['$gte' => 29]]]], []);
304-
self::assertEquals(4, $total);
305-
306-
// Test aggregation count - total documents
307-
$aggregationResult = $this->getDatabase()->aggregate($collectionName, [
308-
['$count' => 'total']
309-
]);
310-
self::assertEquals(30, $aggregationResult->cursor->firstBatch[0]->total);
311-
312-
// Test aggregation count with filter
313-
$filteredAggregationResult = $this->getDatabase()->aggregate($collectionName, [
314-
['$match' => ['number' => ['$lte' => 10]]],
315-
['$count' => 'total']
316-
]);
317-
self::assertEquals(10, $filteredAggregationResult->cursor->firstBatch[0]->total);
318-
319-
// Test aggregation count with limit
320-
$limitedAggregationResult = $this->getDatabase()->aggregate($collectionName, [
321-
['$limit' => 7],
322-
['$count' => 'total']
323-
]);
324-
self::assertEquals(7, $limitedAggregationResult->cursor->firstBatch[0]->total);
325-
326-
// Test aggregation count with group by
327-
$groupedAggregationResult = $this->getDatabase()->aggregate($collectionName, [
328-
['$group' => [
329-
'_id' => '$category', // Group by category
330-
'count' => ['$sum' => 1] // Count of documents in the group
331-
]]
332-
]);
333-
self::assertEquals(30, $groupedAggregationResult->cursor->firstBatch[0]->count);
334-
self::assertEquals('test', $groupedAggregationResult->cursor->firstBatch[0]->_id);
335-
336-
// Test aggregation count with $or operator
337-
$orAggregationResult = $this->getDatabase()->aggregate($collectionName, [
338-
['$match' => ['$or' => [['number' => 5], ['number' => 15], ['number' => 25]]]],
339-
['$count' => 'total']
340-
]);
341-
self::assertEquals(3, $orAggregationResult->cursor->firstBatch[0]->total);
342-
343-
// Test aggregation count with complex $or and range
344-
$complexOrAggregationResult = $this->getDatabase()->aggregate($collectionName, [
345-
['$match' => ['$or' => [['number' => ['$lte' => 3]], ['number' => ['$gte' => 28]]]]],
346-
['$count' => 'total']
347-
]);
348-
self::assertEquals(6, $complexOrAggregationResult->cursor->firstBatch[0]->total);
349-
270+
$documents = [];
271+
for ($i = 1; $i <= 30; $i++) {
272+
$documents[] = [
273+
'name' => "Document {$i}",
274+
'number' => $i,
275+
'category' => 'test',
276+
'created_at' => new \DateTime()
277+
];
278+
}
279+
280+
$this->getDatabase()->insertMany($collectionName, $documents);
281+
282+
$total = $this->getDatabase()->count($collectionName, [], []);
283+
self::assertEquals(30, $total);
284+
285+
// Test count with filter (should be 1 for each specific number)
286+
$total = $this->getDatabase()->count($collectionName, ['number' => 15], []);
287+
self::assertEquals(1, $total);
288+
289+
// Test count with range filter (should be 10 for numbers 1-10)
290+
$total = $this->getDatabase()->count($collectionName, ['number' => ['$lte' => 10]], []);
291+
self::assertEquals(10, $total);
292+
293+
// Test count with limit (should be 5 for first 5 documents)
294+
$total = $this->getDatabase()->count($collectionName, [], ['limit' => 5]);
295+
self::assertEquals(5, $total);
296+
297+
// Test count with filter and limit (should be 3 for first 3 documents with number <= 10)
298+
$total = $this->getDatabase()->count($collectionName, ['number' => ['$lte' => 10]], ['limit' => 3]);
299+
self::assertEquals(3, $total);
300+
301+
302+
// Test count with $or operator and comparison (should be 2 documents with number <= 2 OR number >= 29)
303+
$total = $this->getDatabase()->count($collectionName, ['$or' => [['number' => ['$lte' => 2]], ['number' => ['$gte' => 29]]]], []);
304+
self::assertEquals(4, $total);
305+
306+
// Test aggregation count - total documents
307+
$aggregationResult = $this->getDatabase()->aggregate($collectionName, [
308+
['$count' => 'total']
309+
]);
310+
self::assertEquals(30, $aggregationResult->cursor->firstBatch[0]->total);
311+
312+
// Test aggregation count with filter
313+
$filteredAggregationResult = $this->getDatabase()->aggregate($collectionName, [
314+
['$match' => ['number' => ['$lte' => 10]]],
315+
['$count' => 'total']
316+
]);
317+
self::assertEquals(10, $filteredAggregationResult->cursor->firstBatch[0]->total);
318+
319+
// Test aggregation count with limit
320+
$limitedAggregationResult = $this->getDatabase()->aggregate($collectionName, [
321+
['$limit' => 7],
322+
['$count' => 'total']
323+
]);
324+
self::assertEquals(7, $limitedAggregationResult->cursor->firstBatch[0]->total);
325+
326+
// Test aggregation count with group by
327+
$groupedAggregationResult = $this->getDatabase()->aggregate($collectionName, [
328+
['$group' => [
329+
'_id' => '$category', // Group by category
330+
'count' => ['$sum' => 1] // Count of documents in the group
331+
]]
332+
]);
333+
self::assertEquals(30, $groupedAggregationResult->cursor->firstBatch[0]->count);
334+
self::assertEquals('test', $groupedAggregationResult->cursor->firstBatch[0]->_id);
335+
336+
// Test aggregation count with $or operator
337+
$orAggregationResult = $this->getDatabase()->aggregate($collectionName, [
338+
['$match' => ['$or' => [['number' => 5], ['number' => 15], ['number' => 25]]]],
339+
['$count' => 'total']
340+
]);
341+
self::assertEquals(3, $orAggregationResult->cursor->firstBatch[0]->total);
342+
343+
// Test aggregation count with complex $or and range
344+
$complexOrAggregationResult = $this->getDatabase()->aggregate($collectionName, [
345+
['$match' => ['$or' => [['number' => ['$lte' => 3]], ['number' => ['$gte' => 28]]]]],
346+
['$count' => 'total']
347+
]);
348+
self::assertEquals(6, $complexOrAggregationResult->cursor->firstBatch[0]->total);
350349
} finally {
351350
$this->getDatabase()->dropCollection($collectionName);
352351
}

0 commit comments

Comments
 (0)