Enable quick actions from universal search
This commit is contained in:
@@ -253,6 +253,16 @@ defmodule MusicLibraryWeb.CollectionLive.IndexTest do
|
||||
|> assert_path(~p"/collection/import")
|
||||
end
|
||||
|
||||
test "pre-fills the search query from import_query param", %{conn: conn} do
|
||||
Req.Test.stub(MusicBrainz.API, fn conn ->
|
||||
Req.Test.json(conn, %{"release-groups" => [], "count" => 0})
|
||||
end)
|
||||
|
||||
conn
|
||||
|> visit(~p"/collection/import?#{[import_query: "test query"]}")
|
||||
|> assert_has("input[value='test query']")
|
||||
end
|
||||
|
||||
test "imports a record when selected", %{conn: conn} do
|
||||
release_group_search_results = Map.get(release_group_search_results(), "release-groups")
|
||||
|
||||
|
||||
@@ -51,6 +51,19 @@ defmodule MusicLibraryWeb.ScrobbleLive.IndexTest do
|
||||
|> assert_has("a", "Connect your Last.fm account")
|
||||
end
|
||||
|
||||
test "pre-fills search and loads results from query param", %{conn: conn} do
|
||||
session = visit(conn, ~p"/scrobble?#{[query: "marbles"]}")
|
||||
|
||||
session
|
||||
|> unwrap(fn view ->
|
||||
# Process the {:perform_search, query} message
|
||||
render(view)
|
||||
end)
|
||||
|> assert_has("input[value='marbles']")
|
||||
|> assert_has("h3", "Release Groups")
|
||||
|> assert_has("p", "Marbles")
|
||||
end
|
||||
|
||||
test "search with results shows release groups", %{conn: conn} do
|
||||
session = visit(conn, ~p"/scrobble")
|
||||
|
||||
|
||||
@@ -43,13 +43,20 @@ defmodule MusicLibraryWeb.UniversalSearchLive.IndexTest do
|
||||
end
|
||||
|
||||
describe "Search functionality" do
|
||||
test "shows no results message when query has no matches", %{conn: conn} do
|
||||
test "shows no results message with quick action links when query has no matches", %{
|
||||
conn: conn
|
||||
} do
|
||||
conn
|
||||
|> visit(~p"/collection")
|
||||
|> click_button("Search (Cmd/Ctrl+K)")
|
||||
|> fill_in("Universal Search", with: "nonexistent query xyz")
|
||||
|> assert_has("p", "No results found for 'nonexistent query xyz'")
|
||||
|> assert_has("a", "Add a record instead")
|
||||
|> assert_has("[role='option']", "Add to wishlist")
|
||||
|> assert_has("[role='option']", "Add to collection")
|
||||
|> assert_has("[role='option']", "Search to scrobble")
|
||||
|> assert_has("kbd", "↑")
|
||||
|> assert_has("kbd", "↓")
|
||||
|> assert_has("span", "Navigate")
|
||||
end
|
||||
|
||||
test "resets results when query is cleared", %{conn: conn} do
|
||||
|
||||
Reference in New Issue
Block a user