Extract test fixture for release_group_releases

This commit is contained in:
Claudio Ortolina
2025-03-01 07:40:00 +00:00
parent 500455481f
commit 93f6b260b2
4 changed files with 20 additions and 7 deletions
+9 -4
View File
@@ -59,13 +59,16 @@ defmodule MusicLibrary.RecordsTest do
assert record.release_ids == [] assert record.release_ids == []
assert record.included_release_group_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 -> Req.Test.stub(MusicBrainz.API, fn conn ->
case conn.path_info do case conn.path_info do
[_ws, _version, "release-group", ^release_group_id] -> [_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"] -> [_ws, _version, "release"] ->
Req.Test.json(conn, %{"releases" => release_group(:lockdown_trilogy)["releases"]}) Req.Test.json(conn, new_release_group_releases)
end end
end) end)
@@ -186,6 +189,7 @@ defmodule MusicLibrary.RecordsTest do
release_group = release_group(:marbles) release_group = release_group(:marbles)
release_group_id = release_group_id(:marbles) release_group_id = release_group_id(:marbles)
release_group_releases = release_group_releases(:marbles)
cover_data = File.read!(marbles_cover_fixture()) cover_data = File.read!(marbles_cover_fixture())
@@ -195,7 +199,7 @@ defmodule MusicLibrary.RecordsTest do
Req.Test.json(conn, release_group) Req.Test.json(conn, release_group)
[_ws, _version, "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"] -> [_release_group, ^release_group_id, "front"] ->
Plug.Conn.send_resp(conn, 200, cover_data) Plug.Conn.send_resp(conn, 200, cover_data)
@@ -241,6 +245,7 @@ defmodule MusicLibrary.RecordsTest do
release_group = release_group(:marbles) release_group = release_group(:marbles)
release_group_id = release_group_id(:marbles) release_group_id = release_group_id(:marbles)
release_group_releases = release_group_releases(:marbles)
cover_data = File.read!(marbles_cover_fixture()) cover_data = File.read!(marbles_cover_fixture())
@@ -253,7 +258,7 @@ defmodule MusicLibrary.RecordsTest do
Req.Test.json(conn, release) Req.Test.json(conn, release)
[_ws, _version, "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"] -> [_release_group, ^release_group_id, "front"] ->
Plug.Conn.send_resp(conn, 200, cover_data) Plug.Conn.send_resp(conn, 200, cover_data)
@@ -246,6 +246,7 @@ defmodule MusicLibraryWeb.CollectionLive.IndexTest do
first_release_group_search_result_id = first_release_group_search_result["id"] first_release_group_search_result_id = first_release_group_search_result["id"]
release_group = release_group(:marbles) release_group = release_group(:marbles)
release_group_releases = release_group_releases(:marbles)
cover_data = File.read!(marbles_cover_fixture()) cover_data = File.read!(marbles_cover_fixture())
@@ -258,7 +259,7 @@ defmodule MusicLibraryWeb.CollectionLive.IndexTest do
Req.Test.json(conn, release_group_search_results()) Req.Test.json(conn, release_group_search_results())
[_ws, _version, "release"] -> [_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"] -> [_release_group, ^first_release_group_search_result_id, "front"] ->
Plug.Conn.send_resp(conn, 200, cover_data) Plug.Conn.send_resp(conn, 200, cover_data)
@@ -354,6 +355,7 @@ defmodule MusicLibraryWeb.CollectionLive.IndexTest do
release_group = release_group(:marbles) release_group = release_group(:marbles)
release_group_id = release_group["id"] release_group_id = release_group["id"]
release_group_releases = release_group_releases(:marbles)
cover_data = File.read!(marbles_cover_fixture()) cover_data = File.read!(marbles_cover_fixture())
@@ -371,7 +373,7 @@ defmodule MusicLibraryWeb.CollectionLive.IndexTest do
Req.Test.json(conn, releases) Req.Test.json(conn, releases)
else else
# Search by release group ID # Search by release group ID
Req.Test.json(conn, %{"releases" => release_group["releases"]}) Req.Test.json(conn, release_group_releases)
end end
[_release_group, ^release_group_id, "front"] -> [_release_group, ^release_group_id, "front"] ->
@@ -181,6 +181,7 @@ defmodule MusicLibraryWeb.StatsLive.IndexTest do
release_group = release_group(:mystery_of_time) release_group = release_group(:mystery_of_time)
release_group_id = release_group_id(: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()) cover_data = File.read!(marbles_cover_fixture())
@@ -193,7 +194,7 @@ defmodule MusicLibraryWeb.StatsLive.IndexTest do
Req.Test.json(conn, release) Req.Test.json(conn, release)
[_ws, _version, "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"] -> [_release_group, ^release_group_id, "front"] ->
Plug.Conn.send_resp(conn, 200, cover_data) Plug.Conn.send_resp(conn, 200, cover_data)
@@ -28,6 +28,11 @@ defmodule MusicBrainz.Fixtures.ReleaseGroup do
|> JSON.decode!() |> JSON.decode!()
end end
def release_group_releases(name) do
rg = release_group(name)
%{"releases" => rg["releases"]}
end
def release_group_id(name) do def release_group_id(name) do
release_group(name) |> Map.get("id") release_group(name) |> Map.get("id")
end end