- <%= t("proposal_ballots.successfull",
- voting: link_to(t("proposal_ballots.voting"), proposal_ballots_path)).html_safe %>
-
- <% else %>
-
-
+
+ <% if @proposal.successfull? %>
+
+ <%= t("proposal_ballots.successfull",
+ voting: link_to(t("proposal_ballots.voting"), proposal_ballots_path)).html_safe %>
+
+ <% else %>
+
<%= render 'votes',
{ proposal: @proposal, vote_url: vote_proposal_path(@proposal, value: 'yes') } %>
-
- <% end %>
+ <% end %>
+
<%= t("proposals.show.share") %>
diff --git a/spec/features/proposal_ballots_spec.rb b/spec/features/proposal_ballots_spec.rb
new file mode 100644
index 000000000..e7bf310b1
--- /dev/null
+++ b/spec/features/proposal_ballots_spec.rb
@@ -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
+
diff --git a/spec/support/common_actions.rb b/spec/support/common_actions.rb
index 60d6641bf..8eaa49d4b 100644
--- a/spec/support/common_actions.rb
+++ b/spec/support/common_actions.rb
@@ -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