From ade5feb46d0be602de64af347b4c2015f84eec9f Mon Sep 17 00:00:00 2001 From: LRLJoe Date: Sun, 8 Dec 2024 03:05:38 +0000 Subject: [PATCH 1/2] Add missing LivewireComponentFilterTest and BooleanFilterTest --- .../Unit/Views/Filters/BooleanFilterTest.php | 19 +++++++ .../Filters/LivewireComponentFilterTest.php | 50 +++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 tests/Unit/Views/Filters/LivewireComponentFilterTest.php diff --git a/tests/Unit/Views/Filters/BooleanFilterTest.php b/tests/Unit/Views/Filters/BooleanFilterTest.php index 5e834a339..cd3eeefa5 100644 --- a/tests/Unit/Views/Filters/BooleanFilterTest.php +++ b/tests/Unit/Views/Filters/BooleanFilterTest.php @@ -27,6 +27,19 @@ 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 +87,12 @@ 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..fb31fce47 --- /dev/null +++ b/tests/Unit/Views/Filters/LivewireComponentFilterTest.php @@ -0,0 +1,50 @@ +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)); + + } + +} \ No newline at end of file From c4f0b362a17606f71c0794e93de6ab400e845cfd Mon Sep 17 00:00:00 2001 From: lrljoe Date: Sun, 8 Dec 2024 03:06:05 +0000 Subject: [PATCH 2/2] Fix styling --- tests/Unit/Views/Filters/BooleanFilterTest.php | 10 ++++------ .../Unit/Views/Filters/LivewireComponentFilterTest.php | 3 +-- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/tests/Unit/Views/Filters/BooleanFilterTest.php b/tests/Unit/Views/Filters/BooleanFilterTest.php index cd3eeefa5..5fb5203e4 100644 --- a/tests/Unit/Views/Filters/BooleanFilterTest.php +++ b/tests/Unit/Views/Filters/BooleanFilterTest.php @@ -29,17 +29,16 @@ public function test_can_set_boolean_filter_to_integer(): void public function test_can_set_boolean_filter_to_valid_string(): void { - $this->assertTrue(self::$filterInstance->validate("1")); - $this->assertFalse(self::$filterInstance->validate("0")); + $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")); + $this->assertFalse(self::$filterInstance->validate('abc')); + $this->assertFalse(self::$filterInstance->validate('def')); } - public function test_can_get_custom_filter_pills(): void { $filter = self::$filterInstance; @@ -92,7 +91,6 @@ 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 index fb31fce47..447e229b6 100644 --- a/tests/Unit/Views/Filters/LivewireComponentFilterTest.php +++ b/tests/Unit/Views/Filters/LivewireComponentFilterTest.php @@ -46,5 +46,4 @@ public function test_can_get_if_livewire_component_filter_empty(): void $this->assertFalse($filter->isEmpty(1234)); } - -} \ No newline at end of file +}