initial commit
This commit is contained in:
		
							
								
								
									
										94
									
								
								tests/Feature/PasswordResetTest.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										94
									
								
								tests/Feature/PasswordResetTest.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,94 @@ | ||||
| <?php | ||||
| 
 | ||||
| namespace Tests\Feature; | ||||
| 
 | ||||
| use App\Models\User; | ||||
| use Illuminate\Auth\Notifications\ResetPassword; | ||||
| use Illuminate\Foundation\Testing\RefreshDatabase; | ||||
| use Illuminate\Support\Facades\Notification; | ||||
| use Laravel\Fortify\Features; | ||||
| use Tests\TestCase; | ||||
| 
 | ||||
| class PasswordResetTest extends TestCase | ||||
| { | ||||
|     use RefreshDatabase; | ||||
| 
 | ||||
|     public function test_reset_password_link_screen_can_be_rendered() | ||||
|     { | ||||
|         if (! Features::enabled(Features::resetPasswords())) { | ||||
|             return $this->markTestSkipped('Password updates are not enabled.'); | ||||
|         } | ||||
| 
 | ||||
|         $response = $this->get('/forgot-password'); | ||||
| 
 | ||||
|         $response->assertStatus(200); | ||||
|     } | ||||
| 
 | ||||
|     public function test_reset_password_link_can_be_requested() | ||||
|     { | ||||
|         if (! Features::enabled(Features::resetPasswords())) { | ||||
|             return $this->markTestSkipped('Password updates are not enabled.'); | ||||
|         } | ||||
| 
 | ||||
|         Notification::fake(); | ||||
| 
 | ||||
|         $user = User::factory()->create(); | ||||
| 
 | ||||
|         $response = $this->post('/forgot-password', [ | ||||
|             'email' => $user->email, | ||||
|         ]); | ||||
| 
 | ||||
|         Notification::assertSentTo($user, ResetPassword::class); | ||||
|     } | ||||
| 
 | ||||
|     public function test_reset_password_screen_can_be_rendered() | ||||
|     { | ||||
|         if (! Features::enabled(Features::resetPasswords())) { | ||||
|             return $this->markTestSkipped('Password updates are not enabled.'); | ||||
|         } | ||||
| 
 | ||||
|         Notification::fake(); | ||||
| 
 | ||||
|         $user = User::factory()->create(); | ||||
| 
 | ||||
|         $response = $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; | ||||
|         }); | ||||
|     } | ||||
| 
 | ||||
|     public function test_password_can_be_reset_with_valid_token() | ||||
|     { | ||||
|         if (! Features::enabled(Features::resetPasswords())) { | ||||
|             return $this->markTestSkipped('Password updates are not enabled.'); | ||||
|         } | ||||
| 
 | ||||
|         Notification::fake(); | ||||
| 
 | ||||
|         $user = User::factory()->create(); | ||||
| 
 | ||||
|         $response = $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(); | ||||
| 
 | ||||
|             return true; | ||||
|         }); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user