From 45236e4b10d36b66b52f16a0fce97e1d70fc3fbb Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Sun, 19 Apr 2026 07:50:39 +0100 Subject: [PATCH] Convert ErrorIgnorer tests to doctests --- lib/music_library/error_ignorer.ex | 23 +++++++++++++++++++++++ test/music_library/error_ignorer_test.exs | 19 +------------------ 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/lib/music_library/error_ignorer.ex b/lib/music_library/error_ignorer.ex index a2847a4d..8856b394 100644 --- a/lib/music_library/error_ignorer.ex +++ b/lib/music_library/error_ignorer.ex @@ -12,6 +12,29 @@ defmodule MusicLibrary.ErrorIgnorer do to_string(Phoenix.Router.NoRouteError) ] + @doc """ + Returns `true` when the error kind should not be tracked. + + ## Examples + + iex> MusicLibrary.ErrorIgnorer.ignore?( + ...> %ErrorTracker.Error{kind: "Elixir.Phoenix.Router.NoRouteError"}, + ...> %{} + ...> ) + true + + iex> MusicLibrary.ErrorIgnorer.ignore?( + ...> %ErrorTracker.Error{kind: "Elixir.RuntimeError"}, + ...> %{} + ...> ) + false + + iex> MusicLibrary.ErrorIgnorer.ignore?( + ...> %ErrorTracker.Error{kind: "Elixir.Ecto.NoResultsError"}, + ...> %{} + ...> ) + false + """ @impl true def ignore?(%ErrorTracker.Error{kind: kind}, _context) when kind in @ignored_kinds, do: true def ignore?(_error, _context), do: false diff --git a/test/music_library/error_ignorer_test.exs b/test/music_library/error_ignorer_test.exs index 1f875ac9..a49755be 100644 --- a/test/music_library/error_ignorer_test.exs +++ b/test/music_library/error_ignorer_test.exs @@ -1,22 +1,5 @@ defmodule MusicLibrary.ErrorIgnorerTest do use ExUnit.Case, async: true - alias MusicLibrary.ErrorIgnorer - - describe "ignore?/2" do - test "ignores Phoenix.Router.NoRouteError" do - error = %ErrorTracker.Error{kind: "Elixir.Phoenix.Router.NoRouteError"} - assert ErrorIgnorer.ignore?(error, %{}) == true - end - - test "does not ignore other error kinds" do - error = %ErrorTracker.Error{kind: "Elixir.RuntimeError"} - assert ErrorIgnorer.ignore?(error, %{}) == false - end - - test "does not ignore Ecto.NoResultsError" do - error = %ErrorTracker.Error{kind: "Elixir.Ecto.NoResultsError"} - assert ErrorIgnorer.ignore?(error, %{}) == false - end - end + doctest MusicLibrary.ErrorIgnorer end