From 4e8a164f9de4c95b7fd39243a8246d4b0af4e530 Mon Sep 17 00:00:00 2001 From: Mitchell Henke Date: Mon, 4 Apr 2022 09:20:57 -0500 Subject: [PATCH] Ensure backup codes exist before rendering refreshed template changelog: Bug Fixes, Account Management, Fix error trying to view refreshed backup codes when they do not exist --- .../users/backup_code_setup_controller.rb | 2 +- .../users/backup_code_setup_controller_spec.rb | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/controllers/users/backup_code_setup_controller.rb b/app/controllers/users/backup_code_setup_controller.rb index 79429ee5457..a23d8dd332b 100644 --- a/app/controllers/users/backup_code_setup_controller.rb +++ b/app/controllers/users/backup_code_setup_controller.rb @@ -6,7 +6,7 @@ class BackupCodeSetupController < ApplicationController before_action :authenticate_user! before_action :confirm_user_authenticated_for_2fa_setup - before_action :ensure_backup_codes_in_session, only: %i[continue download] + before_action :ensure_backup_codes_in_session, only: %i[continue download refreshed] before_action :set_backup_code_setup_presenter before_action :apply_secure_headers_override diff --git a/spec/controllers/users/backup_code_setup_controller_spec.rb b/spec/controllers/users/backup_code_setup_controller_spec.rb index 58a9755637b..75b874f155e 100644 --- a/spec/controllers/users/backup_code_setup_controller_spec.rb +++ b/spec/controllers/users/backup_code_setup_controller_spec.rb @@ -33,4 +33,16 @@ expect(response).to redirect_to(account_two_factor_authentication_path) expect(user.backup_code_configurations.length).to eq 0 end + + describe '#refreshed' do + render_views + + it 'does not 500 when codes have not been generated' do + user = create(:user, :signed_up) + stub_sign_in(user) + get :refreshed + + expect(response).to redirect_to(backup_code_setup_url) + end + end end