summaryrefslogtreecommitdiff
path: root/spec/features/users/login_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/features/users/login_spec.rb')
-rw-r--r--spec/features/users/login_spec.rb11
1 files changed, 9 insertions, 2 deletions
diff --git a/spec/features/users/login_spec.rb b/spec/features/users/login_spec.rb
index 8610cae58a4..822bf898034 100644
--- a/spec/features/users/login_spec.rb
+++ b/spec/features/users/login_spec.rb
@@ -818,7 +818,6 @@ RSpec.describe 'Login', :clean_gitlab_redis_sessions do
context 'when 2FA is required for the user' do
before do
- stub_feature_flags(mr_attention_requests: false)
group = create(:group, require_two_factor_authentication: true)
group.add_developer(user)
end
@@ -840,7 +839,15 @@ RSpec.describe 'Login', :clean_gitlab_redis_sessions do
expect(page).to have_current_path(profile_two_factor_auth_path, ignore_query: true)
- fill_in 'pin_code', with: user.reload.current_otp
+ # Use the secret shown on the page to generate the OTP that will be entered.
+ # This detects issues wherein a new secret gets generated after the
+ # page is shown.
+ wait_for_requests
+
+ otp_secret = page.find('.two-factor-secret').text.gsub('Key:', '').delete(' ')
+ current_otp = ROTP::TOTP.new(otp_secret).now
+
+ fill_in 'pin_code', with: current_otp
fill_in 'current_password', with: user.password
click_button 'Register with two-factor app'