diff --git a/app/controllers/case_logs_controller.rb b/app/controllers/case_logs_controller.rb
index 19d12b774..0830c0d4d 100644
--- a/app/controllers/case_logs_controller.rb
+++ b/app/controllers/case_logs_controller.rb
@@ -79,7 +79,7 @@ class CaseLogsController < ApplicationController
end
def filter
- cookies[:case_logs_filters] = { status: params[:status] }.to_json
+ session[:case_logs_filters] = { status: JSON.parse(params[:status]) }.to_json
redirect_back(fallback_location: root_path)
end
@@ -125,7 +125,7 @@ private
def filtered_case_logs
user_case_logs = current_user.case_logs
- status_filter = JSON.parse(cookies[:case_logs_filters])["status"] if cookies[:case_logs_filters].present?
+ status_filter = JSON.parse(session[:case_logs_filters])["status"] if session[:case_logs_filters].present?
return user_case_logs unless status_filter
user_case_logs.filter_by_status(status_filter)
diff --git a/app/helpers/filters_helper.rb b/app/helpers/filters_helper.rb
index aaebeba57..89c48740c 100644
--- a/app/helpers/filters_helper.rb
+++ b/app/helpers/filters_helper.rb
@@ -1,8 +1,8 @@
module FiltersHelper
def filter_selected?(filter)
- return true unless cookies[:case_logs_filters]
+ return true unless session[:case_logs_filters]
- selected_filters = JSON.parse(cookies[:case_logs_filters])
+ selected_filters = JSON.parse(session[:case_logs_filters])
selected_filters["status"].present? && selected_filters["status"].include?(filter.to_s)
end
end
diff --git a/spec/helpers/filters_helper_spec.rb b/spec/helpers/filters_helper_spec.rb
index 1d44e4fa9..d79f8dfcd 100644
--- a/spec/helpers/filters_helper_spec.rb
+++ b/spec/helpers/filters_helper_spec.rb
@@ -11,7 +11,7 @@ RSpec.describe FiltersHelper do
context "when one filter is selected" do
before do
- cookies[:case_logs_filters] = { "status": "in_progress" }.to_json
+ session[:case_logs_filters] = { "status": "in_progress" }.to_json
end
it "returns false for non selected filters" do
diff --git a/spec/requests/case_logs_controller_spec.rb b/spec/requests/case_logs_controller_spec.rb
index 5b751fdf4..c26c764f4 100644
--- a/spec/requests/case_logs_controller_spec.rb
+++ b/spec/requests/case_logs_controller_spec.rb
@@ -189,12 +189,12 @@ RSpec.describe CaseLogsController, type: :request do
in_progress_case_row_log = "#{in_progress_case_log.id}"
completed_case_row_log = "#{completed_case_log.id}"
- cookies[:case_logs_filters] = { status: %w[in_progress completed] }.to_json
+ post "/logs/filter", headers: headers, params: { status: %w[in_progress completed].to_json }
get "/logs", headers: headers, params: {}
expect(CGI.unescape_html(response.body)).to include(in_progress_case_row_log)
expect(CGI.unescape_html(response.body)).to include(completed_case_row_log)
- cookies[:case_logs_filters] = { status: %w[in_progress] }.to_json
+ post "/logs/filter", headers: headers, params: { status: %w[in_progress].to_json }
get "/logs", headers: headers, params: {}
expect(CGI.unescape_html(response.body)).to include(in_progress_case_row_log)
expect(CGI.unescape_html(response.body)).not_to include(completed_case_row_log)
@@ -654,23 +654,4 @@ RSpec.describe CaseLogsController, type: :request do
end
end
end
-
- describe "POST #filter" do
- let(:user) { FactoryBot.create(:user) }
- let(:params) do
- {
- "status": ["In progress"],
- }
- end
-
- before do
- sign_in user
- end
-
- it "sets status filter in the cookies" do
- expect(cookies[:case_logs_filters]).to be_nil
- post "/logs/filter", headers: headers, params: params.to_json
- expect(JSON.parse(cookies[:case_logs_filters])["status"]).to eq(["In progress"])
- end
- end
end