Skip to content

Commit 21a0522

Browse files
committed
validate email before create in MobilePricing
1 parent b4ebf02 commit 21a0522

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

app/Livewire/MobilePricing.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Illuminate\Support\Facades\Auth;
88
use Illuminate\Support\Facades\Hash;
99
use Illuminate\Support\Facades\Log;
10+
use Illuminate\Support\Facades\Validator;
1011
use Illuminate\Support\Str;
1112
use Livewire\Component;
1213

@@ -71,6 +72,10 @@ public function createCheckoutSession(string $plan, ?User $user = null)
7172

7273
private function findOrCreateUser(string $email): User
7374
{
75+
Validator::validate(['email' => $email], [
76+
'email' => 'required|email|max:255',
77+
]);
78+
7479
return User::firstOrCreate([
7580
'email' => $email,
7681
], [

tests/Feature/MobilePricingTest.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,12 @@ public function authenticated_users_do_not_see_purchase_modal_component()
6060
Livewire::test(MobilePricing::class)
6161
->assertDontSeeLivewire('purchase-modal');
6262
}
63+
64+
#[Test]
65+
public function it_validates_email_before_creating_user()
66+
{
67+
Livewire::test(MobilePricing::class)
68+
->call('handlePurchaseRequest', ['email' => 'invalid-email'])
69+
->assertHasErrors('email');
70+
}
6371
}

0 commit comments

Comments
 (0)