1+ <?php
2+
3+ namespace Rappasoft \LaravelLivewireTables \Tests \Unit \Views \Filters ;
4+
5+ use Illuminate \Database \Eloquent \Builder ;
6+ use Rappasoft \LaravelLivewireTables \Views \Filters \LivewireComponentFilter ;
7+
8+ final class LivewireComponentFilterTest extends FilterTestCase
9+ {
10+ protected function setUp (): void
11+ {
12+ parent ::setUp ();
13+ self ::$ filterInstance = LivewireComponentFilter::make ('Active ' );
14+ }
15+
16+ public function test_can_get_filter_callback (): void
17+ {
18+ $ filter = LivewireComponentFilter::make ('Active ' );
19+
20+ $ this ->assertFalse ($ filter ->hasFilterCallback ());
21+
22+ $ filter = LivewireComponentFilter::make ('Active ' )
23+ ->filter (function (Builder $ builder , int $ value ) {
24+ return $ builder ->where ('name ' , '= ' , $ value );
25+ });
26+
27+ $ this ->assertTrue ($ filter ->hasFilterCallback ());
28+ $ this ->assertIsCallable ($ filter ->getFilterCallback ());
29+ }
30+
31+ public function test_can_set_livewire_component_filter_to_text (): void
32+ {
33+ $ filter = LivewireComponentFilter::make ('BreedID ' );
34+ $ this ->assertSame ('test ' , $ filter ->validate ('test ' ));
35+ $ this ->assertSame ('123 ' , $ filter ->validate (123 ));
36+
37+ }
38+
39+ public function test_can_get_if_livewire_component_filter_empty (): void
40+ {
41+ $ filter = LivewireComponentFilter::make ('Active ' );
42+ $ this ->assertTrue ($ filter ->isEmpty (null ));
43+ $ this ->assertTrue ($ filter ->isEmpty ('' ));
44+ $ this ->assertFalse ($ filter ->isEmpty ('123 ' ));
45+ $ this ->assertFalse ($ filter ->isEmpty ('test ' ));
46+ $ this ->assertFalse ($ filter ->isEmpty (1234 ));
47+
48+ }
49+
50+ }
0 commit comments