From 395b8e6f993ec1e0deb537f667f756605f5898ba Mon Sep 17 00:00:00 2001 From: lobo Date: Sun, 4 Oct 2026 21:06:21 +0200 Subject: [PATCH] feat(user): add chart forms for TOP_GAMES, ACTIVITY, ACTIVITY_GAMES --- .../auth_service/modules/user/model/StatCharts.java | 5 ++++- .../modules/user/api/UserControllerTest.java | 11 +++++++++-- .../modules/user/model/StatChartsTest.java | 11 ++++++++--- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/main/java/auth_service/modules/user/model/StatCharts.java b/src/main/java/auth_service/modules/user/model/StatCharts.java index 94608f1..6cb2edc 100644 --- a/src/main/java/auth_service/modules/user/model/StatCharts.java +++ b/src/main/java/auth_service/modules/user/model/StatCharts.java @@ -16,7 +16,10 @@ public final class StatCharts { "TREND", Set.of("LINE", "BARS"), "FINISHED", Set.of("BARS", "LINE", "LIST"), "TASTE", Set.of("BARS", "PIE", "DONUT", "LIST"), - "PLATFORMS", Set.of("BARS", "PIE", "DONUT", "LIST")); + "PLATFORMS", Set.of("BARS", "PIE", "DONUT", "LIST"), + "TOP_GAMES", Set.of("LIST", "BARS", "PIE", "DONUT"), + "ACTIVITY", Set.of("BARS", "LINE"), + "ACTIVITY_GAMES", Set.of("LIST", "BARS", "PIE", "DONUT")); private StatCharts() { } diff --git a/src/test/java/auth_service/modules/user/api/UserControllerTest.java b/src/test/java/auth_service/modules/user/api/UserControllerTest.java index ac1fe9a..d8acd2d 100644 --- a/src/test/java/auth_service/modules/user/api/UserControllerTest.java +++ b/src/test/java/auth_service/modules/user/api/UserControllerTest.java @@ -475,16 +475,23 @@ class UserControllerTest extends AbstractWebMvcTest { .contentType(MediaType.APPLICATION_JSON) .content("{\"group\":\"FINISHED\",\"chart\":null}")) .andExpect(status().isNoContent()); + mockMvc.perform(put("/api/users/settings/stat-chart") + .contentType(MediaType.APPLICATION_JSON) + .content("{\"group\":\"ACTIVITY_GAMES\",\"chart\":\"DONUT\"}")) + .andExpect(status().isNoContent()); verify(userService).updateStatChart(1L, "PLATFORMS", "PIE"); verify(userService).updateStatChart(1L, "FINISHED", null); + verify(userService).updateStatChart(1L, "ACTIVITY_GAMES", "DONUT"); } @ParameterizedTest @ValueSource(strings = { "{\"group\":\"TASTE\",\"chart\":\"LINE\"}", - "{\"group\":\"TOP_GAMES\",\"chart\":\"LIST\"}", - "{\"group\":\"TOP_GAMES\",\"chart\":null}", + "{\"group\":\"HABITS\",\"chart\":\"LIST\"}", + "{\"group\":\"HABITS\",\"chart\":null}", + "{\"group\":\"TOP_GAMES\",\"chart\":\"LINE\"}", + "{\"group\":\"ACTIVITY\",\"chart\":\"PIE\"}", "{\"group\":\"UNKNOWN\",\"chart\":\"BARS\"}", "{\"group\":\"platforms\",\"chart\":\"PIE\"}", "{\"group\":\"PLATFORMS\",\"chart\":\"RADAR\"}", diff --git a/src/test/java/auth_service/modules/user/model/StatChartsTest.java b/src/test/java/auth_service/modules/user/model/StatChartsTest.java index f70dbe4..3e9d0de 100644 --- a/src/test/java/auth_service/modules/user/model/StatChartsTest.java +++ b/src/test/java/auth_service/modules/user/model/StatChartsTest.java @@ -17,13 +17,16 @@ class StatChartsTest extends AbstractUnitTest { @ParameterizedTest @CsvSource({"TREND,LINE", "TREND,BARS", "FINISHED,BARS", "FINISHED,LINE", "FINISHED,LIST", "TASTE,BARS", "TASTE,PIE", "TASTE,DONUT", "TASTE,LIST", "PLATFORMS,BARS", "PLATFORMS,PIE", "PLATFORMS,DONUT", - "PLATFORMS,LIST"}) + "PLATFORMS,LIST", "TOP_GAMES,LIST", "TOP_GAMES,BARS", "TOP_GAMES,PIE", "TOP_GAMES,DONUT", + "ACTIVITY,BARS", "ACTIVITY,LINE", "ACTIVITY_GAMES,LIST", "ACTIVITY_GAMES,BARS", "ACTIVITY_GAMES,PIE", + "ACTIVITY_GAMES,DONUT"}) void allows_EachAllowedPair(String group, String chart) { assertTrue(StatCharts.allows(group, chart)); } @ParameterizedTest - @CsvSource({"TASTE,LINE", "TOP_GAMES,LIST", "UNKNOWN,BARS", "platforms,PIE", "PLATFORMS,pie", "PLATFORMS,RADAR", + @CsvSource({"TASTE,LINE", "HABITS,LIST", "TOP_GAMES,LINE", "ACTIVITY,PIE", "ACTIVITY_GAMES,LINE", + "UNKNOWN,BARS", "platforms,PIE", "PLATFORMS,pie", "PLATFORMS,RADAR", "TREND,PIE"}) void allows_OtherPairs_AreRefused(String group, String chart) { assertFalse(StatCharts.allows(group, chart)); @@ -32,7 +35,9 @@ class StatChartsTest extends AbstractUnitTest { @Test void knows_OnlyTheChartableGroups() { assertTrue(StatCharts.knows("PLATFORMS")); - assertFalse(StatCharts.knows("TOP_GAMES")); + assertTrue(StatCharts.knows("TOP_GAMES")); + assertTrue(StatCharts.knows("ACTIVITY_GAMES")); + assertFalse(StatCharts.knows("HABITS")); assertFalse(StatCharts.knows("platforms")); }