Add tests for Records.search_records_count/2
This commit is contained in:
@@ -17,7 +17,8 @@ defmodule MusicLibrary.RecordsTest do
|
||||
%{records: records}
|
||||
end
|
||||
|
||||
# using record ids as records contain autogenerated fields which are not loaded when the record is created
|
||||
# when searching we do not return all record fields (e.g. cover data)
|
||||
# so we rely on record ids to compare results
|
||||
defp search(query, limit, offset) do
|
||||
Record
|
||||
|> Records.search_records(query, limit: limit, offset: offset)
|
||||
@@ -60,4 +61,39 @@ defmodule MusicLibrary.RecordsTest do
|
||||
assert [libertad.id] == search("mbid:#{airbag_au_mbid}", 10, 0)
|
||||
end
|
||||
end
|
||||
|
||||
describe "search_records_count/2" do
|
||||
setup [:create_records]
|
||||
|
||||
test "untagged search" do
|
||||
assert 2 == Records.search_records_count(Record, "brave")
|
||||
end
|
||||
|
||||
test "tagged search - album" do
|
||||
assert 1 == Records.search_records_count(Record, ~s(album:"Brave \(Live\)"))
|
||||
end
|
||||
|
||||
test "tagged search - artist" do
|
||||
assert 2 == Records.search_records_count(Record, "artist:airbag")
|
||||
assert 1 == Records.search_records_count(Record, ~s(artist:"airbag \(AU\)"))
|
||||
end
|
||||
|
||||
test "tagged search - format" do
|
||||
assert 1 == Records.search_records_count(Record, "brave format:cd")
|
||||
end
|
||||
|
||||
test "tagged search - type" do
|
||||
assert 1 == Records.search_records_count(Record, "brave type:live")
|
||||
end
|
||||
|
||||
test "tagged search - mbid", %{records: [_, _, _, greatest_show_on_earth, libertad]} do
|
||||
[airbag_mbid] = Enum.map(greatest_show_on_earth.artists, fn a -> a.musicbrainz_id end)
|
||||
[airbag_au_mbid] = Enum.map(libertad.artists, fn a -> a.musicbrainz_id end)
|
||||
|
||||
assert 1 ==
|
||||
Records.search_records_count(Record, "mbid:#{airbag_mbid}")
|
||||
|
||||
assert 1 == Records.search_records_count(Record, "mbid:#{airbag_au_mbid}")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user