diff --git a/app/views/super_admin/users/show.html.erb b/app/views/super_admin/users/show.html.erb
index d8b2c6102..f7ac71480 100644
--- a/app/views/super_admin/users/show.html.erb
+++ b/app/views/super_admin/users/show.html.erb
@@ -53,6 +53,14 @@ as well as a link to its edit page.
<% end %>
<% end %>
+
+
MFA
+
+ <% mfa_enabled = page.resource.mfa_enabled? %>
+
+ <%= mfa_enabled ? 'Enabled' : 'Disabled' %>
+
+
diff --git a/spec/controllers/super_admin/users_controller_spec.rb b/spec/controllers/super_admin/users_controller_spec.rb
index 894c9d425..e1461f554 100644
--- a/spec/controllers/super_admin/users_controller_spec.rb
+++ b/spec/controllers/super_admin/users_controller_spec.rb
@@ -12,7 +12,7 @@ RSpec.describe 'Super Admin Users API', type: :request do
end
context 'when it is an authenticated super admin' do
- let!(:user) { create(:user) }
+ let!(:user) { create(:user, name: 'Disabled User') }
let!(:params) do
{ user: {
name: 'admin@example.com',
@@ -27,9 +27,13 @@ RSpec.describe 'Super Admin Users API', type: :request do
it 'shows the list of users' do
sign_in(super_admin, scope: :super_admin)
get '/super_admin/users'
+ doc = Nokogiri::HTML(response.body)
+ header_texts = doc.css('table thead th').map { |header| header.text.squish }
+
expect(response).to have_http_status(:success)
expect(response.body).to include('New user')
expect(response.body).to include(CGI.escapeHTML(user.name))
+ expect(header_texts).not_to include('MFA')
end
it 'creates the new super_admin record' do
@@ -100,4 +104,21 @@ RSpec.describe 'Super Admin Users API', type: :request do
expect(mail_jobs.count).to be >= 1
end
end
+
+ describe 'GET /super_admin/users/:id' do
+ let!(:user) { create(:user, name: 'MFA Enabled User', otp_required_for_login: true) }
+
+ it 'shows the MFA status on the user detail page' do
+ sign_in(super_admin, scope: :super_admin)
+
+ get "/super_admin/users/#{user.id}"
+ doc = Nokogiri::HTML(response.body)
+ labels = doc.css('dt.attribute-label').map { |label| label.text.squish }
+
+ expect(response).to have_http_status(:success)
+ expect(labels).to include('MFA')
+ expect(response.body).to include('Enabled')
+ expect(response.body).to include(CGI.escapeHTML(user.name))
+ end
+ end
end