From 6ab3a0f5ce89a2529fc992eeb280335d5468fafe Mon Sep 17 00:00:00 2001 From: Eliot Jordan Date: Wed, 12 Feb 2025 14:27:30 -0600 Subject: [PATCH] Reset sort when changing query parameter --- lib/dpul_collections_web/live/search_live.ex | 3 ++- test/dpul_collections_web/live/search_live_test.exs | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/dpul_collections_web/live/search_live.ex b/lib/dpul_collections_web/live/search_live.ex index bfee927a..9b96eb0f 100644 --- a/lib/dpul_collections_web/live/search_live.ex +++ b/lib/dpul_collections_web/live/search_live.ex @@ -276,7 +276,8 @@ defmodule DpulCollectionsWeb.SearchLive do socket.assigns.search_state | q: params["q"], date_to: params["date-to"], - date_from: params["date-from"] + date_from: params["date-from"], + sort_by: params["sort_by"] } |> Helpers.clean_params([:page, :per_page]) diff --git a/test/dpul_collections_web/live/search_live_test.exs b/test/dpul_collections_web/live/search_live_test.exs index 0e7e9c51..acb0ec98 100644 --- a/test/dpul_collections_web/live/search_live_test.exs +++ b/test/dpul_collections_web/live/search_live_test.exs @@ -124,6 +124,19 @@ defmodule DpulCollectionsWeb.SearchLiveTest do |> Enum.empty?() end + test "changing query parameter resets sort_by to default", %{conn: conn} do + {:ok, view, _html} = live(conn, "/search") + + view |> render_click("sort", %{"sort-by" => "date_asc"}) + assert_patched(view, "/search?sort_by=date_asc") + + view + |> element("#search-form") + |> render_submit(%{"q" => "Document"}) + + assert_patched(view, "/search?q=Document") + end + test "when sorting by date, a nil date always sorts last", %{conn: conn} do Solr.add( [