From 95ce71d9c5ca91ff23164baca5bbd7698d14717b Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Tue, 12 Nov 2024 10:04:18 +0000 Subject: [PATCH] Add test for refreshing a record cover --- test/music_library/records_test.exs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/test/music_library/records_test.exs b/test/music_library/records_test.exs index b380f480..61bf90e6 100644 --- a/test/music_library/records_test.exs +++ b/test/music_library/records_test.exs @@ -207,4 +207,25 @@ defmodule MusicLibrary.RecordsTest do assert record.purchased_at == DateTime.truncate(current_time, :second) end end + + describe "refresh cover/1" do + test "it fetches and stores the updated cover" do + record = record_fixture(cover_data: File.read!(marbles_cover_fixture())) + + raven_cover_data = File.read!(raven_cover_fixture()) + + cover_url = record.cover_url + + expect(APIBehaviourMock, :get_cover_art, fn {:url, ^cover_url} -> + {:ok, raven_cover_data} + end) + + updated_record = Records.refresh_cover(record) + + assert updated_record.cover_data !== record.cover_data + + assert updated_record.cover_hash == + "D3C045598B566563E59A743D25D6E653FBDA8A2A3F1B60A5855FD29F98A56B6B" + end + end end