Use release and release group fixtures with names everywhere

This commit is contained in:
Claudio Ortolina
2024-12-14 23:52:09 +03:00
parent 4ede4e3736
commit 3fbd6ba1bf
4 changed files with 33 additions and 41 deletions
+10 -10
View File
@@ -34,7 +34,7 @@ defmodule MusicLibrary.RecordsTest do
describe "create_record/1" do
test "populates computed values" do
record =
record_fixture(musicbrainz_data: ReleaseGroupsFixtures.release_group_with_includes())
record_fixture(musicbrainz_data: ReleaseGroupsFixtures.release_group(:lockdown_trilogy))
assert record.release_ids == ["77e746fc-566f-445b-a62b-cc014280fac9"]
@@ -52,19 +52,19 @@ defmodule MusicLibrary.RecordsTest do
describe "refresh_musicbrainz_data/1" do
test "updates release_ids and included_release_group_ids" do
release_group_id = release_group_id()
release_group_id = release_group_id(:marbles)
record =
record_fixture(
musicbrainz_id: release_group_id,
musicbrainz_data: Map.put(release_group(), "releases", [])
musicbrainz_data: Map.put(release_group(:marbles), "releases", [])
)
assert record.release_ids == []
assert record.included_release_group_ids == []
expect(APIBehaviourMock, :get_release_group, fn ^release_group_id, _config ->
{:ok, release_group_with_includes()}
{:ok, release_group(:lockdown_trilogy)}
end)
{:ok, updated_record} = Records.refresh_musicbrainz_data(record)
@@ -208,8 +208,8 @@ defmodule MusicLibrary.RecordsTest do
test "it saves a record with its cover art" do
current_time = DateTime.utc_now()
release_group = release_group()
release_group_id = release_group_id()
release_group = release_group(:marbles)
release_group_id = release_group_id(:marbles)
expect(APIBehaviourMock, :get_release_group, fn ^release_group_id, _config ->
{:ok, release_group}
@@ -254,11 +254,11 @@ defmodule MusicLibrary.RecordsTest do
test "it saves a record with its cover art" do
current_time = DateTime.utc_now()
release = release()
release_id = release_id()
release = release(:marbles)
release_id = release_id(:marbles)
release_group = release_group()
release_group_id = release_group_id()
release_group = release_group(:marbles)
release_group_id = release_group_id(:marbles)
expect(APIBehaviourMock, :get_release, fn ^release_id, _config ->
{:ok, release}
@@ -295,7 +295,7 @@ defmodule MusicLibraryWeb.CollectionLive.IndexTest do
first_result = hd(mock_results)
first_result_id = first_result.id
release_group = release_group()
release_group = release_group(:marbles)
expect(APIBehaviourMock, :get_release_group, fn ^first_result_id, _config ->
{:ok, release_group}
+1 -1
View File
@@ -60,7 +60,7 @@ defmodule MusicLibrary.RecordsFixtures do
cover_url: "https://coverartarchive.org/release-group/#{record_musicbrainz_id}/front",
cover_data: File.read!(@marbles_cover_data_path),
musicbrainz_id: record_musicbrainz_id,
musicbrainz_data: ReleaseGroupsFixtures.release_group(),
musicbrainz_data: ReleaseGroupsFixtures.release_group(:marbles),
title: Enum.random(@titles),
type: :album,
format: Record.formats() |> Enum.random(),
@@ -26,12 +26,33 @@ defmodule MusicLibrary.ReleaseGroupsFixtures do
|> Jason.decode!()
end
def release_group(:marbles) do
Path.join([@fixtures_folder, "release_group - marillion - marbles.json"])
|> File.read!()
|> Jason.decode!()
end
def release_group(:lockdown_trilogy) do
Path.join([
@fixtures_folder,
"release_group_with_includes - mariusz duda - lockdown trilogy.json"
])
|> File.read!()
|> Jason.decode!()
end
def release(:mystery_of_time) do
Path.join([@fixtures_folder, "release - avantasia - the mystery of time.json"])
|> File.read!()
|> Jason.decode!()
end
def release(:marbles) do
Path.join([@fixtures_folder, "release - marillion - marbles.json"])
|> File.read!()
|> Jason.decode!()
end
def release_group_id(name) do
release_group(name) |> Map.get("id")
end
@@ -39,33 +60,4 @@ defmodule MusicLibrary.ReleaseGroupsFixtures do
def release_id(name) do
release(name) |> Map.get("id")
end
def release_group_id do
release_group() |> Map.get("id")
end
def release_group do
Path.join([@fixtures_folder, "release_group - marillion - marbles.json"])
|> File.read!()
|> Jason.decode!()
end
def release_group_with_includes do
Path.join([
@fixtures_folder,
"release_group_with_includes - mariusz duda - lockdown trilogy.json"
])
|> File.read!()
|> Jason.decode!()
end
def release_id do
release() |> Map.get("id")
end
def release do
Path.join([@fixtures_folder, "release - marillion - marbles.json"])
|> File.read!()
|> Jason.decode!()
end
end