Add test to check if QueryBuilder internal parts are the correct instances
This commit is contained in:
parent
76e556350c
commit
e0cf376f6f
1 changed files with 33 additions and 0 deletions
|
|
@ -4,6 +4,7 @@ declare(strict_types=1);
|
|||
|
||||
namespace Tests;
|
||||
|
||||
use Closure;
|
||||
use DateTime;
|
||||
use Exception;
|
||||
use Arendsen\FluxQueryBuilder\Expression\KeyFilter;
|
||||
|
|
@ -190,4 +191,36 @@ final class QueryBuilderTest extends TestCase
|
|||
|
||||
$this->assertEquals($expectedQuery, $queryBuilder->build());
|
||||
}
|
||||
|
||||
public function testCorrectInstancesAreCreated()
|
||||
{
|
||||
$queryBuilder = new QueryBuilder();
|
||||
$queryBuilder->fromBucket('test_bucket')
|
||||
->addRangeStart(new DateTime('2022-08-12 17:31:00'));
|
||||
|
||||
$instances = [
|
||||
\Arendsen\FluxQueryBuilder\Functions\From::class,
|
||||
\Arendsen\FluxQueryBuilder\Functions\Range::class,
|
||||
\Arendsen\FluxQueryBuilder\Functions\Measurement::class,
|
||||
];
|
||||
|
||||
$requiredFluxQueryParts = $this->getClassProperty($queryBuilder, 'requiredFluxQueryParts');
|
||||
|
||||
foreach ($requiredFluxQueryParts as $keyPart => $part) {
|
||||
$this->assertEquals($instances[$keyPart], $part);
|
||||
}
|
||||
}
|
||||
|
||||
private function getClassProperty($object, string $property): array
|
||||
{
|
||||
$propertyReader = function & ($object, $property) {
|
||||
$value = & Closure::bind(function & () use ($property) {
|
||||
return $this->$property;
|
||||
}, $object, $object)->__invoke();
|
||||
|
||||
return $value;
|
||||
};
|
||||
|
||||
return $propertyReader($object, $property);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
editor.link_modal.header
Reference in a new issue