From 5425277b53371a2208b71aec284c550b96e37170 Mon Sep 17 00:00:00 2001 From: Marwin Hochfelsner <50826859+hlfan@users.noreply.github.com> Date: Thu, 6 Nov 2025 03:25:46 +0100 Subject: [PATCH] Add tests for user.preferred_color_scheme Co-authored-by: Pablo Brasero --- test/models/user_test.rb | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/test/models/user_test.rb b/test/models/user_test.rb index 507724929..2899b5100 100644 --- a/test/models/user_test.rb +++ b/test/models/user_test.rb @@ -267,6 +267,42 @@ class UserTest < ActiveSupport::TestCase assert_equal %w[en de], user.languages end + def test_preferred_color_scheme_nil_if_nothing_selected + user = create(:user) + assert_nil user.preferred_color_scheme(:map, :site) + end + + def test_preferred_color_scheme_as_selected + preferences = [ + create(:user_preference, :k => "map.color_scheme", :v => "dark"), + create(:user_preference, :k => "site.color_scheme", :v => "light") + ] + user = create(:user, :preferences => preferences) + + assert_equal "dark", user.preferred_color_scheme(:map, :site) + end + + def test_preferred_color_scheme_fallback_if_auto + preferences = [ + create(:user_preference, :k => "map.color_scheme", :v => "auto"), + create(:user_preference, :k => "site.color_scheme", :v => "light") + ] + user = create(:user, :preferences => preferences) + + assert_nil user.preferred_color_scheme(:map) + assert_equal "light", user.preferred_color_scheme(:map, :site) + end + + def test_preferred_color_scheme_fallback_if_missing + preferences = [ + create(:user_preference, :k => "site.color_scheme", :v => "light") + ] + user = create(:user, :preferences => preferences) + + assert_nil user.preferred_color_scheme(:map) + assert_equal "light", user.preferred_color_scheme(:map, :site) + end + def test_default_diary_language_undefined create(:language, :code => "en") user = create(:user, :languages => []) -- 2.39.5