Skip to content

Commit

Permalink
refactor: corrects static analyze
Browse files Browse the repository at this point in the history
  • Loading branch information
fbsouzas committed Jun 4, 2021
1 parent e3b58cc commit 08a7050
Show file tree
Hide file tree
Showing 11 changed files with 27 additions and 2 deletions.
1 change: 1 addition & 0 deletions src/Clauses/Clause.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,6 @@

interface Clause
{
/** @param array<Mixed> $queryStrings */
public function apply(Builder $query, array $queryStrings): Builder;
}
3 changes: 3 additions & 0 deletions src/Clauses/ClauseChain.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,11 @@
final class ClauseChain
{
private Builder $query;

/** @var array<Mixed> */
private array $queryStrings;

/** @param array<Mixed> $queryStrings */
public function __construct(Builder $query, array $queryStrings)
{
$this->query = $query;
Expand Down
2 changes: 2 additions & 0 deletions src/Clauses/Like.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,13 @@ public function apply(Builder $query, array $queryStrings): Builder
return $this->next->apply($query, $queryStrings);
}

/** @param array<Mixed> $queryStrings */
private function hasSearchQueryString(array $queryStrings): bool
{
return array_key_exists('search', $queryStrings);
}

/** @param array<string, String> $searchQueryString */
private function like(Builder $query, array $searchQueryString): Builder
{
foreach ($searchQueryString as $field => $value) {
Expand Down
1 change: 1 addition & 0 deletions src/Clauses/OrderBy.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ public function apply(Builder $query, array $queryStrings): Builder
return $this->next->apply($query, $queryStrings);
}

/** @param array<String> $queryStrings */
private function hasSortQueryString(array $queryStrings): bool
{
return array_key_exists('sort', $queryStrings);
Expand Down
1 change: 1 addition & 0 deletions src/Clauses/Select.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ public function apply(Builder $query, array $queryStrings): Builder
return $query;
}

/** @param array<String> $queryStrings */
private function hasFieldsQueryString(array $queryStrings): bool
{
return array_key_exists('fields', $queryStrings);
Expand Down
1 change: 1 addition & 0 deletions src/Clauses/With.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ public function apply(Builder $query, array $queryStrings): Builder
return $this->next->apply($query, $queryStrings);
}

/** @param array<String> $queryStrings */
private function hasWithQueryString(array $queryStrings): bool
{
return array_key_exists('with', $queryStrings);
Expand Down
1 change: 1 addition & 0 deletions src/FleryBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ public static function to(string $model): self
return new FleryBuilder($model);
}

/** @param array<Mixed> $queryStrings */
public function apply(array $queryStrings): Builder
{
$query = (new $this->model())->newQuery();
Expand Down
11 changes: 9 additions & 2 deletions tests/Unit/Clauses/LikeTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
class LikeTest extends TestCase
{
private Builder $builder;

/** @var Clause $clauseMock */
private object $clauseMock;

public function setUp(): void
Expand All @@ -26,6 +28,8 @@ public function setUp(): void
/**
* @test
* @dataProvider searchQueryStrings
*
* @param array<Array> $searchQueryString
*/
public function itMustBeIncludeTheLikeClauseInTheQuery(array $searchQueryString): void
{
Expand All @@ -50,6 +54,7 @@ public function itMustHaveNotLikeClauseInTheQuery(): void
self::assertStringNotContainsString('search', $query->toSql());
}

/** @return Clause */
private function clauseMock(Builder $builder): object
{
$mock = $this->getMockBuilder(Clause::class)
Expand All @@ -65,9 +70,11 @@ private function clauseMock(Builder $builder): object
return $mock;
}

/** @param array<string, Array> $searchQueryString */
private function mountAssertString(array $searchQueryString): string
{
$mountedAssert = 'where ';
/** @var string */
$searchQueryStringLastKey = array_key_last($searchQueryString);

foreach ($searchQueryString as $column => $value) {
Expand All @@ -77,8 +84,7 @@ private function mountAssertString(array $searchQueryString): string
return $mountedAssert;
}

private function addLikeClauseInTheAssertString(string $mountedAssert, string $column, string $searchQueryStringLastKey): string
{
private function addLikeClauseInTheAssertString(string $mountedAssert, string $column, string $searchQueryStringLastKey): string {
$mountedAssert .= "\"{$column}\" like ?";

if ($this->isNotTheLastLikeClause($column, $searchQueryStringLastKey)) {
Expand All @@ -93,6 +99,7 @@ private function isNotTheLastLikeClause(string $column, string $searchQueryStrin
return $column !== $searchQueryStringLastKey;
}

/** @return array<Array> */
public function searchQueryStrings(): array
{
return [
Expand Down
4 changes: 4 additions & 0 deletions tests/Unit/Clauses/OrderByTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
class OrderByTest extends TestCase
{
private Builder $builder;

/** @var Clause */
private object $clauseMock;

public function setUp(): void
Expand Down Expand Up @@ -50,6 +52,7 @@ public function itMustHaveNotOrderClauseInTheQuery(): void
self::assertStringNotContainsString('order', $query->toSql());
}

/** @return Clause */
private function clauseMock(Builder $qb): object
{
$mock = $this->getMockBuilder(Clause::class)
Expand Down Expand Up @@ -96,6 +99,7 @@ private function order(string $sortQueryString): string
return $order;
}

/** @return array<Array> */
public function sortQueryStrings(): array
{
return [
Expand Down
1 change: 1 addition & 0 deletions tests/Unit/Clauses/SelectTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ private function mountAssertString(string $fieldsQueryString): string
return 'select "' . implode('", "', explode(',', $fieldsQueryString));
}

/** @return array<Array> */
public function fieldsQueryString(): array
{
return [
Expand Down
3 changes: 3 additions & 0 deletions tests/Unit/Clauses/WithTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
class WithTest extends TestCase
{
private Builder $builder;

/** @var Clause $clauseMock */
private object $clauseMock;

public function setUp(): void
Expand All @@ -36,6 +38,7 @@ public function itMustBeIncludeTheWithClauseInTheQuery(): void
self::assertStringContainsString('select *', $query->toSql());
}

/** @return Clause */
private function clauseMock(Builder $builder): object
{
$mock = $this->getMockBuilder(Clause::class)
Expand Down

0 comments on commit 08a7050

Please sign in to comment.