diff --git a/.phpunit.result.cache b/.phpunit.result.cache new file mode 100644 index 0000000..da9cd8d --- /dev/null +++ b/.phpunit.result.cache @@ -0,0 +1 @@ +{"version":2,"defects":{"Tests\\Feature\\MyWinningsTest::test_mywinnings_form_is_accessible":8,"Tests\\Feature\\MyWinningsTest::test_mywinnings_results_show_correct_data":8,"Tests\\Feature\\MyWinningsTest::test_mywinnings_invalid_bidder_shows_error":8},"times":{"Tests\\Unit\\PhoneFormattingTest::it_formats_a_10_digit_phone_number":0.018,"Tests\\Unit\\PhoneFormattingTest::it_strips_non_numeric_characters_before_formatting":0,"Tests\\Unit\\PhoneFormattingTest::it_returns_original_value_if_not_10_digits":0,"Tests\\Unit\\PhoneFormattingTest::bidder_model_accessor_formats_phone_number":0.003}} \ No newline at end of file diff --git a/app/Filament/Resources/BiddersResource.php b/app/Filament/Resources/BiddersResource.php index 274c3a5..a99c4f3 100644 --- a/app/Filament/Resources/BiddersResource.php +++ b/app/Filament/Resources/BiddersResource.php @@ -57,7 +57,8 @@ class BiddersResource extends Resource TextColumn::make('bidder_city')->label('City')->sortable(), TextColumn::make('bidder_state')->label('State')->sortable(), TextColumn::make('bidder_zip')->label('Zip')->sortable(), - TextColumn::make('bidder_phone')->label('Phone Number')->sortable(), + TextColumn::make('bidder_phone')->label('Phone Number')->sortable() + ->formatStateUsing(fn ($state) => \App\Helpers\PhoneHelper::format($state)), TextColumn::make('bidder_email')->label('Email')->sortable(), ]) ->filters([ diff --git a/app/Helpers/PhoneHelper.php b/app/Helpers/PhoneHelper.php new file mode 100644 index 0000000..6421b52 --- /dev/null +++ b/app/Helpers/PhoneHelper.php @@ -0,0 +1,14 @@ +bidder_zip }} - {{ $bidderlist_result->bidder_phone }} + {{ \App\Helpers\PhoneHelper::format($bidderlist_result->bidder_phone) }} {{ $bidderlist_result->bidder_email }} diff --git a/resources/views/checkout.blade.php b/resources/views/checkout.blade.php index ae383f1..cc9299e 100644 --- a/resources/views/checkout.blade.php +++ b/resources/views/checkout.blade.php @@ -33,7 +33,7 @@ Name: {{ $checkout_info_result->bidder_fname }} {{ $checkout_info_result->bidder_lname }} - Phone Number: {{ $checkout_info_result->bidder_phone }} + Phone Number: {{ \App\Helpers\PhoneHelper::format($checkout_info_result->bidder_phone) }} diff --git a/resources/views/checkout_complete.blade.php b/resources/views/checkout_complete.blade.php index 2f0fb5c..6acf915 100644 --- a/resources/views/checkout_complete.blade.php +++ b/resources/views/checkout_complete.blade.php @@ -51,7 +51,7 @@ Name: {{ $checkout_info_result->bidder_fname }} {{ $checkout_info_result->bidder_lname }} - Phone Number: {{ $checkout_info_result->bidder_phone }} + Phone Number: {{ \App\Helpers\PhoneHelper::format($checkout_info_result->bidder_phone) }} diff --git a/resources/views/checkout_complete_list.blade.php b/resources/views/checkout_complete_list.blade.php index 8094cb8..3b25e63 100644 --- a/resources/views/checkout_complete_list.blade.php +++ b/resources/views/checkout_complete_list.blade.php @@ -70,7 +70,7 @@ {{ $checkout_complete_result->bidder_zip }} - {{ $checkout_complete_result->bidder_phone }} + {{ \App\Helpers\PhoneHelper::format($checkout_complete_result->bidder_phone) }} {{ $checkout_complete_result->bidder_email }} diff --git a/resources/views/finaltally.blade.php b/resources/views/finaltally.blade.php index 46c2478..7c82e04 100644 --- a/resources/views/finaltally.blade.php +++ b/resources/views/finaltally.blade.php @@ -67,8 +67,7 @@ {{ $finaltally_result->bidder_zip }} - {{ $finaltally_result->bidder_phone }} - + {{ \App\Helpers\PhoneHelper::format($finaltally_result->bidder_phone) }} {{ $finaltally_result->bidder_email }} diff --git a/resources/views/receiptpdf.blade.php b/resources/views/receiptpdf.blade.php index 8fd2529..057b54c 100644 --- a/resources/views/receiptpdf.blade.php +++ b/resources/views/receiptpdf.blade.php @@ -49,8 +49,7 @@ Name: {{ $checkout_info_result->bidder_fname }} {{ $checkout_info_result->bidder_lname }} - Phone Number: {{ $checkout_info_result->bidder_phone }} - + Phone Number: {{ \App\Helpers\PhoneHelper::format($checkout_info_result->bidder_phone) }} diff --git a/resources/views/receiptpdf2.blade.php b/resources/views/receiptpdf2.blade.php index e8c2554..72f50fe 100644 --- a/resources/views/receiptpdf2.blade.php +++ b/resources/views/receiptpdf2.blade.php @@ -49,8 +49,7 @@ Name: {{ $checkout_info_result->bidder_fname }} {{ $checkout_info_result->bidder_lname }} - Phone Number: {{ $checkout_info_result->bidder_phone }} - + Phone Number: {{ \App\Helpers\PhoneHelper::format($checkout_info_result->bidder_phone) }} diff --git a/resources/views/showcarlist.blade.php b/resources/views/showcarlist.blade.php index 05e1245..59ebae6 100644 --- a/resources/views/showcarlist.blade.php +++ b/resources/views/showcarlist.blade.php @@ -78,7 +78,7 @@ {{ $showcarlist_result->bidder_zip }} - {{ $showcarlist_result->bidder_phone }} + {{ \App\Helpers\PhoneHelper::format($showcarlist_result->bidder_phone) }} {{ $showcarlist_result->bidder_email }} diff --git a/resources/views/winnertotal.blade.php b/resources/views/winnertotal.blade.php index 98ae756..308bd70 100644 --- a/resources/views/winnertotal.blade.php +++ b/resources/views/winnertotal.blade.php @@ -20,8 +20,7 @@ Name: {{ $winnertotal_info_result->bidder_fname }} {{ $winnertotal_info_result->bidder_lname }} - Phone Number: {{ $winnertotal_info_result->bidder_phone }} - + Phone Number: {{ \App\Helpers\PhoneHelper::format($winnertotal_info_result->bidder_phone) }} Total: ${{ $winnertotal_info_result->total_cost }} diff --git a/tests/Unit/PhoneFormattingTest.php b/tests/Unit/PhoneFormattingTest.php new file mode 100644 index 0000000..b116560 --- /dev/null +++ b/tests/Unit/PhoneFormattingTest.php @@ -0,0 +1,31 @@ +assertEquals('123-456-7890', $formatted); + } + + /** @test */ + public function it_strips_non_numeric_characters_before_formatting() + { + $formatted = PhoneHelper::format('(123) 456-7890'); + $this->assertEquals('123-456-7890', $formatted); + } + + /** @test */ + public function it_returns_original_value_if_not_10_digits() + { + $formatted = PhoneHelper::format('1234567'); + $this->assertEquals('1234567', $formatted); + } +}