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 @@
- - <%= 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_html", + count: @ballot.investments.by_heading(@heading.id).count, + amount_spent: @ballot.formatted_amount_spent(@heading)) %> + +
+ <% else %> +<%= t("budget.investments.index.sidebar.zero") %>
<% end %> -<%= 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