Add preferences to user model

This commit is contained in:
Râu Cao
2023-04-04 12:27:49 +02:00
parent a33410eeb4
commit 23821f9e65
4 changed files with 61 additions and 1 deletions

View File

@@ -149,4 +149,50 @@ RSpec.describe User, type: :model do
end
end
end
describe "#pref_enabled?" do
describe "preference not set" do
# TODO return default value
it "returns false" do
expect(user.pref_enabled?("lightning:notify_sats_received")).to be(false)
end
end
describe "preference is set" do
it "returns true for boolean true" do
user.preferences.merge!({"lightning" => {"notify_sats_received" => true}})
expect(user.pref_enabled?("lightning:notify_sats_received")).to be(true)
end
it "returns true for string 'true'" do
user.preferences.merge!({"lightning" => {"notify_sats_received" => "true"}})
expect(user.pref_enabled?("lightning:notify_sats_received")).to be(true)
end
it "returns true for string 'enabled'" do
user.preferences.merge!({"lightning" => {"notify_sats_received" => "enabled"}})
expect(user.pref_enabled?("lightning:notify_sats_received")).to be(true)
end
it "returns true for integer 1" do
user.preferences.merge!({"lightning" => {"notify_sats_received" => 1}})
expect(user.pref_enabled?("lightning:notify_sats_received")).to be(true)
end
it "returns false for boolean false" do
user.preferences.merge!({"lightning" => {"notify_sats_received" => false}})
expect(user.pref_enabled?("lightning:notify_sats_received")).to be(false)
end
it "returns false for string 'false'" do
user.preferences.merge!({"lightning" => {"notify_sats_received" => "false"}})
expect(user.pref_enabled?("lightning:notify_sats_received")).to be(false)
end
it "returns false for integer 0" do
user.preferences.merge!({"lightning" => {"notify_sats_received" => 0}})
expect(user.pref_enabled?("lightning:notify_sats_received")).to be(false)
end
end
end
end