mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-08-22 15:43:51 +00:00
fix tests implementing AbstractFilterTest
This commit is contained in:
@@ -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();
|
||||
|
Reference in New Issue
Block a user