이호영 이호영 6 days ago
test: DB locale에 독립적인 대시보드 집계 검증
@365096bd957647b447dc9e2f7931fcc5ee585cda
src/test/java/kr/itn/itnhub/dashboard/DashboardControllerTest.java
--- src/test/java/kr/itn/itnhub/dashboard/DashboardControllerTest.java
+++ src/test/java/kr/itn/itnhub/dashboard/DashboardControllerTest.java
@@ -13,6 +13,7 @@
 import org.springframework.security.test.context.support.WithMockUser;
 import org.springframework.test.web.servlet.MockMvc;
 
+import static org.hamcrest.Matchers.hasItem;
 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@@ -134,7 +135,9 @@
         mvc.perform(get("/api/dashboard"))
                 .andExpect(status().isOk())
                 .andExpect(jsonPath("$.rights.reviewSourceKoglTypes[0].label").value("미부착"))
-                .andExpect(jsonPath("$.rights.reviewJudgedKoglTypes[0].label").value("2유형"))
+                // 동률 항목의 정렬은 DB locale에 따라 달라질 수 있으므로 순서가 아닌 집계값을 검증한다.
+                .andExpect(jsonPath("$.rights.reviewJudgedKoglTypes[*].label", hasItem("2유형")))
+                .andExpect(jsonPath("$.rights.reviewJudgedKoglTypes[?(@.label == '2유형')].count", hasItem(1)))
                 .andExpect(jsonPath("$.rights.processTypes.length()").value(2))
                 .andExpect(jsonPath("$.rights.processStatuses.length()").value(2))
                 .andExpect(jsonPath("$.rights.changedKoglCount").value(1))
Add a comment
List