Reformat code automatically

This commit is contained in:
Meritoo
2022-02-12 14:46:47 +01:00
parent a3af138f0c
commit a3adae50b8
116 changed files with 19152 additions and 19091 deletions

View File

@@ -17,6 +17,7 @@ use Doctrine\ORM\QueryBuilder;
use Generator;
use Meritoo\Common\Test\Base\BaseTestCase;
use Meritoo\Common\Utilities\QueryBuilderUtility;
use stdClass;
/**
* Test case of the useful methods for query builder (the Doctrine's QueryBuilder class)
@@ -25,24 +26,260 @@ use Meritoo\Common\Utilities\QueryBuilderUtility;
* @copyright Meritoo <http://www.meritoo.pl>
*
* @internal
* @covers \Meritoo\Common\Utilities\QueryBuilderUtility
* @covers \Meritoo\Common\Utilities\QueryBuilderUtility
*/
class QueryBuilderUtilityTest extends BaseTestCase
{
/**
* Provides query builder and criteria used in WHERE clause
*
* @return Generator
*/
public function provideQueryBuilderAndCriteria()
{
$entityManager = $this
->getMockBuilder(EntityManager::class)
->disableOriginalConstructor()
->setMethods(['getExpressionBuilder'])
->getMock();
$entityManager
->expects(static::any())
->method('getExpressionBuilder')
->willReturn(new Expr())
;
yield [
(new QueryBuilder($entityManager))->from('lorem_ipsum', 'lm'),
[
'lorem' => 11,
'ipsum' => 22,
'dolor' => null,
],
];
yield [
(new QueryBuilder($entityManager))->from('lorem_ipsum', 'lm'),
[
'lorem' => [
11,
'>=',
],
'ipsum' => [
22,
'<',
],
'dolor' => null,
],
];
}
/**
* Provides query builder and parameters to add to given query builder
*
* @return Generator
*/
public function provideQueryBuilderAndParameters()
{
$entityManager = $this->createMock(EntityManagerInterface::class);
yield [
new QueryBuilder($entityManager),
[],
];
yield [
new QueryBuilder($entityManager),
new ArrayCollection(),
];
yield [
new QueryBuilder($entityManager),
[
'lorem' => 11,
'ipsum' => 22,
],
];
yield [
new QueryBuilder($entityManager),
new ArrayCollection([
'lorem' => 11,
'ipsum' => 22,
]),
];
yield [
new QueryBuilder($entityManager),
[
new Parameter('lorem', 11),
new Parameter('ipsum', 22),
],
];
yield [
new QueryBuilder($entityManager),
new ArrayCollection([
new Parameter('lorem', 11),
new Parameter('ipsum', 22),
]),
];
}
/**
* Provides query builder, name of property and expected alias of given property
*
* @return Generator
*/
public function provideQueryBuilderAndPropertyAlias()
{
$entityManager = $this->createMock(EntityManagerInterface::class);
yield [
new QueryBuilder($entityManager),
'',
null,
];
yield [
new QueryBuilder($entityManager),
'lorem',
null,
];
yield [
(new QueryBuilder($entityManager))->from('lorem_ipsum', 'lm'),
'lm',
null,
];
yield [
(new QueryBuilder($entityManager))
->from('lorem', 'l')
->leftJoin('l.ipsum', 'i'),
'ipsum',
'i',
];
yield [
(new QueryBuilder($entityManager))
->from('lorem', 'l')
->leftJoin('l.ipsum', 'i')
->innerJoin('i.dolor', 'd'),
'ipsum1',
null,
];
yield [
(new QueryBuilder($entityManager))
->from('lorem', 'l')
->leftJoin('l.ipsum', 'i')
->innerJoin('i.dolor', 'd'),
'ipsum',
'i',
];
yield [
(new QueryBuilder($entityManager))
->from('lorem', 'l')
->leftJoin('l.ipsum', 'i')
->innerJoin('i.dolor', 'd'),
'dolor',
'd',
];
}
/**
* Provides query builder to retrieve root alias and expected root alias
*
* @return Generator
*/
public function provideQueryBuilderAndRootAlias()
{
$entityManager = $this->createMock(EntityManagerInterface::class);
yield [
new QueryBuilder($entityManager),
null,
];
yield [
(new QueryBuilder($entityManager))->from('lorem_ipsum', 'lm'),
'lm',
];
yield [
(new QueryBuilder($entityManager))
->from('lorem', 'l')
->leftJoin('l.ipsum', 'i'),
'l',
];
}
/**
* @param QueryBuilder $queryBuilder The query builder
* @param array|ArrayCollection $parameters Parameters to add. Collection of Doctrine\ORM\Query\Parameter
* instances or an array with key-value pairs.
*
* @dataProvider provideQueryBuilderAndParameters
*/
public function testAddParameters(QueryBuilder $queryBuilder, $parameters)
{
$newQueryBuilder = QueryBuilderUtility::addParameters($queryBuilder, $parameters);
static::assertSame($queryBuilder, $newQueryBuilder);
static::assertCount(count($parameters), $newQueryBuilder->getParameters());
}
public function testConstructor()
{
static::assertHasNoConstructor(QueryBuilderUtility::class);
}
/**
* @param QueryBuilder $queryBuilder The query builder to retrieve root alias
* @param null|string $rootAlias Expected root alias of given query builder
*
* @dataProvider provideQueryBuilderAndRootAlias
*/
public function testGetRootAlias(QueryBuilder $queryBuilder, $rootAlias)
public function testDeleteEntities()
{
static::assertSame($rootAlias, QueryBuilderUtility::getRootAlias($queryBuilder));
$methods = [
'remove',
'flush',
];
$entityManager = $this
->getMockBuilder(EntityManager::class)
->disableOriginalConstructor()
->setMethods($methods)
->getMock();
$entities1 = [];
$entities2 = [
new stdClass(),
];
static::assertFalse(QueryBuilderUtility::deleteEntities($entityManager, $entities1));
static::assertTrue(QueryBuilderUtility::deleteEntities($entityManager, $entities2));
}
public function testDeleteEntitiesWithoutFlush()
{
$methods = [
'remove',
'flush',
];
$entityManager = $this
->getMockBuilder(EntityManager::class)
->disableOriginalConstructor()
->setMethods($methods)
->getMock();
$entities1 = [];
$entities2 = [
new stdClass(),
];
static::assertFalse(QueryBuilderUtility::deleteEntities($entityManager, $entities1, false));
static::assertTrue(QueryBuilderUtility::deleteEntities($entityManager, $entities2, false));
}
/**
@@ -57,31 +294,15 @@ class QueryBuilderUtilityTest extends BaseTestCase
static::assertSame($propertyAlias, QueryBuilderUtility::getJoinedPropertyAlias($queryBuilder, $propertyName));
}
public function testSetCriteriaWithoutCriteria()
/**
* @param QueryBuilder $queryBuilder The query builder to retrieve root alias
* @param null|string $rootAlias Expected root alias of given query builder
*
* @dataProvider provideQueryBuilderAndRootAlias
*/
public function testGetRootAlias(QueryBuilder $queryBuilder, $rootAlias)
{
$entityManager = $this->createMock(EntityManagerInterface::class);
$queryBuilder = new QueryBuilder($entityManager);
$newQueryBuilder = QueryBuilderUtility::setCriteria($queryBuilder);
static::assertSame($queryBuilder, $newQueryBuilder);
static::assertCount(0, $newQueryBuilder->getParameters());
static::assertNull($newQueryBuilder->getDQLPart('where'));
}
public function testSetCriteriaWithoutAlias()
{
$criteria = [
'lorem' => 11,
'ipsum' => 22,
];
$entityManager = $this->createMock(EntityManagerInterface::class);
$queryBuilder = new QueryBuilder($entityManager);
$newQueryBuilder = QueryBuilderUtility::setCriteria($queryBuilder, $criteria);
static::assertSame($queryBuilder, $newQueryBuilder);
static::assertCount(count($criteria), $newQueryBuilder->getParameters());
static::assertNotNull($newQueryBuilder->getDQLPart('where'));
static::assertSame($rootAlias, QueryBuilderUtility::getRootAlias($queryBuilder));
}
/**
@@ -108,253 +329,30 @@ class QueryBuilderUtilityTest extends BaseTestCase
static::assertNotNull($newQueryBuilder->getDQLPart('where'));
}
public function testDeleteEntitiesWithoutFlush()
public function testSetCriteriaWithoutAlias()
{
$methods = [
'remove',
'flush',
$criteria = [
'lorem' => 11,
'ipsum' => 22,
];
$entityManager = $this
->getMockBuilder(EntityManager::class)
->disableOriginalConstructor()
->setMethods($methods)
->getMock()
;
$entities1 = [];
$entities2 = [
new \stdClass(),
];
static::assertFalse(QueryBuilderUtility::deleteEntities($entityManager, $entities1, false));
static::assertTrue(QueryBuilderUtility::deleteEntities($entityManager, $entities2, false));
}
public function testDeleteEntities()
{
$methods = [
'remove',
'flush',
];
$entityManager = $this
->getMockBuilder(EntityManager::class)
->disableOriginalConstructor()
->setMethods($methods)
->getMock()
;
$entities1 = [];
$entities2 = [
new \stdClass(),
];
static::assertFalse(QueryBuilderUtility::deleteEntities($entityManager, $entities1));
static::assertTrue(QueryBuilderUtility::deleteEntities($entityManager, $entities2));
}
/**
* @param QueryBuilder $queryBuilder The query builder
* @param array|ArrayCollection $parameters Parameters to add. Collection of Doctrine\ORM\Query\Parameter
* instances or an array with key-value pairs.
*
* @dataProvider provideQueryBuilderAndParameters
*/
public function testAddParameters(QueryBuilder $queryBuilder, $parameters)
{
$newQueryBuilder = QueryBuilderUtility::addParameters($queryBuilder, $parameters);
$entityManager = $this->createMock(EntityManagerInterface::class);
$queryBuilder = new QueryBuilder($entityManager);
$newQueryBuilder = QueryBuilderUtility::setCriteria($queryBuilder, $criteria);
static::assertSame($queryBuilder, $newQueryBuilder);
static::assertCount(count($parameters), $newQueryBuilder->getParameters());
static::assertCount(count($criteria), $newQueryBuilder->getParameters());
static::assertNotNull($newQueryBuilder->getDQLPart('where'));
}
/**
* Provides query builder to retrieve root alias and expected root alias
*
* @return Generator
*/
public function provideQueryBuilderAndRootAlias()
public function testSetCriteriaWithoutCriteria()
{
$entityManager = $this->createMock(EntityManagerInterface::class);
$queryBuilder = new QueryBuilder($entityManager);
$newQueryBuilder = QueryBuilderUtility::setCriteria($queryBuilder);
yield[
new QueryBuilder($entityManager),
null,
];
yield[
(new QueryBuilder($entityManager))->from('lorem_ipsum', 'lm'),
'lm',
];
yield[
(new QueryBuilder($entityManager))
->from('lorem', 'l')
->leftJoin('l.ipsum', 'i'),
'l',
];
}
/**
* Provides query builder, name of property and expected alias of given property
*
* @return Generator
*/
public function provideQueryBuilderAndPropertyAlias()
{
$entityManager = $this->createMock(EntityManagerInterface::class);
yield[
new QueryBuilder($entityManager),
'',
null,
];
yield[
new QueryBuilder($entityManager),
'lorem',
null,
];
yield[
(new QueryBuilder($entityManager))->from('lorem_ipsum', 'lm'),
'lm',
null,
];
yield[
(new QueryBuilder($entityManager))
->from('lorem', 'l')
->leftJoin('l.ipsum', 'i'),
'ipsum',
'i',
];
yield[
(new QueryBuilder($entityManager))
->from('lorem', 'l')
->leftJoin('l.ipsum', 'i')
->innerJoin('i.dolor', 'd'),
'ipsum1',
null,
];
yield[
(new QueryBuilder($entityManager))
->from('lorem', 'l')
->leftJoin('l.ipsum', 'i')
->innerJoin('i.dolor', 'd'),
'ipsum',
'i',
];
yield[
(new QueryBuilder($entityManager))
->from('lorem', 'l')
->leftJoin('l.ipsum', 'i')
->innerJoin('i.dolor', 'd'),
'dolor',
'd',
];
}
/**
* Provides query builder and criteria used in WHERE clause
*
* @return Generator
*/
public function provideQueryBuilderAndCriteria()
{
$entityManager = $this
->getMockBuilder(EntityManager::class)
->disableOriginalConstructor()
->setMethods(['getExpressionBuilder'])
->getMock()
;
$entityManager
->expects(static::any())
->method('getExpressionBuilder')
->willReturn(new Expr())
;
yield[
(new QueryBuilder($entityManager))->from('lorem_ipsum', 'lm'),
[
'lorem' => 11,
'ipsum' => 22,
'dolor' => null,
],
];
yield[
(new QueryBuilder($entityManager))->from('lorem_ipsum', 'lm'),
[
'lorem' => [
11,
'>=',
],
'ipsum' => [
22,
'<',
],
'dolor' => null,
],
];
}
/**
* Provides query builder and parameters to add to given query builder
*
* @return Generator
*/
public function provideQueryBuilderAndParameters()
{
$entityManager = $this->createMock(EntityManagerInterface::class);
yield[
new QueryBuilder($entityManager),
[],
];
yield[
new QueryBuilder($entityManager),
new ArrayCollection(),
];
yield[
new QueryBuilder($entityManager),
[
'lorem' => 11,
'ipsum' => 22,
],
];
yield[
new QueryBuilder($entityManager),
new ArrayCollection([
'lorem' => 11,
'ipsum' => 22,
]),
];
yield[
new QueryBuilder($entityManager),
[
new Parameter('lorem', 11),
new Parameter('ipsum', 22),
],
];
yield[
new QueryBuilder($entityManager),
new ArrayCollection([
new Parameter('lorem', 11),
new Parameter('ipsum', 22),
]),
];
static::assertSame($queryBuilder, $newQueryBuilder);
static::assertCount(0, $newQueryBuilder->getParameters());
static::assertNull($newQueryBuilder->getDQLPart('where'));
}
}