2024-02-25 12:15:55 -05:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
require "test_helper"
|
2019-08-24 23:55:36 -04:00
|
|
|
|
|
|
|
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)
|
2022-04-07 12:23:20 -04:00
|
|
|
cookie_jar = mock
|
|
|
|
cookie_jar.stubs(:encrypted).returns({})
|
|
|
|
@request.stubs(:cookie_jar).returns(cookie_jar)
|
2019-08-24 23:55:36 -04:00
|
|
|
@request.stubs(:parameters).returns({})
|
|
|
|
@request.stubs(:session).returns({})
|
|
|
|
end
|
|
|
|
|
|
|
|
context ".safe_mode?" do
|
2022-04-07 12:23:20 -04:00
|
|
|
should "return true if the config has safe mode enabled" do
|
|
|
|
Danbooru.config.stubs(:safe_mode?).returns(true)
|
2019-08-24 23:55:36 -04:00
|
|
|
SessionLoader.new(@request).load
|
|
|
|
|
|
|
|
assert_equal(true, CurrentUser.safe_mode?)
|
|
|
|
end
|
|
|
|
|
2022-04-07 12:23:20 -04:00
|
|
|
should "return false if the config has safe mode disabled" do
|
|
|
|
Danbooru.config.stubs(:safe_mode?).returns(false)
|
2019-08-24 23:55:36 -04:00
|
|
|
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)
|
2022-09-17 13:32:21 -04:00
|
|
|
@request.stubs(:session).returns(user_id: @user.id, ph: @user.password_token)
|
2019-08-24 23:55:36 -04:00
|
|
|
SessionLoader.new(@request).load
|
|
|
|
|
|
|
|
assert_equal(true, CurrentUser.safe_mode?)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|