Count unique catalog entries in collection summary
The record_count now reflects the number of grouped catalog lines the model sees, not raw DB rows. Two copies of the same album on different formats count as 1 catalog entry.
This commit is contained in:
@@ -203,16 +203,15 @@ defmodule MusicLibrary.Collection do
|
||||
)
|
||||
|> Repo.all()
|
||||
|
||||
record_count = length(records)
|
||||
|
||||
summary =
|
||||
groups =
|
||||
records
|
||||
|> Enum.group_by(& &1.musicbrainz_id)
|
||||
|> Enum.map(fn {_id, group} -> format_group(group) end)
|
||||
|> Enum.sort()
|
||||
|> Enum.join("\n")
|
||||
|
||||
{summary, record_count}
|
||||
summary = Enum.join(groups, "\n")
|
||||
|
||||
{summary, length(groups)}
|
||||
end
|
||||
|
||||
defp format_group(records) do
|
||||
|
||||
@@ -366,7 +366,7 @@ defmodule MusicLibrary.CollectionTest do
|
||||
{summary, record_count} = Collection.collection_summary()
|
||||
lines = String.split(summary, "\n")
|
||||
|
||||
assert record_count == 2
|
||||
assert record_count == 1
|
||||
assert length(lines) == 1
|
||||
assert hd(lines) =~ "cd/vinyl"
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user