diff --git a/app/helpers/spending_proposals_helper.rb b/app/helpers/spending_proposals_helper.rb
index 40b9d489e..26026952f 100644
--- a/app/helpers/spending_proposals_helper.rb
+++ b/app/helpers/spending_proposals_helper.rb
@@ -14,11 +14,11 @@ module SpendingProposalsHelper
end
end
- def spending_proposal_count_for_geozone(scope, geozone)
+ def spending_proposal_count_for_geozone(scope, geozone, second_scope)
if geozone.present?
- geozone.spending_proposals.send(scope).count
+ geozone.spending_proposals.send(scope).send(second_scope).count
else
- SpendingProposal.where(geozone: nil).send(scope).count
+ SpendingProposal.where(geozone: nil).send(scope).send(second_scope).count
end
end
diff --git a/app/views/admin/spending_proposals/_summary_table.html.erb b/app/views/admin/spending_proposals/_summary_table.html.erb
index f2717a550..c0c127ee7 100644
--- a/app/views/admin/spending_proposals/_summary_table.html.erb
+++ b/app/views/admin/spending_proposals/_summary_table.html.erb
@@ -13,19 +13,19 @@
<%= geozone.present? ? geozone.name : t("geozones.none") %>
- <%= spending_proposal_count_for_geozone("finished_and_feasible", geozone) %>
+ <%= spending_proposal_count_for_geozone("finished_and_feasible", geozone, second_scope) %>
|
- <%= spending_proposal_count_for_geozone("finished_and_unfeasible", geozone) %>
+ <%= spending_proposal_count_for_geozone("finished_and_unfeasible", geozone, second_scope) %>
|
- <%= spending_proposal_count_for_geozone("valuation_finished", geozone) %>
+ <%= spending_proposal_count_for_geozone("valuation_finished", geozone, second_scope) %>
|
- <%= spending_proposal_count_for_geozone("valuating", geozone) %>
+ <%= spending_proposal_count_for_geozone("valuating", geozone, second_scope) %>
|
- <%= spending_proposal_count_for_geozone("all", geozone) %>
+ <%= spending_proposal_count_for_geozone("all", geozone, second_scope) %>
|
<%= number_to_currency(price) %>
diff --git a/app/views/admin/spending_proposals/summary.html.erb b/app/views/admin/spending_proposals/summary.html.erb
index f0daaed16..39fd2c014 100644
--- a/app/views/admin/spending_proposals/summary.html.erb
+++ b/app/views/admin/spending_proposals/summary.html.erb
@@ -4,7 +4,15 @@
<% end %>
<%= t("admin.spending_proposals.summary.title") %>
-<%= render 'summary_table', spending_proposals: @spending_proposals %>
+
+ <%= render 'summary_table',
+ spending_proposals: @spending_proposals,
+ second_scope: 'all' %>
+
-<%= t("admin.spending_proposals.summary.title_proposals_with_supports") %>
-<%= render 'summary_table', spending_proposals: @spending_proposals_with_supports %>
+
+ <%= t("admin.spending_proposals.summary.title_proposals_with_supports") %>
+ <%= render 'summary_table',
+ spending_proposals: @spending_proposals_with_supports,
+ second_scope: 'with_supports' %>
+
\ No newline at end of file
diff --git a/spec/features/admin/spending_proposals_spec.rb b/spec/features/admin/spending_proposals_spec.rb
index 18c682472..caaa108ad 100644
--- a/spec/features/admin/spending_proposals_spec.rb
+++ b/spec/features/admin/spending_proposals_spec.rb
@@ -516,11 +516,11 @@ feature 'Admin spending proposals' do
new_york = create(:geozone)
proposal1 = create(:spending_proposal, geozone: nil, feasible: false, valuation_finished: true)
- proposal1 = create(:spending_proposal, geozone: nil, feasible: false, valuation_finished: true)
+ proposal2 = create(:spending_proposal, geozone: nil, feasible: false, valuation_finished: true)
proposal3 = create(:spending_proposal, geozone: california, feasible: false, valuation_finished: true)
proposal4 = create(:spending_proposal, geozone: california, feasible: false, valuation_finished: true)
proposal5 = create(:spending_proposal, geozone: new_york, feasible: false, valuation_finished: true)
- proposal5 = create(:spending_proposal, geozone: new_york, feasible: true, valuation_finished: true)
+ proposal6 = create(:spending_proposal, geozone: new_york, feasible: true, valuation_finished: true)
visit admin_spending_proposals_path
@@ -546,11 +546,11 @@ feature 'Admin spending proposals' do
new_york = create(:geozone)
proposal1 = create(:spending_proposal, geozone: nil, valuation_finished: true)
- proposal1 = create(:spending_proposal, geozone: nil, valuation_finished: true)
+ proposal2 = create(:spending_proposal, geozone: nil, valuation_finished: true)
proposal3 = create(:spending_proposal, geozone: california, valuation_finished: true)
proposal4 = create(:spending_proposal, geozone: california, valuation_finished: true)
proposal5 = create(:spending_proposal, geozone: new_york, valuation_finished: true)
- proposal5 = create(:spending_proposal, geozone: new_york, valuation_finished: false)
+ proposal6 = create(:spending_proposal, geozone: new_york, valuation_finished: false)
visit admin_spending_proposals_path
@@ -576,7 +576,7 @@ feature 'Admin spending proposals' do
new_york = create(:geozone)
proposal1 = create(:spending_proposal, geozone: nil, valuation_finished: false)
- proposal1 = create(:spending_proposal, geozone: nil, valuation_finished: false)
+ proposal2 = create(:spending_proposal, geozone: nil, valuation_finished: false)
proposal3 = create(:spending_proposal, geozone: california, valuation_finished: false)
proposal4 = create(:spending_proposal, geozone: california, valuation_finished: false)
proposal5 = create(:spending_proposal, geozone: new_york, valuation_finished: false)
@@ -607,6 +607,59 @@ feature 'Admin spending proposals' do
end
end
+ context "Second table" do
+
+ scenario "should not display proposals without votes" do
+ california = create(:geozone)
+ new_york = create(:geozone)
+
+ proposal1 = create(:spending_proposal, geozone: nil, valuation_finished: true)
+ proposal2 = create(:spending_proposal, geozone: nil, valuation_finished: true)
+ proposal3 = create(:spending_proposal, geozone: california, valuation_finished: true)
+ proposal4 = create(:spending_proposal, geozone: california, valuation_finished: true)
+ proposal5 = create(:spending_proposal, geozone: new_york, valuation_finished: true)
+ proposal6 = create(:spending_proposal, geozone: new_york, valuation_finished: false)
+
+
+ create(:vote, votable: proposal1)
+ create(:vote, votable: proposal2)
+ create(:vote, votable: proposal3)
+
+ visit admin_spending_proposals_path
+
+ click_link "Summary"
+
+ expect(page).to have_content "Summary for investment projects"
+
+ within("#all-proposals") do
+ within("#geozone_all_city") do
+ expect(page).to have_css(".finished-count", text: 2)
+ end
+
+ within("#geozone_#{california.id}") do
+ expect(page).to have_css(".finished-count", text: 2)
+ end
+
+ within("#geozone_#{new_york.id}") do
+ expect(page).to have_css(".finished-count", text: 1)
+ end
+ end
+
+ within("#proposals-with-votes") do
+ within("#geozone_all_city") do
+ expect(page).to have_css(".finished-count", text: 2)
+ end
+
+ within("#geozone_#{california.id}") do
+ expect(page).to have_css(".finished-count", text: 1)
+ end
+
+ expect(page).to_not have_css("#geozone_#{new_york.id}")
+ end
+ end
+
+ end
+
end
end
|