Merge pull request #2100 from deivid-rodriguez/fix/direct_messages_max_per_day

Fix `direct_messages_max_per_day` set to nil
This commit is contained in:
Raimond Garcia
2017-11-09 19:14:29 +01:00
committed by GitHub
2 changed files with 37 additions and 24 deletions

View File

@@ -13,6 +13,7 @@ class DirectMessage < ActiveRecord::Base
def max_per_day def max_per_day
return if errors.any? return if errors.any?
max = Setting[:direct_message_max_per_day] max = Setting[:direct_message_max_per_day]
return unless max
if sender.direct_messages_sent.today.count >= max.to_i if sender.direct_messages_sent.today.count >= max.to_i
errors.add(:title, I18n.t('activerecord.errors.models.direct_message.attributes.max_per_day.invalid')) errors.add(:title, I18n.t('activerecord.errors.models.direct_message.attributes.max_per_day.invalid'))

View File

@@ -4,10 +4,6 @@ describe DirectMessage do
let(:direct_message) { build(:direct_message) } let(:direct_message) { build(:direct_message) }
before(:each) do
Setting[:direct_message_max_per_day] = 3
end
it "should be valid" do it "should be valid" do
expect(direct_message).to be_valid expect(direct_message).to be_valid
end end
@@ -33,6 +29,10 @@ describe DirectMessage do
end end
describe "maximum number of direct messages per day" do describe "maximum number of direct messages per day" do
context "when set" do
before(:each) do
Setting[:direct_message_max_per_day] = 3
end
it "should not be valid if above maximum" do it "should not be valid if above maximum" do
sender = create(:user) sender = create(:user)
@@ -58,7 +58,19 @@ describe DirectMessage do
expect(direct_message).to be_valid expect(direct_message).to be_valid
end end
end
context "when unset" do
before(:each) do
Setting[:direct_message_max_per_day] = nil
end
it "should be valid" do
direct_message = build(:direct_message)
expect(direct_message).to be_valid
end
end
end end
describe "scopes" do describe "scopes" do