fix(analytics): refresh summaries after activity deletion
Signed-off-by: Marcus Fihlon <marcus@fihlon.swiss>
This commit is contained in:
parent
2ac3d82fda
commit
689b8e5e82
2 changed files with 14 additions and 0 deletions
|
|
@ -320,6 +320,12 @@ public class FitFileService {
|
|||
.map(activity -> {
|
||||
activityRepository.delete(activity);
|
||||
achievementService.rebuildAchievementsForUser(userId);
|
||||
if (activity.getStartedAt() != null) {
|
||||
java.time.LocalDate activityDate = activity.getStartedAt().toLocalDate();
|
||||
activitySummaryService.updateWeeklySummary(userId, activityDate);
|
||||
activitySummaryService.updateMonthlySummary(userId, activityDate);
|
||||
activitySummaryService.updateYearlySummary(userId, activityDate);
|
||||
}
|
||||
log.info("Deleted activity {} for user {}", activityId, userId);
|
||||
return true;
|
||||
})
|
||||
|
|
|
|||
|
|
@ -224,9 +224,11 @@ class FitFileServiceTest {
|
|||
void testDeleteActivity() {
|
||||
// Arrange
|
||||
UUID activityId = UUID.randomUUID();
|
||||
LocalDateTime startedAt = LocalDateTime.of(2025, 12, 3, 10, 0);
|
||||
Activity activity = Activity.builder()
|
||||
.id(activityId)
|
||||
.userId(testUserId)
|
||||
.startedAt(startedAt)
|
||||
.build();
|
||||
|
||||
when(activityRepository.findByIdAndUserId(activityId, testUserId))
|
||||
|
|
@ -239,6 +241,9 @@ class FitFileServiceTest {
|
|||
assertTrue(result);
|
||||
verify(activityRepository).delete(activity);
|
||||
verify(achievementService).rebuildAchievementsForUser(testUserId);
|
||||
verify(activitySummaryService).updateWeeklySummary(testUserId, startedAt.toLocalDate());
|
||||
verify(activitySummaryService).updateMonthlySummary(testUserId, startedAt.toLocalDate());
|
||||
verify(activitySummaryService).updateYearlySummary(testUserId, startedAt.toLocalDate());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -256,6 +261,9 @@ class FitFileServiceTest {
|
|||
assertFalse(result);
|
||||
verify(activityRepository, never()).delete(any());
|
||||
verify(achievementService, never()).rebuildAchievementsForUser(any());
|
||||
verify(activitySummaryService, never()).updateWeeklySummary(any(), any());
|
||||
verify(activitySummaryService, never()).updateMonthlySummary(any(), any());
|
||||
verify(activitySummaryService, never()).updateYearlySummary(any(), any());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue