commit: aa662cecada500b57d8959f311a2a74e41e6211a
parent: 84608c3ff8fe51654868546cca6e64730d06286e
Author: Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
Date: Mon, 22 May 2017 13:00:07 +0900
single_user_mode? always returns boolean (#3215)
This change also adds a specification for the method.
Diffstat:
2 files changed, 25 insertions(+), 1 deletion(-)
diff --git 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
@@ -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