adds specs for proposal ballots

This commit is contained in:
Juanjo Bazán
2016-09-08 12:43:06 +02:00
parent 50ef23205f
commit 974c4d6d70
5 changed files with 75 additions and 12 deletions

View File

@@ -1,3 +1,3 @@
<div id="<%= dom_id(proposal) %>" class="proposal-sucessfull">
<div id="<%= dom_id(proposal) %>_next_voting" class="proposal-sucessfull">
<h3><%= link_to proposal.title, proposal_ballots_path %></h3>
</div>

View File

@@ -32,7 +32,7 @@
<% end %>
<% if @proposal_ballots.present? %>
<div class="row featured-proposals-ballot-banner margin-bottom">
<div id="next-voting" class="row featured-proposals-ballot-banner margin-bottom">
<div class="small-12 column padding">
<div class="icon-successfull"></div>
<h2>

View File

@@ -102,19 +102,19 @@
<aside class="small-12 medium-3 column">
<div class="sidebar-divider"></div>
<h3><%= t("votes.supports") %></h3>
<% if @proposal.successfull? %>
<p>
<%= t("proposal_ballots.successfull",
voting: link_to(t("proposal_ballots.voting"), proposal_ballots_path)).html_safe %>
</p>
<% else %>
<div class="text-center">
<div id="<%= dom_id(@proposal) %>_votes">
<div id="<%= dom_id(@proposal) %>_votes">
<% if @proposal.successfull? %>
<p>
<%= t("proposal_ballots.successfull",
voting: link_to(t("proposal_ballots.voting"), proposal_ballots_path)).html_safe %>
</p>
<% else %>
<div class="text-center">
<%= render 'votes',
{ proposal: @proposal, vote_url: vote_proposal_path(@proposal, value: 'yes') } %>
</div>
</div>
<% end %>
<% end %>
</div>
<div id="social-share" class="sidebar-divider"></div>
<h3><%= t("proposals.show.share") %></h3>

View File

@@ -0,0 +1,58 @@
# coding: utf-8
require 'rails_helper'
feature 'Proposal ballots' do
scenario 'Banner shows in proposal index' do
create_featured_proposals
visit proposals_path
expect(page).to_not have_css("#next-voting")
expect(page).to have_css("#featured-proposals")
create_successfull_proposals
visit proposals_path
expect(page).to have_css("#next-voting")
expect(page).to_not have_css("#featured-proposals")
end
scenario 'Successfull proposals do not show support buttons in index' do
successfull_proposals = create_successfull_proposals
visit proposals_path
successfull_proposals.each do |proposal|
within("#proposal_#{proposal.id}_votes") do
expect(page).to_not have_css(".supports")
expect(page).to have_content "This proposal has reached the required supports"
end
end
end
scenario 'Successfull proposals do not show support buttons in show' do
successfull_proposals = create_successfull_proposals
successfull_proposals.each do |proposal|
visit proposal_path(proposal)
within("#proposal_#{proposal.id}_votes") do
expect(page).to_not have_css(".supports")
expect(page).to have_content "This proposal has reached the required supports"
end
end
end
scenario 'Successfull proposals are listed in the proposal ballots index' do
successfull_proposals = create_successfull_proposals
visit proposal_ballots_path
successfull_proposals.each do |proposal|
expect(page).to have_content(proposal.title)
expect(page).to have_content(proposal.question)
end
end
end

View File

@@ -192,6 +192,11 @@ module CommonActions
create(:debate, :with_confidence_score, cached_votes_up: 80)]
end
def create_successfull_proposals
[create(:proposal, title: "Winter is coming", question: "Do you speak it?", cached_votes_up: Proposal.votes_needed_for_success + 100),
create(:proposal, title: "Fire and blood", question: "You talking to me?", cached_votes_up: Proposal.votes_needed_for_success + 1)]
end
def tag_names(tag_cloud)
tag_cloud.tags.map(&:name)
end