Skip to content

Commit 7bdd784

Browse files
committed
Update QueryDataTableTest.php
1 parent 71befb2 commit 7bdd784

File tree

1 file changed

+19
-13
lines changed

1 file changed

+19
-13
lines changed

tests/Unit/QueryDataTableTest.php

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Illuminate\Support\Facades\DB;
66
use Illuminate\Support\Str;
7+
use Yajra\DataTables\Tests\Models\Post;
78
use Yajra\DataTables\Tests\Models\User;
89
use Yajra\DataTables\Tests\TestCase;
910

@@ -111,10 +112,27 @@ public function test_simple_queries_with_complexe_select_are_not_wrapped()
111112
);
112113

113114
$this->assertQueryWrapped(false, $dataTable->prepareCountQuery());
114-
$this->assertQueryIsFromSub(false, $dataTable->prepareCountQuery());
115115
$this->assertEquals(20, $dataTable->count());
116116
}
117117

118+
public function test_simple_queries_with_complexe_where_are_not_wrapped()
119+
{
120+
/** @var \Yajra\DataTables\QueryDataTable $dataTable */
121+
$dataTable = app('datatables')->of(
122+
DB::table('users')
123+
->select('users.*')
124+
->where(
125+
DB::table('posts')
126+
->whereColumn('posts.user_id', 'users.id')
127+
->orderBy('created_at')
128+
->select('title'), 'User-1 Post-1'
129+
)
130+
);
131+
132+
$this->assertQueryWrapped(false, $dataTable->prepareCountQuery());
133+
$this->assertEquals(1, $dataTable->prepareCountQuery()->first()->row_count);
134+
}
135+
118136
public function test_simple_queries_are_not_wrapped_and_countable()
119137
{
120138
/** @var \Yajra\DataTables\QueryDataTable $dataTable */
@@ -160,16 +178,4 @@ public function assertQueryHasNoSelect($expected, $query)
160178

161179
$this->assertSame($expected, Str::startsWith($sql, 'select count(*) from (select 1 as dt_row_count from'), "'{$sql}' has select");
162180
}
163-
164-
/**
165-
* @param $expected bool
166-
* @param $query \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Query\Builder
167-
* @return void
168-
*/
169-
public function assertQueryIsFromSub($expected, $query)
170-
{
171-
$sql = $query->select(DB::raw('count(*)'))->toSql();
172-
173-
$this->assertSame($expected, Str::startsWith($sql, 'select count(*) from (select'), "'{$sql}' is from sub query");
174-
}
175181
}

0 commit comments

Comments
 (0)