markTestSkipped('Two-factor authentication is not enabled.'); } Features::twoFactorAuthentication([ 'confirm' => true, 'confirmPassword' => true, ]); $user = User::factory()->create(); $this->actingAs($user) ->withSession(['auth.password_confirmed_at' => time()]) ->get(route('two-factor.show')) ->assertInertia(fn (Assert $page) => $page ->component('settings/two-factor') ->where('twoFactorEnabled', false) ); } public function test_two_factor_settings_page_requires_password_confirmation_when_enabled() { if (! Features::canManageTwoFactorAuthentication()) { $this->markTestSkipped('Two-factor authentication is not enabled.'); } $user = User::factory()->create(); Features::twoFactorAuthentication([ 'confirm' => true, 'confirmPassword' => true, ]); $response = $this->actingAs($user) ->get(route('two-factor.show')); $response->assertRedirect(route('password.confirm')); } public function test_two_factor_settings_page_does_not_requires_password_confirmation_when_disabled() { if (! Features::canManageTwoFactorAuthentication()) { $this->markTestSkipped('Two-factor authentication is not enabled.'); } $user = User::factory()->create(); Features::twoFactorAuthentication([ 'confirm' => true, 'confirmPassword' => false, ]); $this->actingAs($user) ->get(route('two-factor.show')) ->assertOk() ->assertInertia(fn (Assert $page) => $page ->component('settings/two-factor') ); } public function test_two_factor_settings_page_returns_forbidden_response_when_two_factor_is_disabled() { if (! Features::canManageTwoFactorAuthentication()) { $this->markTestSkipped('Two-factor authentication is not enabled.'); } config(['fortify.features' => []]); $user = User::factory()->create(); $this->actingAs($user) ->withSession(['auth.password_confirmed_at' => time()]) ->get(route('two-factor.show')) ->assertForbidden(); } }