diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index d4428c05495..5267489e87f 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -61,7 +61,7 @@ class ApplicationController < ActionController::Base end def single_user_mode? - @single_user_mode ||= Rails.configuration.x.single_user_mode && Account.first + @single_user_mode ||= Rails.configuration.x.single_user_mode && Account.any? end def current_account diff --git a/spec/controllers/application_controller_spec.rb b/spec/controllers/application_controller_spec.rb new file mode 100644 index 00000000000..44830e12b2c --- /dev/null +++ b/spec/controllers/application_controller_spec.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +require 'rails_helper' + +describe ApplicationController do + describe 'helper_method :single_user_mode?' do + it 'returns false if it is in single_user_mode but there is no account' do + allow(Rails.configuration.x).to receive(:single_user_mode).and_return(true) + expect(controller.view_context.single_user_mode?).to eq false + end + + it 'returns false if there is an account but it is not in single_user_mode' do + allow(Rails.configuration.x).to receive(:single_user_mode).and_return(false) + Fabricate(:account) + expect(controller.view_context.single_user_mode?).to eq false + end + + it 'returns true if it is in single_user_mode and there is an account' do + allow(Rails.configuration.x).to receive(:single_user_mode).and_return(true) + Fabricate(:account) + expect(controller.view_context.single_user_mode?).to eq true + end + end +end