diff --git a/priv/repo/migrations/20241022205853_add_purchased_at_index_to_records.exs b/priv/repo/migrations/20241022205853_add_purchased_at_index_to_records.exs new file mode 100644 index 00000000..f4d15a9d --- /dev/null +++ b/priv/repo/migrations/20241022205853_add_purchased_at_index_to_records.exs @@ -0,0 +1,7 @@ +defmodule MusicLibrary.Repo.Migrations.AddPurchasedAtIndexToRecords do + use Ecto.Migration + + def change do + create index("records", [:purchased_at]) + end +end diff --git a/test/music_library_web/controllers/stats_controller_test.exs b/test/music_library_web/controllers/stats_controller_test.exs index d40b2dff..fb15a44c 100644 --- a/test/music_library_web/controllers/stats_controller_test.exs +++ b/test/music_library_web/controllers/stats_controller_test.exs @@ -50,7 +50,9 @@ defmodule MusicLibraryWeb.StatsControllerTest do end test "it shows the latest purchase", %{conn: conn, collection: collection} do - latest_record = Enum.max_by(collection, & &1.purchased_at) + # purchased_at has second precision, so finding the latest purchased using then + # highest purchsed_at value doesn't work, as it picks the wrong value. + latest_record = List.last(collection) conn = get(conn, "/")