From 2c567a5e8e0d395939030d6fb740e764cab45369 Mon Sep 17 00:00:00 2001 From: Marcus Fihlon Date: Wed, 29 Apr 2026 10:00:09 +0200 Subject: [PATCH] fix(analytics): rebuild achievements after activity deletion Signed-off-by: Marcus Fihlon --- src/main/java/net/javahippie/fitpub/service/FitFileService.java | 1 + .../java/net/javahippie/fitpub/service/FitFileServiceTest.java | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/main/java/net/javahippie/fitpub/service/FitFileService.java b/src/main/java/net/javahippie/fitpub/service/FitFileService.java index bb7086e..a5b8b01 100644 --- a/src/main/java/net/javahippie/fitpub/service/FitFileService.java +++ b/src/main/java/net/javahippie/fitpub/service/FitFileService.java @@ -319,6 +319,7 @@ public class FitFileService { return activityRepository.findByIdAndUserId(activityId, userId) .map(activity -> { activityRepository.delete(activity); + achievementService.rebuildAchievementsForUser(userId); log.info("Deleted activity {} for user {}", activityId, userId); return true; }) diff --git a/src/test/java/net/javahippie/fitpub/service/FitFileServiceTest.java b/src/test/java/net/javahippie/fitpub/service/FitFileServiceTest.java index 3ad4b11..6f97fb8 100644 --- a/src/test/java/net/javahippie/fitpub/service/FitFileServiceTest.java +++ b/src/test/java/net/javahippie/fitpub/service/FitFileServiceTest.java @@ -238,6 +238,7 @@ class FitFileServiceTest { // Assert assertTrue(result); verify(activityRepository).delete(activity); + verify(achievementService).rebuildAchievementsForUser(testUserId); } @Test @@ -254,6 +255,7 @@ class FitFileServiceTest { // Assert assertFalse(result); verify(activityRepository, never()).delete(any()); + verify(achievementService, never()).rebuildAchievementsForUser(any()); } @Test