From 2a5254343e27d7209080b23ae10e93f094d6a067 Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Tue, 10 Mar 2026 10:15:29 -0500 Subject: [PATCH] fix: ensure sync logs are in different minutes for activity feed test The ActivityFeed groups sync logs by minute, so when creating test data with random timestamps, multiple logs could fall within the same minute and get grouped together, causing the test to fail. Now ensures each sync log is exactly 60 seconds apart (different minutes). --- test/towerops/activity_feed_test.exs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/test/towerops/activity_feed_test.exs b/test/towerops/activity_feed_test.exs index c08a36b6..5325d2f0 100644 --- a/test/towerops/activity_feed_test.exs +++ b/test/towerops/activity_feed_test.exs @@ -325,7 +325,10 @@ defmodule Towerops.ActivityFeedTest do end test "handles different sync statuses", %{organization: organization, integration: integration} do - for status <- ["success", "failed", "partial"] do + # Create sync logs in different minutes (sync groups by minute) + ["success", "failed", "partial"] + |> Enum.with_index() + |> Enum.each(fn {status, idx} -> {:ok, _} = %SyncLog{} |> SyncLog.changeset(%{ @@ -333,10 +336,11 @@ defmodule Towerops.ActivityFeedTest do integration_id: integration.id, status: status, records_synced: 10, - inserted_at: DateTime.add(~U[2026-03-06 10:00:00Z], :rand.uniform(3600), :second) + # Ensure each is in a different minute (60 seconds apart) + inserted_at: DateTime.add(~U[2026-03-06 10:00:00Z], idx * 60, :second) }) |> Repo.insert() - end + end) activities = ActivityFeed.list_org_activity(organization.id)