From edf16edd52636b849a036cdfea42d04256cd6d93 Mon Sep 17 00:00:00 2001 From: Ted Date: Fri, 6 May 2022 11:23:45 +0100 Subject: [PATCH] Radio button on log filter is now preset to "All" --- app/helpers/filters_helper.rb | 5 +++-- app/views/case_logs/_log_filters.erb | 3 ++- spec/helpers/filters_helper_spec.rb | 13 +++++++++++++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/app/helpers/filters_helper.rb b/app/helpers/filters_helper.rb index f448bbeb5..006ec750d 100644 --- a/app/helpers/filters_helper.rb +++ b/app/helpers/filters_helper.rb @@ -1,8 +1,9 @@ module FiltersHelper - def filter_selected?(filter, value) + def filter_selected?(filter, value) return false unless session[:case_logs_filters] - + selected_filters = JSON.parse(session[:case_logs_filters]) + return true if selected_filters.blank? && filter == "user" && value == :all return false if selected_filters[filter].blank? selected_filters[filter].include?(value.to_s) diff --git a/app/views/case_logs/_log_filters.erb b/app/views/case_logs/_log_filters.erb index 893a8607d..0f3a40dfe 100644 --- a/app/views/case_logs/_log_filters.erb +++ b/app/views/case_logs/_log_filters.erb @@ -6,9 +6,10 @@
<%= form_with url: "/logs", html: { method: :get } do |f| %> <% years = {"2021": "2021/22", "2022": "2022/23"} %> + <% @all_or_yours = {"all": "All", "yours": "Yours"} %> <%= render partial: "filters/checkbox_filter", locals: { f: f, options: years, label: "Collection year", category: "years" } %> <%= render partial: "filters/checkbox_filter", locals: { f: f, options: status_filters, label: "Status", category: "status" } %> - <%= render partial: "filters/radio_filter", locals: { f: f, options: {"all": "All", "yours": "Yours"}, label: "Logs", category: "user" } %> + <%= render partial: "filters/radio_filter", locals: { f: f, options: @all_or_yours, label: "Logs", category: "user", } %> <%= f.govuk_submit "Apply filters", class: "govuk-!-margin-bottom-0" %> <% end %>
diff --git a/spec/helpers/filters_helper_spec.rb b/spec/helpers/filters_helper_spec.rb index 739b2e937..b569effd8 100644 --- a/spec/helpers/filters_helper_spec.rb +++ b/spec/helpers/filters_helper_spec.rb @@ -9,6 +9,19 @@ RSpec.describe FiltersHelper do end end + context "when the filter is the user filter but session filters is empty" do + before do + session[:case_logs_filters] = { }.to_json + end + + context "when looking at the all value" do + it "returns true if no filters have been set yet" do + expect(filter_selected?("user", :all)).to be_truthy + expect(filter_selected?("user", :yours)).to be_falsey + end + end + end + context "when one filter is selected" do before do session[:case_logs_filters] = { "status": "in_progress" }.to_json