Add the PasswordResetLinkSent event dispatch to the request password reset page

This commit is contained in:
Amir Alizadeh
2025-05-14 19:29:29 +03:30
parent ae1adefc2f
commit aba8e8c12b
2 changed files with 9 additions and 0 deletions
@@ -17,6 +17,7 @@ use Filament\Notifications\Notification;
use Filament\Pages\Concerns\InteractsWithFormActions;
use Filament\Pages\SimplePage;
use Filament\Support\Facades\FilamentIcon;
use Illuminate\Auth\Events\PasswordResetLinkSent;
use Illuminate\Contracts\Auth\CanResetPassword;
use Illuminate\Contracts\Support\Htmlable;
use Illuminate\Support\Facades\Password;
@@ -80,6 +81,10 @@ class RequestPasswordReset extends SimplePage
$notification->url = Filament::getResetPasswordUrl($token, $user);
$user->notify($notification);
if (class_exists(PasswordResetLinkSent::class)) {
event(new PasswordResetLinkSent($user));
}
},
);
@@ -6,6 +6,8 @@ use Filament\Notifications\Notification as FilamentNotification;
use Filament\Pages\Auth\PasswordReset\RequestPasswordReset;
use Filament\Tests\Models\User;
use Filament\Tests\TestCase;
use Illuminate\Auth\Events\PasswordResetLinkSent;
use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\Notification;
use function Filament\Tests\livewire;
@@ -30,6 +32,7 @@ it('can render page with a custom slug', function () {
it('can request password reset', function () {
Notification::fake();
Event::fake();
$this->assertGuest();
@@ -48,6 +51,7 @@ it('can request password reset', function () {
);
Notification::assertSentTo($userToResetPassword, ResetPassword::class);
Event::assertDispatched(PasswordResetLinkSent::class, fn (PasswordResetLinkSent $event) => $event->user->is($userToResetPassword));
});
it('cannot request password reset without panel access', function () {