fix tests implementing AbstractFilterTest

This commit is contained in:
2023-09-01 13:51:02 +02:00
parent f8f04c69d0
commit a197a6b418
56 changed files with 447 additions and 373 deletions

View File

@@ -23,8 +23,6 @@ use function is_string;
/**
* Helper to test filters.
*
* @internal
*/
abstract class AbstractFilterTest extends KernelTestCase
{
@@ -50,18 +48,45 @@ abstract class AbstractFilterTest extends KernelTestCase
*/
public function dataProviderAliasDidNotDisappears()
{
$datas = $this->getFormData();
foreach ($this->getQueryBuilders() as $qb) {
foreach ($this->getFormData() as $data) {
yield [clone $qb, $data];
if ([] === $datas) {
yield [clone $qb, []];
} else {
foreach ($datas as $data) {
yield [clone $qb, $data];
}
}
}
}
public function dataProviderAlterQuery()
{
$datas = $this->getFormData();
foreach ($this->getQueryBuilders() as $qb) {
foreach ($this->getFormData() as $data) {
yield [$qb, $data];
if ([] === $datas) {
yield [clone $qb, []];
} else {
foreach ($datas as $data) {
yield [clone $qb, $data];
}
}
}
}
public function dataProvideQueryExecution(): iterable
{
$datas = $this->getFormData();
foreach ($this->getQueryBuilders() as $qb) {
if ([] === $datas) {
yield [clone $qb, []];
} else {
foreach ($datas as $data) {
yield [clone $qb, $data];
}
}
}
}
@@ -108,10 +133,8 @@ abstract class AbstractFilterTest extends KernelTestCase
* Compare aliases array before and after that filter alter query.
*
* @dataProvider dataProviderAliasDidNotDisappears
*
* @return void
*/
public function testAliasDidNotDisappears(QueryBuilder $qb, array $data)
public function testAliasDidNotDisappears(QueryBuilder $qb, array $data): void
{
$aliases = $qb->getAllAliases();
@@ -131,9 +154,8 @@ abstract class AbstractFilterTest extends KernelTestCase
*
* @dataProvider dataProviderAlterQuery
*
* @param type $data
*/
public function testAlterQuery(QueryBuilder $query, $data)
public function testAlterQuery(QueryBuilder $query, array $data)
{
// retains informations about query
$nbOfFrom = $query->getDQLPart('from') !== null ?
@@ -164,6 +186,18 @@ abstract class AbstractFilterTest extends KernelTestCase
);
}
/**
* @dataProvider dataProvideQueryExecution
*/
public function testQueryExecution(QueryBuilder $qb, mixed $data): void
{
$this->getFilter()->alterQuery($qb, $data);
$actual = $qb->getQuery()->getResult();
self::assertIsArray($actual);
}
public function testApplyOn()
{
$filter = $this->getFilter();