refactor(original-series-calculate): 정산 조회 파라미터를 snake_case로 통일한다
This commit is contained in:
@@ -25,15 +25,15 @@ class AdminOriginalSeriesCalculateController(
|
||||
|
||||
@GetMapping("/original-series/settlement-details")
|
||||
fun getSettlementDetails(
|
||||
@RequestParam("startDate") startDateStr: String,
|
||||
@RequestParam("endDate") endDateStr: String,
|
||||
@RequestParam memberId: Long,
|
||||
@RequestParam("start_date") startDateStr: String,
|
||||
@RequestParam("end_date") endDateStr: String,
|
||||
@RequestParam("creator_id") creatorId: Long,
|
||||
pageable: Pageable
|
||||
) = ApiResponse.ok(
|
||||
service.getSettlementDetails(
|
||||
startDateStr = startDateStr,
|
||||
endDateStr = endDateStr,
|
||||
memberId = memberId,
|
||||
creatorId = creatorId,
|
||||
offset = pageable.offset,
|
||||
limit = pageable.pageSize.toLong()
|
||||
)
|
||||
@@ -41,8 +41,8 @@ class AdminOriginalSeriesCalculateController(
|
||||
|
||||
@GetMapping("/original-series/settlement-details/excel")
|
||||
fun downloadSettlementDetailsExcel(
|
||||
@RequestParam("startDate") startDateStr: String,
|
||||
@RequestParam("endDate") endDateStr: String
|
||||
@RequestParam("start_date") startDateStr: String,
|
||||
@RequestParam("end_date") endDateStr: String
|
||||
): ResponseEntity<StreamingResponseBody> = createExcelResponse(
|
||||
fileName = "original-series-settlement-details.xlsx",
|
||||
response = service.downloadSettlementDetailsExcel(startDateStr, endDateStr)
|
||||
|
||||
@@ -23,13 +23,14 @@ class AdminOriginalSeriesCalculateControllerTest {
|
||||
@Test
|
||||
@DisplayName("관리자 컨트롤러는 오리지널 시리즈 소지 유저 목록을 반환한다")
|
||||
fun shouldReturnOriginalSeriesOwners() {
|
||||
val owners = listOf(GetAdminOriginalSeriesOwnerResponse(memberId = 1L, nickname = "owner-a"))
|
||||
val owners = listOf(GetAdminOriginalSeriesOwnerResponse(creatorId = 1L, nickname = "owner-a"))
|
||||
Mockito.`when`(service.getOriginalSeriesOwners()).thenReturn(owners)
|
||||
|
||||
val response = controller.getOriginalSeriesOwners()
|
||||
|
||||
assertEquals(true, response.success)
|
||||
assertEquals(1, response.data!!.size)
|
||||
assertEquals(1L, response.data!![0].creatorId)
|
||||
assertEquals("owner-a", response.data!![0].nickname)
|
||||
Mockito.verify(service).getOriginalSeriesOwners()
|
||||
}
|
||||
@@ -55,7 +56,7 @@ class AdminOriginalSeriesCalculateControllerTest {
|
||||
service.getSettlementDetails(
|
||||
startDateStr = "2026-04-01",
|
||||
endDateStr = "2026-04-30",
|
||||
memberId = 5L,
|
||||
creatorId = 5L,
|
||||
offset = 10L,
|
||||
limit = 10L
|
||||
)
|
||||
@@ -64,7 +65,7 @@ class AdminOriginalSeriesCalculateControllerTest {
|
||||
val response = controller.getSettlementDetails(
|
||||
startDateStr = "2026-04-01",
|
||||
endDateStr = "2026-04-30",
|
||||
memberId = 5L,
|
||||
creatorId = 5L,
|
||||
pageable = PageRequest.of(1, 10)
|
||||
)
|
||||
|
||||
@@ -74,12 +75,47 @@ class AdminOriginalSeriesCalculateControllerTest {
|
||||
Mockito.verify(service).getSettlementDetails(
|
||||
startDateStr = "2026-04-01",
|
||||
endDateStr = "2026-04-30",
|
||||
memberId = 5L,
|
||||
creatorId = 5L,
|
||||
offset = 10L,
|
||||
limit = 10L
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("정산 내역 조회 API는 snake_case 파라미터를 사용한다")
|
||||
fun shouldUseSnakeCaseQueryParameterNames() {
|
||||
val method = AdminOriginalSeriesCalculateController::class.java
|
||||
.getDeclaredMethod(
|
||||
"getSettlementDetails",
|
||||
String::class.java,
|
||||
String::class.java,
|
||||
java.lang.Long.TYPE,
|
||||
org.springframework.data.domain.Pageable::class.java
|
||||
)
|
||||
val parameters = method.parameters
|
||||
val requestParamClass = org.springframework.web.bind.annotation.RequestParam::class.java
|
||||
|
||||
assertEquals("start_date", parameters[0].getAnnotation(requestParamClass).value)
|
||||
assertEquals("end_date", parameters[1].getAnnotation(requestParamClass).value)
|
||||
assertEquals("creator_id", parameters[2].getAnnotation(requestParamClass).value)
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("정산 엑셀 다운로드 API는 snake_case 파라미터를 사용한다")
|
||||
fun shouldUseSnakeCaseQueryParameterNamesForExcel() {
|
||||
val method = AdminOriginalSeriesCalculateController::class.java
|
||||
.getDeclaredMethod(
|
||||
"downloadSettlementDetailsExcel",
|
||||
String::class.java,
|
||||
String::class.java
|
||||
)
|
||||
val parameters = method.parameters
|
||||
val requestParamClass = org.springframework.web.bind.annotation.RequestParam::class.java
|
||||
|
||||
assertEquals("start_date", parameters[0].getAnnotation(requestParamClass).value)
|
||||
assertEquals("end_date", parameters[1].getAnnotation(requestParamClass).value)
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("관리자 컨트롤러는 오리지널 시리즈 정산 엑셀을 다운로드한다")
|
||||
fun shouldDownloadOriginalSeriesSettlementExcel() {
|
||||
|
||||
Reference in New Issue
Block a user