fix flaky participation_test.exs
authorilja <git@ilja.space>
Sun, 23 Oct 2022 10:33:31 +0000 (12:33 +0200)
committerilja <git@ilja.space>
Sun, 23 Oct 2022 10:33:31 +0000 (12:33 +0200)
It was tested if the updated_at after marking as "read" was equal as the updated_at at insertion, but that seems wrong.
Firstly, if a record is updated, you expect the updated_at to also update.
Secondly, the insert and update happen almost at the same time, so it's flaky regardless.

Here I make sure it has a much older updated_at during insert so we can clealy see the effect after update.
I also check that the updated_at is actually updated because I expect that this is the expected behaviour and it's also the current behaviour.

test/pleroma/conversation/participation_test.exs

index a25e17c957f1206b8b510cc75e67184d0b14535d..2bf57f5395502fb5be4e91b6b240e504c34067f2 100644 (file)
@@ -122,11 +122,11 @@ defmodule Pleroma.Conversation.ParticipationTest do
   end
 
   test "it marks a participation as read" do
-    participation = insert(:participation, %{read: false})
+    participation = insert(:participation, %{updated_at: ~N[2017-07-17 17:09:58], read: false})
     {:ok, updated_participation} = Participation.mark_as_read(participation)
 
     assert updated_participation.read
-    assert updated_participation.updated_at == participation.updated_at
+    assert :gt = NaiveDateTime.compare(updated_participation.updated_at, participation.updated_at)
   end
 
   test "it marks a participation as unread" do