diff --git a/tests/Unit/Views/Filters/BooleanFilterTest.php b/tests/Unit/Views/Filters/BooleanFilterTest.php index 5e834a339..5fb5203e4 100644 --- a/tests/Unit/Views/Filters/BooleanFilterTest.php +++ b/tests/Unit/Views/Filters/BooleanFilterTest.php @@ -27,6 +27,18 @@ public function test_can_set_boolean_filter_to_integer(): void $this->assertTrue(self::$filterInstance->validate(1)); } + public function test_can_set_boolean_filter_to_valid_string(): void + { + $this->assertTrue(self::$filterInstance->validate('1')); + $this->assertFalse(self::$filterInstance->validate('0')); + } + + public function test_cannot_set_boolean_filter_to_valid_string(): void + { + $this->assertFalse(self::$filterInstance->validate('abc')); + $this->assertFalse(self::$filterInstance->validate('def')); + } + public function test_can_get_custom_filter_pills(): void { $filter = self::$filterInstance; @@ -74,6 +86,11 @@ public function test_can_get_if_boolean_filter_not_empty_string(): void $this->assertFalse(self::$filterInstance->isEmpty('0')); } + public function test_can_get_if_boolean_filter_not_empty_invalid_string(): void + { + $this->assertTrue(self::$filterInstance->isEmpty('abc')); + } + public function test_can_validate_null_boolean_filter_value(): void { $filter = self::$filterInstance; diff --git a/tests/Unit/Views/Filters/LivewireComponentFilterTest.php b/tests/Unit/Views/Filters/LivewireComponentFilterTest.php new file mode 100644 index 000000000..447e229b6 --- /dev/null +++ b/tests/Unit/Views/Filters/LivewireComponentFilterTest.php @@ -0,0 +1,49 @@ +assertFalse($filter->hasFilterCallback()); + + $filter = LivewireComponentFilter::make('Active') + ->filter(function (Builder $builder, int $value) { + return $builder->where('name', '=', $value); + }); + + $this->assertTrue($filter->hasFilterCallback()); + $this->assertIsCallable($filter->getFilterCallback()); + } + + public function test_can_set_livewire_component_filter_to_text(): void + { + $filter = LivewireComponentFilter::make('BreedID'); + $this->assertSame('test', $filter->validate('test')); + $this->assertSame('123', $filter->validate(123)); + + } + + public function test_can_get_if_livewire_component_filter_empty(): void + { + $filter = LivewireComponentFilter::make('Active'); + $this->assertTrue($filter->isEmpty(null)); + $this->assertTrue($filter->isEmpty('')); + $this->assertFalse($filter->isEmpty('123')); + $this->assertFalse($filter->isEmpty('test')); + $this->assertFalse($filter->isEmpty(1234)); + + } +}