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/TwoFactor') ->where('twoFactorEnabled', false) ); }); test('two factor settings page requires password confirmation when enabled', function () { 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')); }); test('two factor settings page does not requires password confirmation when disabled', function () { 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/TwoFactor') ); }); test('two factor settings page returns forbidden response when two factor is disabled', function () { 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(); });