initial commit
This commit is contained in:
		
							
								
								
									
										69
									
								
								tests/Feature/TwoFactorAuthenticationSettingsTest.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								tests/Feature/TwoFactorAuthenticationSettingsTest.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,69 @@ | ||||
| <?php | ||||
| 
 | ||||
| namespace Tests\Feature; | ||||
| 
 | ||||
| use App\Models\User; | ||||
| use Illuminate\Foundation\Testing\RefreshDatabase; | ||||
| use Laravel\Fortify\Features; | ||||
| use Tests\TestCase; | ||||
| 
 | ||||
| class TwoFactorAuthenticationSettingsTest extends TestCase | ||||
| { | ||||
|     use RefreshDatabase; | ||||
| 
 | ||||
|     public function test_two_factor_authentication_can_be_enabled() | ||||
|     { | ||||
|         if (! Features::canManageTwoFactorAuthentication()) { | ||||
|             return $this->markTestSkipped('Two factor authentication is not enabled.'); | ||||
|         } | ||||
| 
 | ||||
|         $this->actingAs($user = User::factory()->create()); | ||||
| 
 | ||||
|         $this->withSession(['auth.password_confirmed_at' => time()]); | ||||
| 
 | ||||
|         $response = $this->post('/user/two-factor-authentication'); | ||||
| 
 | ||||
|         $this->assertNotNull($user->fresh()->two_factor_secret); | ||||
|         $this->assertCount(8, $user->fresh()->recoveryCodes()); | ||||
|     } | ||||
| 
 | ||||
|     public function test_recovery_codes_can_be_regenerated() | ||||
|     { | ||||
|         if (! Features::canManageTwoFactorAuthentication()) { | ||||
|             return $this->markTestSkipped('Two factor authentication is not enabled.'); | ||||
|         } | ||||
| 
 | ||||
|         $this->actingAs($user = User::factory()->create()); | ||||
| 
 | ||||
|         $this->withSession(['auth.password_confirmed_at' => time()]); | ||||
| 
 | ||||
|         $this->post('/user/two-factor-authentication'); | ||||
|         $this->post('/user/two-factor-recovery-codes'); | ||||
| 
 | ||||
|         $user = $user->fresh(); | ||||
| 
 | ||||
|         $this->post('/user/two-factor-recovery-codes'); | ||||
| 
 | ||||
|         $this->assertCount(8, $user->recoveryCodes()); | ||||
|         $this->assertCount(8, array_diff($user->recoveryCodes(), $user->fresh()->recoveryCodes())); | ||||
|     } | ||||
| 
 | ||||
|     public function test_two_factor_authentication_can_be_disabled() | ||||
|     { | ||||
|         if (! Features::canManageTwoFactorAuthentication()) { | ||||
|             return $this->markTestSkipped('Two factor authentication is not enabled.'); | ||||
|         } | ||||
| 
 | ||||
|         $this->actingAs($user = User::factory()->create()); | ||||
| 
 | ||||
|         $this->withSession(['auth.password_confirmed_at' => time()]); | ||||
| 
 | ||||
|         $this->post('/user/two-factor-authentication'); | ||||
| 
 | ||||
|         $this->assertNotNull($user->fresh()->two_factor_secret); | ||||
| 
 | ||||
|         $this->delete('/user/two-factor-authentication'); | ||||
| 
 | ||||
|         $this->assertNull($user->fresh()->two_factor_secret); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user