| @@ 40-57 (lines=18) @@ | ||
| 37 | /** |
|
| 38 | * @group functional |
|
| 39 | */ |
|
| 40 | public function testDateRangeAggregation(): void |
|
| 41 | { |
|
| 42 | $agg = new DateRange('date'); |
|
| 43 | $agg->setField('created'); |
|
| 44 | $agg->addRange(1390958535000)->addRange(null, 1390958535000); |
|
| 45 | ||
| 46 | $query = new Query(); |
|
| 47 | $query->addAggregation($agg); |
|
| 48 | $results = $this->_getIndexForTest()->search($query)->getAggregation('date'); |
|
| 49 | ||
| 50 | foreach ($results['buckets'] as $bucket) { |
|
| 51 | if (\array_key_exists('to', $bucket)) { |
|
| 52 | $this->assertEquals(1, $bucket['doc_count']); |
|
| 53 | } elseif (\array_key_exists('from', $bucket)) { |
|
| 54 | $this->assertEquals(2, $bucket['doc_count']); |
|
| 55 | } |
|
| 56 | } |
|
| 57 | } |
|
| 58 | ||
| 59 | /** |
|
| 60 | * @group functional |
|
| @@ 62-80 (lines=19) @@ | ||
| 59 | /** |
|
| 60 | * @group functional |
|
| 61 | */ |
|
| 62 | public function testDateRangeAggregationWithMissing(): void |
|
| 63 | { |
|
| 64 | $agg = new DateRange('date'); |
|
| 65 | $agg->setField('created'); |
|
| 66 | $agg->addRange(1390958535000)->addRange(null, 1390958535000); |
|
| 67 | $agg->setMissing(1390958534000); |
|
| 68 | ||
| 69 | $query = new Query(); |
|
| 70 | $query->addAggregation($agg); |
|
| 71 | $results = $this->_getIndexForTest()->search($query)->getAggregation('date'); |
|
| 72 | ||
| 73 | foreach ($results['buckets'] as $bucket) { |
|
| 74 | if (\array_key_exists('to', $bucket)) { |
|
| 75 | $this->assertEquals(2, $bucket['doc_count']); |
|
| 76 | } elseif (\array_key_exists('from', $bucket)) { |
|
| 77 | $this->assertEquals(2, $bucket['doc_count']); |
|
| 78 | } |
|
| 79 | } |
|
| 80 | } |
|
| 81 | ||
| 82 | /** |
|
| 83 | * @group functional |
|