Skip to content

Commit

Permalink
QueryBuilderComposer has static methods
Browse files Browse the repository at this point in the history
  • Loading branch information
MortalFlesh committed Jul 30, 2017
1 parent fe7667a commit 41bf849
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 14 deletions.
6 changes: 3 additions & 3 deletions src/QueryBuilderComposer.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class QueryBuilderComposer
* @param array $parts
* @return QueryBuilder
*/
public function compose(QueryBuilder $queryBuilder, array $parts): QueryBuilder
public static function compose(QueryBuilder $queryBuilder, array $parts): QueryBuilder
{
return compose($parts, $queryBuilder);
}
Expand All @@ -54,8 +54,8 @@ public function compose(QueryBuilder $queryBuilder, array $parts): QueryBuilder
* @param array[] ...$partGroups
* @return QueryBuilder
*/
public function mergeCompose(QueryBuilder $queryBuilder, array ...$partGroups): QueryBuilder
public static function mergeCompose(QueryBuilder $queryBuilder, array ...$partGroups): QueryBuilder
{
return $this->compose($queryBuilder, mergePartGroups($partGroups));
return self::compose($queryBuilder, mergePartGroups($partGroups));
}
}
18 changes: 7 additions & 11 deletions tests/QueryBuilderComposerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,17 @@
use Doctrine\ORM\Query\Expr;
use Doctrine\ORM\QueryBuilder;
use MF\QueryBuilderComposer\Curry;
use MF\QueryBuilderComposer\QueryBuilderComposer;
use MF\QueryBuilderComposer\QueryBuilderComposer as QBC;
use MF\QueryBuilderComposer\Tests\Fixture\GroupByModifier;
use Mockery as m;

class QueryBuilderComposerTest extends QueryBuilderComposerTestCase
{
/** @var QueryBuilderComposer */
private $composer;

/** @var QueryBuilder|m\MockInterface */
private $queryBuilder;

public function setUp()
{
$this->composer = new QueryBuilderComposer();

$this->queryBuilder = m::mock(QueryBuilder::class);
}

Expand Down Expand Up @@ -68,7 +63,7 @@ public function testShouldComposeAndApplyRulesToQueryBuilder()
->once()
->andReturn($this->queryBuilder);

$queryBuilder = $this->composer->compose($this->queryBuilder, $parts);
$queryBuilder = QBC::compose($this->queryBuilder, $parts);

$this->assertSame($this->queryBuilder, $queryBuilder);
}
Expand Down Expand Up @@ -110,7 +105,7 @@ public function testShouldComposeMergedPartsAndApplyRulesToQueryBuilder()
->once()
->andReturn($this->queryBuilder);

$queryBuilder = $this->composer->compose($this->queryBuilder, array_merge($customParts, $approvedMature));
$queryBuilder = QBC::compose($this->queryBuilder, array_merge($customParts, $approvedMature));

$this->assertSame($this->queryBuilder, $queryBuilder);
}
Expand Down Expand Up @@ -147,7 +142,7 @@ public function testShouldMergeComposePartsAndApplyRulesToQueryBuilder()
->once()
->andReturn($this->queryBuilder);

$queryBuilder = $this->composer->mergeCompose($this->queryBuilder, $customParts, $approvedMature);
$queryBuilder = QBC::mergeCompose($this->queryBuilder, $customParts, $approvedMature);

$this->assertSame($this->queryBuilder, $queryBuilder);
}
Expand All @@ -159,6 +154,7 @@ public function testShouldComposeRulesAndApplyRulesToQueryBuilder()
'from student s',
];


$this->queryBuilder->shouldReceive('select')
->with('s.id', 's.name', 's.age')
->once()
Expand All @@ -168,7 +164,7 @@ public function testShouldComposeRulesAndApplyRulesToQueryBuilder()
->once()
->andReturn($this->queryBuilder);

$queryBuilder = $this->composer->compose($this->queryBuilder, $parts);
$queryBuilder = QBC::compose($this->queryBuilder, $parts);

$this->assertSame($this->queryBuilder, $queryBuilder);
}
Expand All @@ -189,7 +185,7 @@ public function testShouldComposeRulesBySingleStringAndApplyRulesToQueryBuilder(
->once()
->andReturn($this->queryBuilder);

$queryBuilder = $this->composer->compose($this->queryBuilder, $parts);
$queryBuilder = QBC::compose($this->queryBuilder, $parts);

$this->assertSame($this->queryBuilder, $queryBuilder);
}
Expand Down

0 comments on commit 41bf849

Please sign in to comment.