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