From 79edd6eade5e0b158f628da5eeba5a340720eba6 Mon Sep 17 00:00:00 2001 From: Claudio Ortolina Date: Tue, 22 Oct 2024 22:15:13 +0100 Subject: [PATCH] Add missing index to records table Updates a relevant test to remove flakyness --- .../20241022205853_add_purchased_at_index_to_records.exs | 7 +++++++ .../controllers/stats_controller_test.exs | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 priv/repo/migrations/20241022205853_add_purchased_at_index_to_records.exs 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, "/")