adds specs for proposal ballots
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
58
spec/features/proposal_ballots_spec.rb
Normal file
58
spec/features/proposal_ballots_spec.rb
Normal 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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user