diff --git a/app/controllers/admin/proposals_controller.rb b/app/controllers/admin/proposals_controller.rb index 64b5e3526..e76efce21 100644 --- a/app/controllers/admin/proposals_controller.rb +++ b/app/controllers/admin/proposals_controller.rb @@ -1,12 +1,18 @@ class Admin::ProposalsController < Admin::BaseController + include HasOrders + include CommentableActions include FeatureFlags feature_flag :proposals - def index - @proposals = Proposal.sort_by_created_at.page(params[:page]) - end + has_orders %w[created_at] def show @proposal = Proposal.find(params[:id]) end + + private + + def resource_model + Proposal + end end diff --git a/app/views/admin/proposals/index.html.erb b/app/views/admin/proposals/index.html.erb index 181674b73..8a8372713 100644 --- a/app/views/admin/proposals/index.html.erb +++ b/app/views/admin/proposals/index.html.erb @@ -5,6 +5,8 @@

<%= t("admin.proposals.index.title") %>

<% if @proposals.any? %> + <%= render "/admin/shared/proposal_search", url: admin_proposals_path %> +

<%= page_entries_info @proposals %>

diff --git a/spec/features/admin/proposals_spec.rb b/spec/features/admin/proposals_spec.rb index 305db9d6c..1e12c7132 100644 --- a/spec/features/admin/proposals_spec.rb +++ b/spec/features/admin/proposals_spec.rb @@ -5,12 +5,22 @@ feature "Admin proposals" do login_as create(:administrator).user end - scenario "Index" do - create(:proposal, title: "Make Pluto a planet again") + context "Index" do + scenario "Search" do + create(:proposal, title: "Make Pluto a planet again") + create(:proposal, title: "Build a monument to honour CONSUL developers") - visit admin_root_path - within("#side_menu") { click_link "Proposals" } + visit admin_root_path + within("#side_menu") { click_link "Proposals" } - expect(page).to have_content "Make Pluto a planet again" + expect(page).to have_content "Make Pluto a planet again" + expect(page).to have_content "Build a monument" + + fill_in "search", with: "Pluto" + click_button "Search" + + expect(page).to have_content "Make Pluto a planet again" + expect(page).not_to have_content "Build a monument" + end end end