add simple test file for each new filter

This commit is contained in:
Mathieu Jaumotte 2022-07-26 17:53:53 +02:00
parent 8bbca12487
commit 287d8f546b
9 changed files with 512 additions and 38 deletions

View File

@ -0,0 +1,75 @@
<?php
namespace Chill\PersonBundle\Tests\Export\Filter;
use Chill\MainBundle\Test\Export\AbstractFilterTest;
use Chill\PersonBundle\Entity\AccompanyingPeriod\ClosingMotive;
use Chill\PersonBundle\Export\Filter\ClosingMotiveFilter;
use Doctrine\ORM\EntityManagerInterface;
class ClosingMotiveFilterTest extends AbstractFilterTest
{
private ClosingMotiveFilter $filter;
protected function setUp(): void
{
self::bootKernel();
// add a fake request with a default locale (used in translatable string)
$request = $this->prophesize();
$request->willExtend(\Symfony\Component\HttpFoundation\Request::class);
$request->getLocale()->willReturn('fr');
$this->filter = self::$container->get('chill.person.export.filter_closingmotive');
}
/**
* @inheritDoc
*/
public function getFilter()
{
return $this->filter;
}
/**
* @inheritDoc
*/
public function getFormData(): array
{
$em = self::$container->get(EntityManagerInterface::class);
$array = $em->createQueryBuilder()
->from(ClosingMotive::class, 'm')
->select('m')
->getQuery()
->getResult();
$data = [];
foreach($array as $m) {
$data[] = ['accepted_closingmotives' => $m];
}
return $data;
}
/**
* @inheritDoc
*/
public function getQueryBuilders(): array
{
if (null === self::$kernel) {
self::bootKernel();
}
$em = self::$container->get(EntityManagerInterface::class);
return [
$em->createQueryBuilder()
->select('acp.id')
->from('ChillPersonBundle:AccompanyingPeriod', 'acp'),
];
}
}

View File

@ -0,0 +1,63 @@
<?php
namespace Chill\PersonBundle\Tests\Export\Filter;
use Chill\MainBundle\Test\Export\AbstractFilterTest;
use Chill\PersonBundle\Export\Filter\ConfidentialFilter;
use Doctrine\ORM\EntityManagerInterface;
class ConfidentialFilterTest extends AbstractFilterTest
{
private ConfidentialFilter $filter;
protected function setUp(): void
{
self::bootKernel();
// add a fake request with a default locale (used in translatable string)
$request = $this->prophesize();
$request->willExtend(\Symfony\Component\HttpFoundation\Request::class);
$request->getLocale()->willReturn('fr');
$this->filter = self::$container->get('chill.person.export.filter_confidential');
}
/**
* @inheritDoc
*/
public function getFilter()
{
return $this->filter;
}
/**
* @inheritDoc
*/
public function getFormData(): array
{
return [
['accepted_confidentials' => true],
['accepted_confidentials' => false]
];
}
/**
* @inheritDoc
*/
public function getQueryBuilders(): array
{
if (null === self::$kernel) {
self::bootKernel();
}
$em = self::$container->get(EntityManagerInterface::class);
return [
$em->createQueryBuilder()
->select('acp.id')
->from('ChillPersonBundle:AccompanyingPeriod', 'acp'),
];
}
}

View File

@ -4,6 +4,7 @@ namespace Chill\PersonBundle\Tests\Export\Filter;
use Chill\MainBundle\Test\Export\AbstractFilterTest;
use Chill\PersonBundle\Export\Filter\EmergencyFilter;
use Doctrine\ORM\EntityManagerInterface;
class EmergencyFilterTest extends AbstractFilterTest
{
@ -27,7 +28,7 @@ class EmergencyFilterTest extends AbstractFilterTest
return $this->filter;
}
public function getFormData()
public function getFormData(): array
{
return [
['accepted_emergencies' => true],
@ -35,14 +36,14 @@ class EmergencyFilterTest extends AbstractFilterTest
];
}
public function getQueryBuilders()
public function getQueryBuilders(): array
{
if (null === self::$kernel) {
self::bootKernel();
}
$em = self::$container->get('doctrine.orm.entity_manager');
$em = self::$container->get(EntityManagerInterface::class);
return [
$em->createQueryBuilder()

View File

@ -0,0 +1,63 @@
<?php
namespace Chill\PersonBundle\Tests\Export\Filter;
use Chill\MainBundle\Test\Export\AbstractFilterTest;
use Chill\PersonBundle\Export\Filter\IntensityFilter;
use Doctrine\ORM\EntityManagerInterface;
class IntensityFilterTest extends AbstractFilterTest
{
private IntensityFilter $filter;
protected function setUp(): void
{
self::bootKernel();
// add a fake request with a default locale (used in translatable string)
$request = $this->prophesize();
$request->willExtend(\Symfony\Component\HttpFoundation\Request::class);
$request->getLocale()->willReturn('fr');
$this->filter = self::$container->get('chill.person.export.filter_intensity');
}
/**
* @inheritDoc
*/
public function getFilter()
{
return $this->filter;
}
/**
* @inheritDoc
*/
public function getFormData(): array
{
return [
['accepted_intensities' => 'occasional'],
['accepted_intensities' => 'regular']
];
}
/**
* @inheritDoc
*/
public function getQueryBuilders(): array
{
if (null === self::$kernel) {
self::bootKernel();
}
$em = self::$container->get(EntityManagerInterface::class);
return [
$em->createQueryBuilder()
->select('acp.id')
->from('ChillPersonBundle:AccompanyingPeriod', 'acp'),
];
}
}

View File

@ -0,0 +1,75 @@
<?php
namespace Chill\PersonBundle\Tests\Export\Filter;
use Chill\MainBundle\Test\Export\AbstractFilterTest;
use Chill\PersonBundle\Entity\AccompanyingPeriod\Origin;
use Chill\PersonBundle\Export\Filter\OriginFilter;
use Doctrine\ORM\EntityManagerInterface;
class OriginFilterTest extends AbstractFilterTest
{
private OriginFilter $filter;
protected function setUp(): void
{
self::bootKernel();
// add a fake request with a default locale (used in translatable string)
$request = $this->prophesize();
$request->willExtend(\Symfony\Component\HttpFoundation\Request::class);
$request->getLocale()->willReturn('fr');
$this->filter = self::$container->get('chill.person.export.filter_origin');
}
/**
* @inheritDoc
*/
public function getFilter()
{
return $this->filter;
}
/**
* @inheritDoc
*/
public function getFormData(): array
{
$em = self::$container->get(EntityManagerInterface::class);
$array = $em->createQueryBuilder()
->from(Origin::class, 'o')
->select('o')
->getQuery()
->getResult();
$data = [];
foreach($array as $l) {
$data[] = ['accepted_origins' => $l];
}
return $data;
}
/**
* @inheritDoc
*/
public function getQueryBuilders(): array
{
if (null === self::$kernel) {
self::bootKernel();
}
$em = self::$container->get(EntityManagerInterface::class);
return [
$em->createQueryBuilder()
->select('acp.id')
->from('ChillPersonBundle:AccompanyingPeriod', 'acp'),
];
}
}

View File

@ -1,63 +1,75 @@
<?php
/**
* Chill is a software for social workers
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/
declare(strict_types=1);
namespace Chill\PersonBundle\Tests\Export\Filter;
use Chill\MainBundle\Test\Export\AbstractFilterTest;
use Doctrine\ORM\QueryBuilder;
use Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException;
use Chill\PersonBundle\Entity\SocialWork\SocialIssue;
use Chill\PersonBundle\Export\Filter\SocialIssueFilter;
use Doctrine\ORM\EntityManagerInterface;
final class SocialIssueFilterTest extends AbstractFilterTest
class SocialIssueFilterTest extends AbstractFilterTest
{
/**
* @var \Chill\PersonBundle\Export\Filter\GenderFilter
*/
private $filter;
private SocialIssueFilter $filter;
protected function setUp(): void
{
parent::setUp();
self::bootKernel();
try {
$this->filter = self::$container->get('chill.person.export.filter_socialissue');
} catch (ServiceNotFoundException $e) {
$this->markTestSkipped('Filter service is not found');
}
// add a fake request with a default locale (used in translatable string)
$request = $this->prophesize();
$request->willExtend(\Symfony\Component\HttpFoundation\Request::class);
$request->getLocale()->willReturn('fr');
$this->filter = self::$container->get('chill.person.export.filter_socialissue');
}
/**
* @inheritDoc
*/
public function getFilter()
{
return $this->filter;
}
public function getFormData()
/**
* @inheritDoc
*/
public function getFormData(): array
{
return [
['accepted_socialissue' => [
$em = self::$container->get(EntityManagerInterface::class);
]],
['accepted_socialissue' => [
$array = $em->createQueryBuilder()
->from(SocialIssue::class, 'si')
->select('si')
->getQuery()
->getResult();
]],
['accepted_socialissue' => [
$data = [];
]],
];
foreach($array as $i) {
$data[] = ['accepted_socialissues' => $i];
}
return $data;
}
public function getQueryBuilders()
/**
* @inheritDoc
*/
public function getQueryBuilders(): array
{
// TODO: Implement getQueryBuilders() method.
}
if (null === self::$kernel) {
self::bootKernel();
}
$em = self::$container->get(EntityManagerInterface::class);
return [
$em->createQueryBuilder()
->select('acp.id')
->from('ChillPersonBundle:AccompanyingPeriod', 'acp'),
];
}
}

View File

@ -0,0 +1,64 @@
<?php
namespace Chill\PersonBundle\Tests\Export\Filter;
use Chill\MainBundle\Test\Export\AbstractFilterTest;
use Chill\PersonBundle\Entity\AccompanyingPeriod;
use Chill\PersonBundle\Export\Filter\StepFilter;
class StepFilterTest extends AbstractFilterTest
{
private StepFilter $filter;
protected function setUp(): void
{
self::bootKernel();
// add a fake request with a default locale (used in translatable string)
$request = $this->prophesize();
$request->willExtend(\Symfony\Component\HttpFoundation\Request::class);
$request->getLocale()->willReturn('fr');
$this->filter = self::$container->get('chill.person.export.filter_step');
}
/**
* @inheritDoc
*/
public function getFilter()
{
return $this->filter;
}
/**
* @inheritDoc
*/
public function getFormData(): array
{
return [
['accepted_steps' => AccompanyingPeriod::STEP_DRAFT],
['accepted_steps' => AccompanyingPeriod::STEP_CONFIRMED],
['accepted_steps' => AccompanyingPeriod::STEP_CLOSED],
];
}
/**
* @inheritDoc
*/
public function getQueryBuilders(): array
{
if (null === self::$kernel) {
self::bootKernel();
}
$em = self::$container->get('doctrine.orm.entity_manager');
return [
$em->createQueryBuilder()
->select('acp.id')
->from('ChillPersonBundle:AccompanyingPeriod', 'acp'),
];
}
}

View File

@ -0,0 +1,60 @@
<?php
namespace Chill\PersonBundle\Tests\Export\Filter;
use Chill\MainBundle\Test\Export\AbstractFilterTest;
use Chill\PersonBundle\Export\Filter\UserJobFilter;
use Doctrine\ORM\EntityManagerInterface;
class UserJobFilterTest extends AbstractFilterTest
{
private UserJobFilter $filter;
protected function setUp(): void
{
self::bootKernel();
// add a fake request with a default locale (used in translatable string)
$request = $this->prophesize();
$request->willExtend(\Symfony\Component\HttpFoundation\Request::class);
$request->getLocale()->willReturn('fr');
$this->filter = self::$container->get('chill.person.export.filter_userjob');
}
/**
* @inheritDoc
*/
public function getFilter()
{
return $this->filter;
}
/**
* @inheritDoc
*/
public function getFormData(): array
{
return [];
}
/**
* @inheritDoc
*/
public function getQueryBuilders(): array
{
if (null === self::$kernel) {
self::bootKernel();
}
$em = self::$container->get(EntityManagerInterface::class);
return [
$em->createQueryBuilder()
->select('acp.id')
->from('ChillPersonBundle:AccompanyingPeriod', 'acp'),
];
}
}

View File

@ -0,0 +1,61 @@
<?php
namespace Chill\PersonBundle\Tests\Export\Filter;
use Chill\MainBundle\Test\Export\AbstractFilterTest;
use Chill\PersonBundle\Export\Filter\UserScopeFilter;
use Doctrine\ORM\EntityManagerInterface;
class UserScopeFilterTest extends AbstractFilterTest
{
private UserScopeFilter $filter;
protected function setUp(): void
{
self::bootKernel();
// add a fake request with a default locale (used in translatable string)
$request = $this->prophesize();
$request->willExtend(\Symfony\Component\HttpFoundation\Request::class);
$request->getLocale()->willReturn('fr');
$this->filter = self::$container->get('chill.person.export.filter_userscope');
}
/**
* @inheritDoc
*/
public function getFilter()
{
return $this->filter;
}
/**
* @inheritDoc
*/
public function getFormData(): array
{
return [];
}
/**
* @inheritDoc
*/
public function getQueryBuilders(): array
{
if (null === self::$kernel) {
self::bootKernel();
}
$em = self::$container->get(EntityManagerInterface::class);
return [
$em->createQueryBuilder()
->select('acp.id')
->from('ChillPersonBundle:AccompanyingPeriod', 'acp'),
];
}
}