Display type stats

This commit is contained in:
Claudio Ortolina
2024-10-14 22:33:05 +01:00
parent 7a0d017965
commit 2661c9f60d
3 changed files with 33 additions and 3 deletions
@@ -19,18 +19,26 @@ defmodule MusicLibraryWeb.StatsControllerTest do
describe "GET /" do
setup [:create_records]
test "it shows the record count (total and by format)", %{conn: conn, records: records} do
test "it shows the record counts (total, format, and type)", %{conn: conn, records: records} do
conn = get(conn, "/")
assert html_response(conn, 200) =~ records |> length() |> Integer.to_string()
response = html_response(conn, 200)
assert response =~ records |> length() |> Integer.to_string()
records
|> Enum.frequencies_by(& &1.format)
|> Enum.each(fn {format, count} ->
response = html_response(conn, 200)
assert response =~ "\n#{count}\n"
assert response =~ "\n#{Record.format_long_label(format)}\n"
end)
records
|> Enum.frequencies_by(& &1.type)
|> Enum.each(fn {type, count} ->
assert response =~ "\n#{count}\n"
assert response =~ "\n#{Record.type_long_label(type)}\n"
end)
end
test "it shows the latest record", %{conn: conn, records: records} do