Skip to content

Commit 585fc84

Browse files
committed
Fix admin action page filtering
- Adds a system test for filters - Properly symbolize filter params keys before passing to query object
1 parent c3ee555 commit 585fc84

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

app/controllers/admin/action_pages_controller.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,6 @@ def filter_action_pages
226226
pages = pages.search(filter_params[:q]) if filter_params[:q].present?
227227
filters = filter_params[:action_filters].to_h || {}
228228
filters[:date_range] = filter_params[:date_range]
229-
ActionPageFilters.run(relation: pages, **filters.transform_keys(&:to_sym))
229+
ActionPageFilters.run(relation: pages, **filters.deep_symbolize_keys.to_h)
230230
end
231231
end
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
require "rails_helper"
2+
3+
RSpec.describe "Admin action page index", type: :system, js: true do
4+
before { warden_sign_in(FactoryBot.create(:admin_user)) }
5+
6+
it "can filter actions" do
7+
basic = FactoryBot.create(:action_page, title: "Filtered out")
8+
email_action = FactoryBot.create(:action_page, enable_email: true)
9+
10+
visit admin_action_pages_path
11+
fill_in_select2("#action_filters_type", with: "email")
12+
click_on "Search"
13+
14+
expect(page).to have_content(email_action.title)
15+
expect(page).not_to have_content(basic.title)
16+
end
17+
end

0 commit comments

Comments
 (0)