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;
- });
- });
|