From 93f6b260b2f078f56add901ef70be2b3fef5f54a Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Sat, 1 Mar 2025 07:40:00 +0000 Subject: [PATCH] Extract test fixture for release_group_releases --- test/music_library/records_test.exs | 13 +++++++++---- .../live/collection_live/index_test.exs | 6 ++++-- .../live/stats_live/index_test.exs | 3 ++- test/support/fixtures/music_brainz/release_group.ex | 5 +++++ 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/test/music_library/records_test.exs b/test/music_library/records_test.exs index 077f478d..ca9de609 100644 --- a/test/music_library/records_test.exs +++ b/test/music_library/records_test.exs @@ -59,13 +59,16 @@ defmodule MusicLibrary.RecordsTest do assert record.release_ids == [] assert record.included_release_group_ids == [] + new_release_group = release_group(:lockdown_trilogy) + new_release_group_releases = release_group_releases(:lockdown_trilogy) + Req.Test.stub(MusicBrainz.API, fn conn -> case conn.path_info do [_ws, _version, "release-group", ^release_group_id] -> - Req.Test.json(conn, release_group(:lockdown_trilogy)) + Req.Test.json(conn, new_release_group) [_ws, _version, "release"] -> - Req.Test.json(conn, %{"releases" => release_group(:lockdown_trilogy)["releases"]}) + Req.Test.json(conn, new_release_group_releases) end end) @@ -186,6 +189,7 @@ defmodule MusicLibrary.RecordsTest do release_group = release_group(:marbles) release_group_id = release_group_id(:marbles) + release_group_releases = release_group_releases(:marbles) cover_data = File.read!(marbles_cover_fixture()) @@ -195,7 +199,7 @@ defmodule MusicLibrary.RecordsTest do Req.Test.json(conn, release_group) [_ws, _version, "release"] -> - Req.Test.json(conn, %{"releases" => release_group["releases"]}) + Req.Test.json(conn, release_group_releases) [_release_group, ^release_group_id, "front"] -> Plug.Conn.send_resp(conn, 200, cover_data) @@ -241,6 +245,7 @@ defmodule MusicLibrary.RecordsTest do release_group = release_group(:marbles) release_group_id = release_group_id(:marbles) + release_group_releases = release_group_releases(:marbles) cover_data = File.read!(marbles_cover_fixture()) @@ -253,7 +258,7 @@ defmodule MusicLibrary.RecordsTest do Req.Test.json(conn, release) [_ws, _version, "release"] -> - Req.Test.json(conn, %{"releases" => release_group["releases"]}) + Req.Test.json(conn, release_group_releases) [_release_group, ^release_group_id, "front"] -> Plug.Conn.send_resp(conn, 200, cover_data) diff --git a/test/music_library_web/live/collection_live/index_test.exs b/test/music_library_web/live/collection_live/index_test.exs index 0ab8b7c0..1685763c 100644 --- a/test/music_library_web/live/collection_live/index_test.exs +++ b/test/music_library_web/live/collection_live/index_test.exs @@ -246,6 +246,7 @@ defmodule MusicLibraryWeb.CollectionLive.IndexTest do first_release_group_search_result_id = first_release_group_search_result["id"] release_group = release_group(:marbles) + release_group_releases = release_group_releases(:marbles) cover_data = File.read!(marbles_cover_fixture()) @@ -258,7 +259,7 @@ defmodule MusicLibraryWeb.CollectionLive.IndexTest do Req.Test.json(conn, release_group_search_results()) [_ws, _version, "release"] -> - Req.Test.json(conn, %{"releases" => release_group["releases"]}) + Req.Test.json(conn, release_group_releases) [_release_group, ^first_release_group_search_result_id, "front"] -> Plug.Conn.send_resp(conn, 200, cover_data) @@ -354,6 +355,7 @@ defmodule MusicLibraryWeb.CollectionLive.IndexTest do release_group = release_group(:marbles) release_group_id = release_group["id"] + release_group_releases = release_group_releases(:marbles) cover_data = File.read!(marbles_cover_fixture()) @@ -371,7 +373,7 @@ defmodule MusicLibraryWeb.CollectionLive.IndexTest do Req.Test.json(conn, releases) else # Search by release group ID - Req.Test.json(conn, %{"releases" => release_group["releases"]}) + Req.Test.json(conn, release_group_releases) end [_release_group, ^release_group_id, "front"] -> diff --git a/test/music_library_web/live/stats_live/index_test.exs b/test/music_library_web/live/stats_live/index_test.exs index 0f0cd5ac..c0baa7fc 100644 --- a/test/music_library_web/live/stats_live/index_test.exs +++ b/test/music_library_web/live/stats_live/index_test.exs @@ -181,6 +181,7 @@ defmodule MusicLibraryWeb.StatsLive.IndexTest do release_group = release_group(:mystery_of_time) release_group_id = release_group_id(:mystery_of_time) + release_group_releases = release_group_releases(:mystery_of_time) cover_data = File.read!(marbles_cover_fixture()) @@ -193,7 +194,7 @@ defmodule MusicLibraryWeb.StatsLive.IndexTest do Req.Test.json(conn, release) [_ws, _version, "release"] -> - Req.Test.json(conn, %{"releases" => release_group["releases"]}) + Req.Test.json(conn, release_group_releases) [_release_group, ^release_group_id, "front"] -> Plug.Conn.send_resp(conn, 200, cover_data) diff --git a/test/support/fixtures/music_brainz/release_group.ex b/test/support/fixtures/music_brainz/release_group.ex index b1c3bf6e..4c1a74e2 100644 --- a/test/support/fixtures/music_brainz/release_group.ex +++ b/test/support/fixtures/music_brainz/release_group.ex @@ -28,6 +28,11 @@ defmodule MusicBrainz.Fixtures.ReleaseGroup do |> JSON.decode!() end + def release_group_releases(name) do + rg = release_group(name) + %{"releases" => rg["releases"]} + end + def release_group_id(name) do release_group(name) |> Map.get("id") end