diff --git a/config/test.exs b/config/test.exs index 2b5c7d8..6c7409e 100644 --- a/config/test.exs +++ b/config/test.exs @@ -32,8 +32,7 @@ config :pinchflat, Pinchflat.Mailer, adapter: Swoosh.Adapters.Test # Disable swoosh api client as it is only required for production adapters. config :swoosh, :api_client, false -# Print only warnings and errors during test -config :logger, level: :warning +config :logger, level: :critical # Initialize plugs at runtime for faster test compilation config :phoenix, :plug_init_mode, :runtime diff --git a/lib/pinchflat/downloading/media_download_worker.ex b/lib/pinchflat/downloading/media_download_worker.ex index f87554a..ca69153 100644 --- a/lib/pinchflat/downloading/media_download_worker.ex +++ b/lib/pinchflat/downloading/media_download_worker.ex @@ -57,7 +57,9 @@ defmodule Pinchflat.Downloading.MediaDownloadWorker do {:ok, updated_media_item} err -> - err + Logger.error("Failed to download media for media item #{media_item.id}: #{inspect(err)}") + + {:error, :download_failed} end end diff --git a/test/pinchflat/downloading/media_download_worker_test.exs b/test/pinchflat/downloading/media_download_worker_test.exs index ad04c69..1f3ed5c 100644 --- a/test/pinchflat/downloading/media_download_worker_test.exs +++ b/test/pinchflat/downloading/media_download_worker_test.exs @@ -74,6 +74,12 @@ defmodule Pinchflat.Downloading.MediaDownloadWorkerTest do end) end + test "it ensures error are returned in a 2-item tuple", %{media_item: media_item} do + expect(YtDlpRunnerMock, :run, fn _url, _opts, _ot -> {:error, "error", 1} end) + + assert {:error, :download_failed} = perform_job(MediaDownloadWorker, %{id: media_item.id}) + end + test "it does not download if the source is set to not download", %{media_item: media_item} do expect(YtDlpRunnerMock, :run, 0, fn _url, _opts, _ot -> :ok end)