Use release and release group fixtures with names everywhere
This commit is contained in:
@@ -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}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user