Improve tests: better assertions, meaningful tests
Track resulting principles in project conventions
This commit is contained in:
@@ -9,13 +9,12 @@ defmodule MusicLibrary.Worker.ArtistRefreshAllDiscogsDataTest do
|
||||
test "enqueues refresh jobs for all artist infos" do
|
||||
record = record()
|
||||
artist = hd(record.artists)
|
||||
_artist_info = artist_info(artist.musicbrainz_id)
|
||||
artist_info = artist_info(artist.musicbrainz_id)
|
||||
|
||||
assert {:ok, []} = perform_job(ArtistRefreshAllDiscogsData, %{})
|
||||
end
|
||||
|
||||
test "succeeds with no artist infos" do
|
||||
assert {:ok, []} = perform_job(ArtistRefreshAllDiscogsData, %{})
|
||||
assert_enqueued worker: MusicLibrary.Worker.ArtistRefreshDiscogsData,
|
||||
args: %{id: artist_info.id}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -9,13 +9,12 @@ defmodule MusicLibrary.Worker.ArtistRefreshAllMusicBrainzDataTest do
|
||||
test "enqueues refresh jobs for all artist infos" do
|
||||
record = record()
|
||||
artist = hd(record.artists)
|
||||
_artist_info = artist_info(artist.musicbrainz_id)
|
||||
artist_info = artist_info(artist.musicbrainz_id)
|
||||
|
||||
assert {:ok, []} = perform_job(ArtistRefreshAllMusicBrainzData, %{})
|
||||
end
|
||||
|
||||
test "succeeds with no artist infos" do
|
||||
assert {:ok, []} = perform_job(ArtistRefreshAllMusicBrainzData, %{})
|
||||
assert_enqueued worker: MusicLibrary.Worker.ArtistRefreshMusicBrainzData,
|
||||
args: %{id: artist_info.id}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -9,13 +9,12 @@ defmodule MusicLibrary.Worker.ArtistRefreshAllWikipediaDataTest do
|
||||
test "enqueues refresh jobs for all artist infos" do
|
||||
record = record()
|
||||
artist = hd(record.artists)
|
||||
_artist_info = artist_info(artist.musicbrainz_id)
|
||||
artist_info = artist_info(artist.musicbrainz_id)
|
||||
|
||||
assert {:ok, []} = perform_job(ArtistRefreshAllWikipediaData, %{})
|
||||
end
|
||||
|
||||
test "succeeds with no artist infos" do
|
||||
assert {:ok, []} = perform_job(ArtistRefreshAllWikipediaData, %{})
|
||||
assert_enqueued worker: MusicLibrary.Worker.ArtistRefreshWikipediaData,
|
||||
args: %{id: artist_info.id}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -24,7 +24,7 @@ defmodule MusicLibrary.Worker.ArtistRefreshDiscogsDataTest do
|
||||
assert {:ok, _} = perform_job(ArtistRefreshDiscogsData, %{"id" => artist_info.id})
|
||||
|
||||
updated = Artists.get_artist_info!(artist_info.id)
|
||||
assert updated.discogs_data != nil
|
||||
assert updated.discogs_data == ArtistFixture.get_artist()
|
||||
end
|
||||
|
||||
test "returns ok when no discogs data is available" do
|
||||
|
||||
@@ -34,8 +34,8 @@ defmodule MusicLibrary.Worker.ArtistRefreshWikipediaDataTest do
|
||||
assert {:ok, _} = perform_job(ArtistRefreshWikipediaData, %{"id" => artist_info.id})
|
||||
|
||||
updated = Artists.get_artist_info!(artist_info.id)
|
||||
assert updated.wikipedia_data != nil
|
||||
assert updated.wikipedia_data != %{}
|
||||
assert is_map(updated.wikipedia_data)
|
||||
assert Map.has_key?(updated.wikipedia_data, "intro_html")
|
||||
end
|
||||
|
||||
test "discards job when no wikidata_id exists in musicbrainz_data" do
|
||||
|
||||
@@ -24,7 +24,8 @@ defmodule MusicLibrary.Worker.FetchArtistImageTest do
|
||||
assert :ok = perform_job(FetchArtistImage, %{"id" => artist_info.id})
|
||||
|
||||
updated = Artists.get_artist_info!(artist_info.id)
|
||||
assert updated.image_data_hash != nil
|
||||
assert is_binary(updated.image_data_hash) and byte_size(updated.image_data_hash) > 0
|
||||
assert MusicLibrary.Assets.get(updated.image_data_hash) != nil
|
||||
end
|
||||
|
||||
test "cancels when no discogs data exists" do
|
||||
|
||||
@@ -7,13 +7,12 @@ defmodule MusicLibrary.Worker.RecordGenerateAllEmbeddingsTest do
|
||||
|
||||
describe "perform/1" do
|
||||
test "enqueues embedding generation jobs for all records" do
|
||||
_record = record()
|
||||
record = record()
|
||||
|
||||
assert {:ok, []} = perform_job(RecordGenerateAllEmbeddings, %{})
|
||||
end
|
||||
|
||||
test "succeeds with no records" do
|
||||
assert {:ok, []} = perform_job(RecordGenerateAllEmbeddings, %{})
|
||||
assert_enqueued worker: MusicLibrary.Worker.GenerateRecordEmbedding,
|
||||
args: %{record_id: record.id}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -7,13 +7,12 @@ defmodule MusicLibrary.Worker.RecordRefreshAllMusicBrainzDataTest do
|
||||
|
||||
describe "perform/1" do
|
||||
test "enqueues refresh jobs for all records" do
|
||||
_record = record()
|
||||
record = record()
|
||||
|
||||
assert {:ok, []} = perform_job(RecordRefreshAllMusicBrainzData, %{})
|
||||
end
|
||||
|
||||
test "succeeds with no records" do
|
||||
assert {:ok, []} = perform_job(RecordRefreshAllMusicBrainzData, %{})
|
||||
assert_enqueued worker: MusicLibrary.Worker.RecordRefreshMusicBrainzData,
|
||||
args: %{id: record.id}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -24,7 +24,7 @@ defmodule MusicLibrary.Worker.RecordRefreshMusicBrainzDataTest do
|
||||
assert :ok = perform_job(RecordRefreshMusicBrainzData, %{"id" => record.id})
|
||||
|
||||
updated = Records.get_record!(record.id)
|
||||
assert updated.musicbrainz_data != nil
|
||||
assert updated.musicbrainz_data["title"] == "Marbles"
|
||||
end
|
||||
|
||||
test "raises when record does not exist" do
|
||||
|
||||
@@ -18,8 +18,10 @@ defmodule MusicLibrary.Worker.RefreshCoverTest do
|
||||
assert :ok = perform_job(RefreshCover, %{"id" => record.id})
|
||||
|
||||
updated = Records.get_record!(record.id)
|
||||
assert updated.cover_hash != nil
|
||||
assert Assets.get(updated.cover_hash) != nil
|
||||
assert is_binary(updated.cover_hash) and byte_size(updated.cover_hash) > 0
|
||||
|
||||
asset = Assets.get(updated.cover_hash)
|
||||
assert asset.format == "image/jpeg"
|
||||
end
|
||||
|
||||
test "raises when record does not exist" do
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
defmodule MusicLibrary.Worker.RepoOptimizeTest do
|
||||
use MusicLibrary.DataCase
|
||||
|
||||
alias MusicLibrary.Worker.RepoOptimize
|
||||
|
||||
describe "perform/1" do
|
||||
test "runs optimize on the repo" do
|
||||
assert {:ok, %Exqlite.Result{}} = perform_job(RepoOptimize, %{})
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user