| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- <?php
- use App\Models\User;
- use Illuminate\Auth\Notifications\ResetPassword;
- use Illuminate\Support\Facades\Notification;
- test('reset password link screen can be rendered', function () {
- $response = $this->get('/forgot-password');
- $response->assertStatus(200);
- });
- test('reset password link can be requested', function () {
- Notification::fake();
- $user = User::factory()->create();
- $this->post('/forgot-password', ['email' => $user->email]);
- Notification::assertSentTo($user, ResetPassword::class);
- });
- test('reset password screen can be rendered', function () {
- Notification::fake();
- $user = User::factory()->create();
- $this->post('/forgot-password', ['email' => $user->email]);
- Notification::assertSentTo($user, ResetPassword::class, function ($notification) {
- $response = $this->get('/reset-password/'.$notification->token);
- $response->assertStatus(200);
- return true;
- });
- });
- test('password can be reset with valid token', function () {
- Notification::fake();
- $user = User::factory()->create();
- $this->post('/forgot-password', ['email' => $user->email]);
- Notification::assertSentTo($user, ResetPassword::class, function ($notification) use ($user) {
- $response = $this->post('/reset-password', [
- 'token' => $notification->token,
- 'email' => $user->email,
- 'password' => 'password',
- 'password_confirmation' => 'password',
- ]);
- $response
- ->assertSessionHasNoErrors()
- ->assertRedirect(route('login'));
- return true;
- });
- });
|