diff --git a/app/controllers/budgets/executions_controller.rb b/app/controllers/budgets/executions_controller.rb index e33f43dcd..b321c4377 100644 --- a/app/controllers/budgets/executions_controller.rb +++ b/app/controllers/budgets/executions_controller.rb @@ -13,7 +13,7 @@ module Budgets .joins(:milestones).includes(:milestones) .select { |i| i.milestones.published.with_status .order_by_publication_date.last - .status_id == params[:status].to_i } + .try(:status_id) == params[:status].to_i } .uniq .group_by(&:heading) else diff --git a/spec/features/budgets/executions_spec.rb b/spec/features/budgets/executions_spec.rb index 5449c8c4b..56e030ec7 100644 --- a/spec/features/budgets/executions_spec.rb +++ b/spec/features/budgets/executions_spec.rb @@ -249,4 +249,18 @@ feature 'Executions' do expect(m_heading.name).to appear_before(z_heading.name) end end + + context 'No milestones' do + + scenario 'Milestone not yet published' do + status = create(:budget_investment_status) + unpublished_milestone = create(:budget_investment_milestone, investment: investment1, + status: status, publication_date: Date.tomorrow) + + visit custom_budget_executions_path(budget, status: status.id) + + expect(page).to have_content('No winner investments in this state') + end + + end end