diff --git a/app/models/debate.rb b/app/models/debate.rb index d772ed029..e8855086a 100644 --- a/app/models/debate.rb +++ b/app/models/debate.rb @@ -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 diff --git a/spec/models/debate_spec.rb b/spec/models/debate_spec.rb index a26825f39..5ee0d7243 100644 --- a/spec/models/debate_spec.rb +++ b/spec/models/debate_spec.rb @@ -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