From ba0f9bb3255133998817539b50398b55bb78c33a Mon Sep 17 00:00:00 2001 From: Marcel Date: Tue, 21 Apr 2026 22:45:23 +0200 Subject: [PATCH] refactor(test): fix unchecked cast and derive ALL_ELIGIBLE_KINDS from enum - Replace any(Set.class) with any() to eliminate the raw-type unchecked cast in DashboardControllerTest - Derive ALL_ELIGIBLE_KINDS from AuditKind.ROLLUP_ELIGIBLE.stream() so the integration test constant stays in sync with the production constant automatically when new kinds are added Co-Authored-By: Claude Sonnet 4.6 --- .../AuditLogQueryRepositoryRolledUpTest.java | 6 +++--- .../dashboard/DashboardControllerTest.java | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/backend/src/test/java/org/raddatz/familienarchiv/dashboard/AuditLogQueryRepositoryRolledUpTest.java b/backend/src/test/java/org/raddatz/familienarchiv/dashboard/AuditLogQueryRepositoryRolledUpTest.java index 5e09c187..c29a2a14 100644 --- a/backend/src/test/java/org/raddatz/familienarchiv/dashboard/AuditLogQueryRepositoryRolledUpTest.java +++ b/backend/src/test/java/org/raddatz/familienarchiv/dashboard/AuditLogQueryRepositoryRolledUpTest.java @@ -3,6 +3,7 @@ package org.raddatz.familienarchiv.dashboard; import org.junit.jupiter.api.Test; import org.raddatz.familienarchiv.PostgresContainerConfig; import org.raddatz.familienarchiv.audit.ActivityFeedRow; +import org.raddatz.familienarchiv.audit.AuditKind; import org.raddatz.familienarchiv.audit.AuditLogQueryRepository; import org.raddatz.familienarchiv.config.FlywayConfig; import org.springframework.beans.factory.annotation.Autowired; @@ -36,9 +37,8 @@ class AuditLogQueryRepositoryRolledUpTest { static final UUID DOC_ID = UUID.fromString("eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee"); static final UUID OTHER_DOC_ID = UUID.fromString("ffffffff-ffff-ffff-ffff-ffffffffffff"); - static final List ALL_ELIGIBLE_KINDS = List.of( - "TEXT_SAVED", "FILE_UPLOADED", "ANNOTATION_CREATED", - "BLOCK_REVIEWED", "COMMENT_ADDED", "MENTION_CREATED"); + static final List ALL_ELIGIBLE_KINDS = + AuditKind.ROLLUP_ELIGIBLE.stream().map(Enum::name).toList(); private static final ObjectMapper MAPPER = new ObjectMapper(); diff --git a/backend/src/test/java/org/raddatz/familienarchiv/dashboard/DashboardControllerTest.java b/backend/src/test/java/org/raddatz/familienarchiv/dashboard/DashboardControllerTest.java index 7dc70435..786eebfb 100644 --- a/backend/src/test/java/org/raddatz/familienarchiv/dashboard/DashboardControllerTest.java +++ b/backend/src/test/java/org/raddatz/familienarchiv/dashboard/DashboardControllerTest.java @@ -137,7 +137,7 @@ class DashboardControllerTest { UUID userId = UUID.randomUUID(); when(userService.findByEmail(any())).thenReturn( AppUser.builder().id(userId).email("u@test.com").password("pw").build()); - when(dashboardService.getActivity(any(UUID.class), anyInt(), any(Set.class))).thenReturn(List.of()); + when(dashboardService.getActivity(any(UUID.class), anyInt(), any())).thenReturn(List.of()); mockMvc.perform(get("/api/dashboard/activity")) .andExpect(status().isOk()) @@ -150,12 +150,12 @@ class DashboardControllerTest { UUID userId = UUID.randomUUID(); when(userService.findByEmail(any())).thenReturn( AppUser.builder().id(userId).email("u@test.com").password("pw").build()); - when(dashboardService.getActivity(any(UUID.class), anyInt(), any(Set.class))).thenReturn(List.of()); + when(dashboardService.getActivity(any(UUID.class), anyInt(), any())).thenReturn(List.of()); mockMvc.perform(get("/api/dashboard/activity").param("limit", "9999")) .andExpect(status().isOk()); - verify(dashboardService).getActivity(any(UUID.class), org.mockito.ArgumentMatchers.eq(40), any(Set.class)); + verify(dashboardService).getActivity(any(UUID.class), org.mockito.ArgumentMatchers.eq(40), any()); } // ─── GET /api/dashboard/activity — kinds param ─────────────────────────── @@ -166,7 +166,7 @@ class DashboardControllerTest { UUID userId = UUID.randomUUID(); when(userService.findByEmail(any())).thenReturn( AppUser.builder().id(userId).email("u@test.com").password("pw").build()); - when(dashboardService.getActivity(any(UUID.class), anyInt(), any(Set.class))).thenReturn(List.of()); + when(dashboardService.getActivity(any(UUID.class), anyInt(), any())).thenReturn(List.of()); mockMvc.perform(get("/api/dashboard/activity") .param("kinds", "FILE_UPLOADED", "TEXT_SAVED")) @@ -189,7 +189,7 @@ class DashboardControllerTest { UUID userId = UUID.randomUUID(); when(userService.findByEmail(any())).thenReturn( AppUser.builder().id(userId).email("u@test.com").password("pw").build()); - when(dashboardService.getActivity(any(UUID.class), anyInt(), any(Set.class))).thenReturn(List.of()); + when(dashboardService.getActivity(any(UUID.class), anyInt(), any())).thenReturn(List.of()); mockMvc.perform(get("/api/dashboard/activity")) .andExpect(status().isOk()); @@ -204,7 +204,7 @@ class DashboardControllerTest { UUID userId = UUID.randomUUID(); when(userService.findByEmail(any())).thenReturn( AppUser.builder().id(userId).email("u@test.com").password("pw").build()); - when(dashboardService.getActivity(any(UUID.class), anyInt(), any(Set.class))).thenReturn(List.of()); + when(dashboardService.getActivity(any(UUID.class), anyInt(), any())).thenReturn(List.of()); mockMvc.perform(get("/api/dashboard/activity").param("kinds", "COMMENT_ADDED")) .andExpect(status().isOk());