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