app controller: move safe mode from app controller to SessionLoader.

This commit is contained in:
evazion
2019-08-24 22:55:36 -05:00
parent f151285038
commit 1a964f7a10
7 changed files with 55 additions and 48 deletions

View File

@@ -0,0 +1,45 @@
require 'test_helper'
class SessionLoaderTest < ActiveSupport::TestCase
context "SessionLoader" do
setup do
@request = mock
@request.stubs(:host).returns("danbooru")
@request.stubs(:remote_ip).returns("127.0.0.1")
@request.stubs(:authorization).returns(nil)
@request.stubs(:cookie_jar).returns({})
@request.stubs(:parameters).returns({})
@request.stubs(:session).returns({})
end
teardown do
CurrentUser.user = nil
CurrentUser.ip_addr = nil
CurrentUser.safe_mode = nil
end
context ".safe_mode?" do
should "return true if the host contains the string safebooru" do
@request.stubs(:host).returns("safebooru")
SessionLoader.new(@request).load
assert_equal(true, CurrentUser.safe_mode?)
end
should "return false if the host contains the string danbooru" do
@request.stubs(:host).returns("danbooru")
SessionLoader.new(@request).load
assert_equal(false, CurrentUser.safe_mode?)
end
should "return true if the user has enabled the safe mode account setting" do
@user = create(:user, enable_safe_mode: true)
@request.stubs(:session).returns(user_id: @user.id)
SessionLoader.new(@request).load
assert_equal(true, CurrentUser.safe_mode?)
end
end
end
end