Skip to content

Commit 68b0528

Browse files
committed
Added a test case to support the feature of having filters with default values
1 parent f016b74 commit 68b0528

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed

tests/Feature/TableViewTest.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use LaravelViews\Test\TestCase;
99
use Illuminate\Foundation\Testing\RefreshDatabase;
1010
use LaravelViews\Test\Mock\MockTableViewWithActions;
11+
use LaravelViews\Test\Mock\MockTableViewWithDefaultFilterValue;
1112
use LaravelViews\Test\Traits\WithActions;
1213
use Livewire\Livewire;
1314

@@ -85,6 +86,16 @@ public function testSeeAllDataFoundByAFilter()
8586
->assertDontSeeUsers($livewire, $inactiveUsers);
8687
}
8788

89+
public function testSeeAllDataFoundByAFilterWithADefaultValue()
90+
{
91+
$activeUsers = factory(UserTest::class, 5)->create(['active' => true]);
92+
$inactiveUsers = factory(UserTest::class, 5)->create(['active' => false]);
93+
$livewire = Livewire::test(MockTableViewWithDefaultFilterValue::class);
94+
95+
$this->assertSeeUsers($livewire, $activeUsers)
96+
->assertDontSeeUsers($livewire, $inactiveUsers);
97+
}
98+
8899
public function testClearFilters()
89100
{
90101
Livewire::test(MockTableViewWithSearchAndFilters::class)
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<?php
2+
3+
namespace LaravelViews\Test\Mock;
4+
5+
use Illuminate\Database\Eloquent\Builder;
6+
use LaravelViews\Filters\Filter;
7+
8+
class DefaultFilterValue extends Filter
9+
{
10+
public $defaultValue = 1;
11+
12+
public function apply(Builder $query, $value, $request): Builder
13+
{
14+
return $query->where('active', $value);
15+
}
16+
17+
public function options(): array
18+
{
19+
return [
20+
'Active' => 1,
21+
'Disabled' => 0,
22+
];
23+
}
24+
}
25+
26+
class MockTableViewWithDefaultFilterValue extends MockTableView
27+
{
28+
protected function filters()
29+
{
30+
return [
31+
new DefaultFilterValue
32+
];
33+
}
34+
}

0 commit comments

Comments
 (0)