Can print an individual medium tracklist
This commit is contained in:
@@ -80,6 +80,28 @@ defmodule MusicLibrary.Records.TracklistPdfTest do
|
||||
end
|
||||
end
|
||||
|
||||
describe "generate_medium/3" do
|
||||
test "generates PDF for a single medium from a multi-disc release" do
|
||||
record = build_record(%{title: "Marbles", artists: [%{name: "Marillion"}]})
|
||||
api_response = MusicBrainz.Fixtures.Release.release_with_media(:marbles)
|
||||
release = Release.from_api_response(api_response)
|
||||
|
||||
assert {:ok, <<@pdf_magic_bytes, _::binary>>} =
|
||||
TracklistPdf.generate_medium(record, release, 1)
|
||||
end
|
||||
|
||||
test "returns error for non-existent medium number" do
|
||||
record = build_record(%{title: "Test Album", artists: [%{name: "Test Artist"}]})
|
||||
|
||||
release =
|
||||
build_release([
|
||||
build_medium(1, [build_track(1, "Track One", 200_000)])
|
||||
])
|
||||
|
||||
assert {:error, :medium_not_found} = TracklistPdf.generate_medium(record, release, 99)
|
||||
end
|
||||
end
|
||||
|
||||
describe "layout_params/2" do
|
||||
test "single column for small track count" do
|
||||
assert {1, 8, true} = TracklistPdf.layout_params(10, 1)
|
||||
|
||||
Reference in New Issue
Block a user