Add wishlist purchasing test

This commit is contained in:
Claudio Ortolina
2024-11-20 18:37:16 +00:00
parent e519f355bc
commit 5ec3b67c08
@@ -0,0 +1,32 @@
defmodule MusicLibraryWeb.WishlistLive.IndexTest do
use MusicLibraryWeb.ConnCase
import Phoenix.LiveViewTest
import MusicLibrary.RecordsFixtures
defp fill_wishlist(_) do
records = Enum.map(1..5, fn _ -> record_fixture(%{purchased_at: nil}) end)
%{wishlist: records}
end
describe "Wishlist" do
setup [:fill_wishlist]
test "can purchase a record and move it to the collection", %{
conn: conn,
wishlist: wishlist_records
} do
{:ok, index_live, _html} = live(conn, ~p"/wishlist")
record = Enum.random(wishlist_records)
index_live
|> element("#records-#{record.id} a", "Purchase")
|> render_click() =~ "Record updated successfully"
purchased_record = MusicLibrary.Records.get_record!(record.id)
assert purchased_record.purchased_at !== nil
end
end
end