diff --git a/app/components/valuation/budgets/index_component.html.erb b/app/components/valuation/budgets/index_component.html.erb index d4ecb28d5..81e82f745 100644 --- a/app/components/valuation/budgets/index_component.html.erb +++ b/app/components/valuation/budgets/index_component.html.erb @@ -1,6 +1,6 @@

<%= t("valuation.budgets.index.title") %>

-<% if budget.present? %> +<% if budgets.any? %> @@ -11,7 +11,7 @@ - <%= render Valuation::Budgets::RowComponent.new(budget) %> + <%= render Valuation::Budgets::RowComponent.with_collection(budgets) %>
<% else %> diff --git a/app/components/valuation/budgets/index_component.rb b/app/components/valuation/budgets/index_component.rb index 40138ac88..e8afdfce6 100644 --- a/app/components/valuation/budgets/index_component.rb +++ b/app/components/valuation/budgets/index_component.rb @@ -1,7 +1,7 @@ class Valuation::Budgets::IndexComponent < ApplicationComponent - attr_reader :budget + attr_reader :budgets - def initialize(budget) - @budget = budget + def initialize(budgets) + @budgets = budgets end end diff --git a/app/components/valuation/budgets/row_component.rb b/app/components/valuation/budgets/row_component.rb index 46fff464a..da8e3f107 100644 --- a/app/components/valuation/budgets/row_component.rb +++ b/app/components/valuation/budgets/row_component.rb @@ -1,9 +1,10 @@ class Valuation::Budgets::RowComponent < ApplicationComponent attr_reader :budget + with_collection_parameter :budget delegate :current_user, to: :helpers - def initialize(budget) + def initialize(budget:) @budget = budget end diff --git a/app/controllers/valuation/budgets_controller.rb b/app/controllers/valuation/budgets_controller.rb index a30ccc55e..729c39112 100644 --- a/app/controllers/valuation/budgets_controller.rb +++ b/app/controllers/valuation/budgets_controller.rb @@ -5,6 +5,6 @@ class Valuation::BudgetsController < Valuation::BaseController load_and_authorize_resource def index - @budget = current_budget + @budgets = @budgets.published.order(created_at: :desc) end end diff --git a/app/views/valuation/budgets/index.html.erb b/app/views/valuation/budgets/index.html.erb index 5f2db605c..e435d1276 100644 --- a/app/views/valuation/budgets/index.html.erb +++ b/app/views/valuation/budgets/index.html.erb @@ -1 +1 @@ -<%= render Valuation::Budgets::IndexComponent.new(@budget) %> +<%= render Valuation::Budgets::IndexComponent.new(@budgets) %> diff --git a/spec/system/valuation/budgets_spec.rb b/spec/system/valuation/budgets_spec.rb index c6683268d..88b6f52e2 100644 --- a/spec/system/valuation/budgets_spec.rb +++ b/spec/system/valuation/budgets_spec.rb @@ -7,23 +7,14 @@ describe "Valuation budgets" do end context "Index" do - scenario "Displaying budgets" do - budget = create(:budget) - visit valuation_budgets_path - - expect(page).to have_content(budget.name) - end - - scenario "Filters by phase" do - budget1 = create(:budget, :finished) - budget2 = create(:budget, :finished) - budget3 = create(:budget, :accepting) + scenario "Displays published budgets" do + create(:budget, name: "Sports") + create(:budget, name: "Draft", published: false) visit valuation_budgets_path - expect(page).not_to have_content(budget1.name) - expect(page).not_to have_content(budget2.name) - expect(page).to have_content(budget3.name) + expect(page).to have_content("Sports") + expect(page).not_to have_content("Draft") end scenario "With no budgets" do