diff --git a/packages/panels/src/Pages/Auth/PasswordReset/RequestPasswordReset.php b/packages/panels/src/Pages/Auth/PasswordReset/RequestPasswordReset.php index dbb6b6403e..05b0b38175 100644 --- a/packages/panels/src/Pages/Auth/PasswordReset/RequestPasswordReset.php +++ b/packages/panels/src/Pages/Auth/PasswordReset/RequestPasswordReset.php @@ -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)); + } }, ); diff --git a/tests/src/Panels/Auth/PasswordReset/RequestPasswordResetTest.php b/tests/src/Panels/Auth/PasswordReset/RequestPasswordResetTest.php index a5c9f07015..f80f6714de 100644 --- a/tests/src/Panels/Auth/PasswordReset/RequestPasswordResetTest.php +++ b/tests/src/Panels/Auth/PasswordReset/RequestPasswordResetTest.php @@ -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 () {