moves helper method to votes helper and adds spec
This commit is contained in:
@@ -1,14 +1,5 @@
|
||||
module ApplicationHelper
|
||||
|
||||
def votes_percentage(vote, debate)
|
||||
return "0%" if debate.total_votes == 0
|
||||
if vote == 'likes'
|
||||
debate.likes.percent_of(debate.total_votes).to_s + "%"
|
||||
elsif vote == 'dislikes'
|
||||
(100 - debate.likes.percent_of(debate.total_votes)).to_s + "%"
|
||||
end
|
||||
end
|
||||
|
||||
def home_page?
|
||||
return false if user_signed_in?
|
||||
# Using path because fullpath yields false negatives since it contains
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
module VotesHelper
|
||||
|
||||
def votes_percentage(vote, debate)
|
||||
return "0%" if debate.total_votes == 0
|
||||
if vote == 'likes'
|
||||
debate.likes.percent_of(debate.total_votes).to_s + "%"
|
||||
elsif vote == 'dislikes'
|
||||
(100 - debate.likes.percent_of(debate.total_votes)).to_s + "%"
|
||||
end
|
||||
end
|
||||
|
||||
def css_classes_for_vote(votes, votable)
|
||||
case votes[votable.id]
|
||||
when true
|
||||
|
||||
@@ -18,4 +18,15 @@ describe VotesHelper do
|
||||
end
|
||||
end
|
||||
|
||||
describe "#votes_percentage" do
|
||||
it "should always sum 100%" do
|
||||
debate = create(:debate)
|
||||
create_list(:vote, 8, votable: debate, vote_flag: true)
|
||||
create_list(:vote, 3, votable: debate, vote_flag: false)
|
||||
|
||||
expect(votes_percentage('likes', debate)).to eq("72%")
|
||||
expect(votes_percentage('dislikes', debate)).to eq("28%")
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user