From 28e6a103825c5fc2dc0093cc2d434d7fcf8c14f2 Mon Sep 17 00:00:00 2001 From: kikito Date: Thu, 5 Jan 2017 15:17:49 +0100 Subject: [PATCH] Hides balloting controls when not in the balloting phase --- .../budgets/ballot/_progress_bar.html.erb | 3 +- .../budgets/investments/_header.html.erb | 10 ++-- .../budgets/investments/_sidebar.html.erb | 50 ++++++++++--------- app/views/budgets/show.html.erb | 2 +- spec/features/budgets/investments_spec.rb | 26 +++++++++- 5 files changed, 61 insertions(+), 30 deletions(-) diff --git a/app/views/budgets/ballot/_progress_bar.html.erb b/app/views/budgets/ballot/_progress_bar.html.erb index 45c338b88..3f10b54cf 100644 --- a/app/views/budgets/ballot/_progress_bar.html.erb +++ b/app/views/budgets/ballot/_progress_bar.html.erb @@ -3,7 +3,8 @@
+ id="progress" + aria-valuenow="0" aria-valuemin="0" aria-valuemax="100">

<%= @heading.name %>

- <% if @ballot.valid_heading?(@heading) %>
<%= render 'budgets/ballot/progress_bar' %> @@ -41,6 +40,9 @@ ) %>

<% end %> + <% else %> + <%= @budget.formatted_heading_price(@heading) %> + <% end %>
diff --git a/app/views/budgets/investments/_sidebar.html.erb b/app/views/budgets/investments/_sidebar.html.erb index 173132257..f7cf65317 100644 --- a/app/views/budgets/investments/_sidebar.html.erb +++ b/app/views/budgets/investments/_sidebar.html.erb @@ -1,6 +1,6 @@
-<% if @budget.accepting? %> +<% if can?(:create, Budget::Investment.new(budget: @budget)) %> <% if current_user && current_user.level_two_or_three_verified? %> <%= link_to t("budget.investments.index.sidebar.create"), new_budget_investment_path, class: "button budget expanded" %> <% else %> @@ -11,29 +11,33 @@ <% end %> <% end %> - - -<% if @heading && @ballot.investments.by_heading(@heading.id).count > 0 %> -

- - <%= t("budget.investments.index.sidebar.voted_html", - count: @ballot.investments.by_heading(@heading.id).count, - amount_spent: @ballot.formatted_amount_spent(@heading)) %> - -

-<% else %> -

<%= t("budget.investments.index.sidebar.zero") %>

-<% end %> +<% if @heading && can?(:show, @ballot) %> - -

<%= t("budget.investments.index.sidebar.voted_info") %>

+ + +

<%= t("budget.investments.index.sidebar.voted_info") %>

+<% end %> diff --git a/app/views/budgets/show.html.erb b/app/views/budgets/show.html.erb index 22096a526..a9bcf339c 100644 --- a/app/views/budgets/show.html.erb +++ b/app/views/budgets/show.html.erb @@ -17,7 +17,7 @@ <%= t("budgets.phases.#{@budget.phase}") %>

- <% if @budget.accepting? %> + <% if can?(:create, Budget::Investment.new(budget: @budget)) %> <% if current_user && current_user.level_two_or_three_verified? %> <%= link_to t("budget.investments.index.sidebar.create"), new_budget_investment_path(@budget), class: "button margin-top" %> <% else %> diff --git a/spec/features/budgets/investments_spec.rb b/spec/features/budgets/investments_spec.rb index 39f443ce3..5a2598b25 100644 --- a/spec/features/budgets/investments_spec.rb +++ b/spec/features/budgets/investments_spec.rb @@ -204,6 +204,18 @@ feature 'Budget Investments' do click_button 'Create' expect(page).to have_content error_message end + + scenario 'Ballot is not visible' do + login_as(author) + + visit budget_investments_path(budget, heading_id: heading.id) + + expect(page).to_not have_link('Check my ballot') + expect(page).to_not have_css('#progress_bar') + within('#sidebar') do + expect(page).to_not have_content('My ballot') + end + end end scenario "Show" do @@ -277,7 +289,7 @@ feature 'Budget Investments' do end - context "Phase 3 - Final Voting" do + context "Balloting Phase" do background do budget.update(phase: "balloting") @@ -400,6 +412,18 @@ feature 'Budget Investments' do end end + scenario 'Ballot is visible' do + login_as(author) + + visit budget_investments_path(budget, heading_id: heading.id) + + expect(page).to have_link('Check my ballot') + expect(page).to have_css('#progress_bar') + within('#sidebar') do + expect(page).to have_content('My ballot') + end + end + end end