ML-169.10.1: Add delete coverage
Cover current delete behavior across LiveView index and show paths, and strengthen existing delete tests with persistence assertions.\n\nValidation: mise run dev:precommit
This commit is contained in:
@@ -127,6 +127,22 @@ defmodule MusicLibraryWeb.CollectionLive.IndexTest do
|
||||
end
|
||||
end
|
||||
|
||||
describe "Delete record" do
|
||||
test "deletes a record from the listing", %{conn: conn} do
|
||||
record = record(%{title: "Delete From Collection Index"})
|
||||
|
||||
conn
|
||||
|> visit(~p"/collection")
|
||||
|> assert_has("#records-#{record.id}")
|
||||
|> click_link("#records-#{record.id} a[data-confirm='Are you sure?']", "Delete")
|
||||
|> refute_has("#records-#{record.id}")
|
||||
|
||||
assert_raise Ecto.NoResultsError, fn ->
|
||||
Records.get_record!(record.id)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "Search and pagination" do
|
||||
setup [:fill_collection]
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ defmodule MusicLibraryWeb.CollectionLive.ShowTest do
|
||||
|
||||
alias MusicBrainz.Fixtures
|
||||
alias MusicLibrary.Assets.Transform
|
||||
alias MusicLibrary.Records
|
||||
alias MusicLibrary.Records.Record
|
||||
alias Phoenix.PubSub
|
||||
|
||||
@@ -69,6 +70,26 @@ defmodule MusicLibraryWeb.CollectionLive.ShowTest do
|
||||
end
|
||||
end
|
||||
|
||||
describe "Delete record" do
|
||||
test "deletes the record and navigates back to collection", %{conn: conn} do
|
||||
record = record()
|
||||
release_response = Fixtures.Release.release(:marbles)
|
||||
|
||||
Req.Test.stub(MusicBrainz.API, fn conn ->
|
||||
Req.Test.json(conn, release_response)
|
||||
end)
|
||||
|
||||
conn
|
||||
|> visit(~p"/collection/#{record.id}")
|
||||
|> click_link("a[data-confirm='Are you sure?']", "Delete")
|
||||
|> assert_path(~p"/collection")
|
||||
|
||||
assert_raise Ecto.NoResultsError, fn ->
|
||||
Records.get_record!(record.id)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "handle_info({:update, record}) with live_action guard" do
|
||||
test "updates record when showing (live_action is :show)", %{conn: conn} do
|
||||
record = record()
|
||||
|
||||
Reference in New Issue
Block a user