Merge pull request #411 from AyuntamientoMadrid/refactors_conflictive_debates

Refactors conflictive debates
This commit is contained in:
Juanjo Bazán
2015-09-07 18:06:06 +02:00
2 changed files with 9 additions and 9 deletions

View File

@@ -136,7 +136,7 @@ class Debate < ActiveRecord::Base
def conflictive?
return false unless flags_count > 0 && cached_votes_up > 0
flags_count / cached_votes_up.to_f > 0.2
cached_votes_up/flags_count.to_f < 5
end
protected

View File

@@ -281,7 +281,7 @@ describe Debate do
.to change { debate.updated_at }
end
it "should expire cache when it has a new flag", :focus do
it "should expire cache when it has a new flag" do
expect { create(:flag, flaggable: debate) }
.to change { debate.reload.updated_at }
end
@@ -316,34 +316,34 @@ describe Debate do
describe "conflictive debates" do
it "should return true when it has more than 1 flag for 5 positive votes" do
debate.update(flags_count: 1)
debate.update(cached_votes_up: 4)
debate.update(flags_count: 1)
expect(debate).to be_conflictive
debate.update(flags_count: 2)
debate.update(cached_votes_up: 9)
debate.update(flags_count: 2)
expect(debate).to be_conflictive
debate.update(flags_count: 3)
debate.update(cached_votes_up: 14)
debate.update(flags_count: 3)
expect(debate).to be_conflictive
debate.update(flags_count: 20)
debate.update(cached_votes_up: 2)
debate.update(flags_count: 20)
expect(debate).to be_conflictive
end
it "should return false when it has less than or equal to 1 flag for 5 positive votes" do
debate.update(flags_count: 1)
debate.update(cached_votes_up: 5)
debate.update(flags_count: 1)
expect(debate).to_not be_conflictive
debate.update(flags_count: 2)
debate.update(cached_votes_up: 10)
debate.update(flags_count: 2)
expect(debate).to_not be_conflictive
debate.update(flags_count: 2)
debate.update(cached_votes_up: 100)
debate.update(flags_count: 2)
expect(debate).to_not be_conflictive
end