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

@@ -37,8 +37,11 @@ use function count;
class PersonHavingActivityBetweenDateFilter implements ExportElementValidatedInterface, FilterInterface
{
public function __construct(protected TranslatableStringHelper $translatableStringHelper, protected ActivityReasonRepository $activityReasonRepository, protected TranslatorInterface $translator)
{
public function __construct(
protected TranslatableStringHelper $translatableStringHelper,
protected ActivityReasonRepository $activityReasonRepository,
protected TranslatorInterface $translator
) {
}
public function addRole(): ?string

View File

@@ -41,6 +41,7 @@ final class ActivityTypeFilterTest extends AbstractFilterTest
public function getFormData(): array
{
self::bootKernel();
$em = self::$container->get(EntityManagerInterface::class);
$array = $em->createQueryBuilder()
@@ -62,9 +63,7 @@ final class ActivityTypeFilterTest extends AbstractFilterTest
public function getQueryBuilders(): array
{
if (null === self::$kernel) {
self::bootKernel();
}
self::bootKernel();
$em = self::$container->get(EntityManagerInterface::class);

View File

@@ -13,6 +13,7 @@ namespace Chill\ActivityBundle\Tests\Export\Filter\ACPFilters;
use Chill\ActivityBundle\Entity\Activity;
use Chill\ActivityBundle\Export\Filter\ACPFilters\ByCreatorFilter;
use Chill\ActivityBundle\Export\Filter\ACPFilters\UserFilter;
use Chill\MainBundle\Entity\User;
use Chill\MainBundle\Test\Export\AbstractFilterTest;
use Doctrine\ORM\EntityManagerInterface;
@@ -21,7 +22,7 @@ use Doctrine\ORM\EntityManagerInterface;
* @internal
* @coversNothing
*/
final class ByUserFilterTest extends AbstractFilterTest
final class ByCreatorFilterTest extends AbstractFilterTest
{
private ByCreatorFilter $filter;
@@ -29,7 +30,7 @@ final class ByUserFilterTest extends AbstractFilterTest
{
self::bootKernel();
$this->filter = self::$container->get('chill.activity.export.byuser_filter');
$this->filter = self::$container->get(ByCreatorFilter::class);
}
public function getFilter()
@@ -39,12 +40,14 @@ final class ByUserFilterTest extends AbstractFilterTest
public function getFormData(): array
{
self::bootKernel();
$em = self::$container->get(EntityManagerInterface::class);
$array = $em->createQueryBuilder()
->from(User::class, 'u')
->select('u')
->getQuery()
->setMaxResults(2)
->getResult();
$data = [];
@@ -60,9 +63,7 @@ final class ByUserFilterTest extends AbstractFilterTest
public function getQueryBuilders(): array
{
if (null === self::$kernel) {
self::bootKernel();
}
self::bootKernel();
$em = self::$container->get(EntityManagerInterface::class);

View File

@@ -15,6 +15,7 @@ use Chill\ActivityBundle\Entity\Activity;
use Chill\ActivityBundle\Export\Filter\ACPFilters\BySocialActionFilter;
use Chill\MainBundle\Test\Export\AbstractFilterTest;
use Chill\PersonBundle\Entity\SocialWork\SocialAction;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\EntityManagerInterface;
/**
@@ -39,19 +40,22 @@ final class BySocialActionFilterTest extends AbstractFilterTest
public function getFormData(): array
{
self::bootKernel();
$em = self::$container->get(EntityManagerInterface::class);
$array = $em->createQueryBuilder()
->from(SocialAction::class, 'sa')
->select('sa')
->getQuery()
->setMaxResults(4)
->getResult();
$data = [];
foreach ($array as $a) {
$data[] = [
'accepted_socialactions' => $a,
'accepted_socialactions' => new ArrayCollection([$a]),
];
}
@@ -60,9 +64,7 @@ final class BySocialActionFilterTest extends AbstractFilterTest
public function getQueryBuilders(): array
{
if (null === self::$kernel) {
self::bootKernel();
}
self::bootKernel();
$em = self::$container->get(EntityManagerInterface::class);

View File

@@ -46,9 +46,7 @@ final class EmergencyFilterTest extends AbstractFilterTest
public function getQueryBuilders(): array
{
if (null === self::$kernel) {
self::bootKernel();
}
self::bootKernel();
$em = self::$container->get(EntityManagerInterface::class);

View File

@@ -39,12 +39,14 @@ final class LocationTypeFilterTest extends AbstractFilterTest
public function getFormData(): array
{
self::bootKernel();
$em = self::$container->get(EntityManagerInterface::class);
$array = $em->createQueryBuilder()
->from(LocationType::class, 'lt')
->select('lt')
->getQuery()
->setMaxResults(1)
->getResult();
$data = [];
@@ -60,9 +62,7 @@ final class LocationTypeFilterTest extends AbstractFilterTest
public function getQueryBuilders(): array
{
if (null === self::$kernel) {
self::bootKernel();
}
self::bootKernel();
$em = self::$container->get(EntityManagerInterface::class);

View File

@@ -46,9 +46,7 @@ final class SentReceivedFilterTest extends AbstractFilterTest
public function getQueryBuilders(): array
{
if (null === self::$kernel) {
self::bootKernel();
}
self::bootKernel();
$em = self::$container->get(EntityManagerInterface::class);

View File

@@ -39,12 +39,14 @@ final class UserFilterTest extends AbstractFilterTest
public function getFormData(): array
{
self::bootKernel();
$em = self::$container->get(EntityManagerInterface::class);
$array = $em->createQueryBuilder()
->from(User::class, 'u')
->select('u')
->getQuery()
->setMaxResults(1)
->getResult();
$data = [];
@@ -60,9 +62,7 @@ final class UserFilterTest extends AbstractFilterTest
public function getQueryBuilders(): array
{
if (null === self::$kernel) {
self::bootKernel();
}
self::bootKernel();
$em = self::$container->get(EntityManagerInterface::class);

View File

@@ -39,12 +39,14 @@ final class UserScopeFilterTest extends AbstractFilterTest
public function getFormData(): array
{
self::bootKernel();
$em = self::$container->get(EntityManagerInterface::class);
$array = $em->createQueryBuilder()
->from(Scope::class, 's')
->select('s')
->getQuery()
->setMaxResults(1)
->getResult();
$data = [];
@@ -60,9 +62,7 @@ final class UserScopeFilterTest extends AbstractFilterTest
public function getQueryBuilders(): array
{
if (null === self::$kernel) {
self::bootKernel();
}
self::bootKernel();
$em = self::$container->get(EntityManagerInterface::class);

View File

@@ -13,6 +13,7 @@ namespace Chill\ActivityBundle\Tests\Export\Filter;
use Chill\ActivityBundle\Entity\Activity;
use Chill\ActivityBundle\Export\Filter\ActivityDateFilter;
use Chill\MainBundle\Service\RollingDate\RollingDate;
use Chill\MainBundle\Test\Export\AbstractFilterTest;
use DateTime;
use Doctrine\ORM\EntityManagerInterface;
@@ -41,24 +42,23 @@ final class ActivityDateFilterTest extends AbstractFilterTest
{
return [
[
'date_from' => DateTime::createFromFormat('Y-m-d', '2020-01-01'),
'date_to' => DateTime::createFromFormat('Y-m-d', '2021-01-01'),
'date_from' => new RollingDate(RollingDate::T_FIXED_DATE, \DateTimeImmutable::createFromFormat('Y-m-d', '2020-01-01')),
'date_to' => new RollingDate(RollingDate::T_FIXED_DATE, \DateTimeImmutable::createFromFormat('Y-m-d', '2021-01-01')),
],
];
}
public function getQueryBuilders(): array
public function getQueryBuilders(): iterable
{
if (null === self::$kernel) {
self::bootKernel();
}
self::bootKernel();
$em = self::$container->get(EntityManagerInterface::class);
return [
yield
$em->createQueryBuilder()
->select('count(activity.id)')
->from(Activity::class, 'activity'),
];
->from(Activity::class, 'activity');
self::ensureKernelShutdown();
}
}

View File

@@ -14,7 +14,9 @@ namespace Chill\ActivityBundle\Tests\Export\Filter;
use Chill\ActivityBundle\Export\Filter\PersonFilters\ActivityReasonFilter;
use Chill\MainBundle\Test\Export\AbstractFilterTest;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\EntityManagerInterface;
use Prophecy\PhpUnit\ProphecyTrait;
use Symfony\Component\HttpFoundation\RequestStack;
/**
* @internal
@@ -37,7 +39,7 @@ final class ActivityReasonFilterTest extends AbstractFilterTest
$request->getLocale()->willReturn('fr');
self::$container->get('request_stack')
self::$container->get(RequestStack::class)
->push($request->reveal());
}
@@ -48,12 +50,10 @@ final class ActivityReasonFilterTest extends AbstractFilterTest
public function getFormData()
{
if (null === self::$kernel) {
self::bootKernel();
}
self::bootKernel();
$em = self::$kernel->getContainer()
->get('doctrine.orm.entity_manager');
$em = self::$container
->get(EntityManagerInterface::class);
$reasons = $em->createQuery('SELECT reason '
. 'FROM ChillActivityBundle:ActivityReason reason')
@@ -61,34 +61,31 @@ final class ActivityReasonFilterTest extends AbstractFilterTest
// generate an array of 5 different combination of results
for ($i = 0; 5 > $i; ++$i) {
$r[] = ['reasons' => new ArrayCollection(array_splice($reasons, ($i + 1) * -1))];
yield ['reasons' => new ArrayCollection(array_splice($reasons, ($i + 1) * -1))];
}
return $r;
self::ensureKernelShutdown();
}
public function getQueryBuilders()
public function getQueryBuilders(): iterable
{
if (null === self::$kernel) {
self::bootKernel();
}
self::bootKernel();
$em = self::$kernel->getContainer()
->get('doctrine.orm.entity_manager');
$em = self::$container->get(EntityManagerInterface::class);
return [
$em->createQueryBuilder()
->select('count(activity.id)')
->from('ChillActivityBundle:Activity', 'activity'),
$em->createQueryBuilder()
->select('count(activity.id)')
->from('ChillActivityBundle:Activity', 'activity')
->join('activity.reasons', 'reasons'),
$em->createQueryBuilder()
->select('count(activity.id)')
->from('ChillActivityBundle:Activity', 'activity')
->join('activity.reasons', 'reasons')
->join('reasons.category', 'category'),
];
yield $em->createQueryBuilder()
->select('count(activity.id)')
->from('ChillActivityBundle:Activity', 'activity');
yield $em->createQueryBuilder()
->select('count(activity.id)')
->from('ChillActivityBundle:Activity', 'activity')
->join('activity.reasons', 'reasons');
yield $em->createQueryBuilder()
->select('count(activity.id)')
->from('ChillActivityBundle:Activity', 'activity')
->join('activity.reasons', 'reasons')
->join('reasons.category', 'category');
self::ensureKernelShutdown();
}
}

View File

@@ -15,6 +15,7 @@ use Chill\ActivityBundle\Entity\Activity;
use Chill\ActivityBundle\Entity\ActivityType;
use Chill\ActivityBundle\Export\Filter\ActivityTypeFilter;
use Chill\MainBundle\Test\Export\AbstractFilterTest;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\EntityManagerInterface;
/**
@@ -37,8 +38,10 @@ final class ActivityTypeFilterTest extends AbstractFilterTest
return $this->filter;
}
public function getFormData(): array
public function getFormData(): iterable
{
self::bootKernel();
$em = self::$container->get(EntityManagerInterface::class);
$array = $em->createQueryBuilder()
@@ -51,25 +54,24 @@ final class ActivityTypeFilterTest extends AbstractFilterTest
foreach ($array as $a) {
$data[] = [
'types' => $a,
'types' => new ArrayCollection([$a]),
];
}
return $data;
}
public function getQueryBuilders(): array
public function getQueryBuilders(): iterable
{
if (null === self::$kernel) {
self::bootKernel();
}
self::bootKernel();
$em = self::$container->get(EntityManagerInterface::class);
return [
yield
$em->createQueryBuilder()
->select('count(activity.id)')
->from(Activity::class, 'activity'),
];
->from(Activity::class, 'activity');
self::ensureKernelShutdown();
}
}

View File

@@ -15,6 +15,7 @@ use Chill\ActivityBundle\Entity\Activity;
use Chill\ActivityBundle\Entity\ActivityReason;
use Chill\ActivityBundle\Export\Filter\PersonFilters\ActivityReasonFilter;
use Chill\MainBundle\Test\Export\AbstractFilterTest;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\EntityManagerInterface;
/**
@@ -39,19 +40,21 @@ final class ActivityReasonFilterTest extends AbstractFilterTest
public function getFormData(): array
{
self::bootKernel();
$em = self::$container->get(EntityManagerInterface::class);
$array = $em->createQueryBuilder()
->from(ActivityReason::class, 'ar')
->select('ar')
->getQuery()
->setMaxResults(1)
->getResult();
$data = [];
foreach ($array as $a) {
$data[] = [
'reasons' => $a,
'reasons' => new ArrayCollection([$a]),
];
}
@@ -60,9 +63,7 @@ final class ActivityReasonFilterTest extends AbstractFilterTest
public function getQueryBuilders(): array
{
if (null === self::$kernel) {
self::bootKernel();
}
self::bootKernel();
$em = self::$container->get(EntityManagerInterface::class);

View File

@@ -40,12 +40,14 @@ final class PersonHavingActivityBetweenDateFilterTest extends AbstractFilterTest
public function getFormData(): array
{
self::bootKernel();
$em = self::$container->get(EntityManagerInterface::class);
$array = $em->createQueryBuilder()
->from(ActivityReason::class, 'ar')
->select('ar')
->getQuery()
->setMaxResults(1)
->getResult();
$data = [];

View File

@@ -12,8 +12,13 @@ declare(strict_types=1);
namespace Chill\ActivityBundle\Tests\Export\Filter;
use Chill\ActivityBundle\Export\Filter\PersonFilters\PersonHavingActivityBetweenDateFilter;
use Chill\ActivityBundle\Repository\ActivityReasonRepository;
use Chill\MainBundle\Test\Export\AbstractFilterTest;
use DateTime;
use Doctrine\ORM\EntityManagerInterface;
use Doctrine\Persistence\ManagerRegistry;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RequestStack;
use function array_slice;
/**
@@ -35,7 +40,7 @@ final class PersonHavingActivityBetweenDateFilterTest extends AbstractFilterTest
$request->getLocale()->willReturn('fr');
self::$container->get('request_stack')
self::$container->get(RequestStack::class)
->push($request->reveal());
}
@@ -65,26 +70,24 @@ final class PersonHavingActivityBetweenDateFilterTest extends AbstractFilterTest
public function getQueryBuilders()
{
if (null === self::$kernel) {
self::bootKernel();
}
self::bootKernel();
$em = self::$kernel->getContainer()
->get('doctrine.orm.entity_manager');
$em = self::$container
->get(EntityManagerInterface::class);
return [
$em->createQueryBuilder()
->select('count(person.id)')
->from('ChillPersonBundle:Person', 'person')
// add a fake where clause
->where('person.id > 0'),
$em->createQueryBuilder()
->select('count(person.id)')
->from('ChillActivityBundle:Activity', 'activity')
->join('activity.person', 'person')
// add a fake where clause
->where('person.id > 0'),
];
yield $em->createQueryBuilder()
->select('count(person.id)')
->from('ChillPersonBundle:Person', 'person')
// add a fake where clause
->where('person.id > 0');
yield $em->createQueryBuilder()
->select('count(person.id)')
->from('ChillActivityBundle:Activity', 'activity')
->join('activity.person', 'person')
// add a fake where clause
->where('person.id > 0');
self::ensureKernelShutdown();
}
/**
@@ -94,12 +97,14 @@ final class PersonHavingActivityBetweenDateFilterTest extends AbstractFilterTest
*/
private function getActivityReasons()
{
if (null === self::$kernel) {
self::bootKernel();
}
self::bootKernel();
return self::$kernel->getContainer()
->get('chill_activity.repository.reason')
->findAll();
$managerRegistry = self::$container->get(ManagerRegistry::class);
$requestStack = new RequestStack();
$requestStack->push(new Request());
$repository = new ActivityReasonRepository($managerRegistry, $requestStack);
return $repository->findAll();
}
}