Skip to content

Commit

Permalink
Feat:return instance builder when eloquent filter is disable or reque…
Browse files Browse the repository at this point in the history
…st is null
  • Loading branch information
mehdi-fathi committed Dec 15, 2022
1 parent 6177d05 commit bc33c37
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 5 deletions.
2 changes: 1 addition & 1 deletion src/QueryFilter/Core/FilterBuilder/QueryFilterBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ public function apply($builder, array $request = null, array $ignore_request = n
}

if (!config('eloquentFilter.enabled') || empty($this->requestFilter->getRequest())) {
return;
return $builder;
}

$this->requestHandel($ignore_request, $accept_request);
Expand Down
2 changes: 1 addition & 1 deletion src/QueryFilter/Core/FilterBuilder/RequestFilter.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ class RequestFilter
protected $ignore_request;

/**
* @param $builder
* @param $request
*/
public function __construct($request)
{
Expand Down
2 changes: 1 addition & 1 deletion src/ServiceProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ private function mergeConfig()
*/
private function registerBindings()
{
if (config('eloquentFilter.enabled') != false) {
if (config('eloquentFilter.enabled')) {
$this->app->singleton(
'eloquentFilter',
function () {
Expand Down
5 changes: 3 additions & 2 deletions tests/TestCase.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
use eloquentFilter\QueryFilter\Core\FilterBuilder\QueryFilterBuilder;
use eloquentFilter\QueryFilter\Factory\QueryFilterCoreFactory;
use Mockery as m;
use eloquentFilter\QueryFilter\Core\FilterBuilder\RequestFilter;

/**
* Class TestCase.
Expand Down Expand Up @@ -30,15 +31,15 @@ public function setUp(): void

$this->config = require __DIR__ . '/../src/config/config.php';

if (config('eloquentFilter.enabled') != false) {
if (config('eloquentFilter.enabled')) {

$this->app->singleton(
'eloquentFilter',
function () {

$queryFilterCoreFactory = new QueryFilterCoreFactory();

$request = new \eloquentFilter\QueryFilter\Core\FilterBuilder\RequestFilter($this->request->query());
$request = new RequestFilter($this->request->query());

$core = $queryFilterCoreFactory->createQueryFilterCoreBuilder();

Expand Down
25 changes: 25 additions & 0 deletions tests/Tests/ModelFilterMockTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -1261,6 +1261,31 @@ public function testFalseEnabledConfig()
$this->assertNotEquals(['mehdifathi.developer@gmail.com'], $users->getBindings());
}

public function testFalseEnabledConfigNotBreakQuery()
{
config(['eloquentFilter.enabled' => false]);

$builder = new User();

$builder = $builder->query()
->where('email', 'mehdifathi.developer@gmail.com');

$this->request->shouldReceive('query')->andReturn(
[
'filter' => [
'email' => 'new_memeber@gmail.com',
],
]
);

$users = User::filter($this->request->query())
->where('email', 'mehdifathi.developer@gmail.com');

$this->assertSame($users->toSql(), $builder->toSql());

$this->assertEquals(['mehdifathi.developer@gmail.com'], $users->getBindings());
}

public function testWhereBetweenWithRelation()
{
$builder = new User();
Expand Down

0 comments on commit bc33c37

Please sign in to comment.