fix(original-series-calculate): 소지 유저별 정산 엑셀 시트 생성을 정리한다
This commit is contained in:
@@ -25,13 +25,13 @@ class AdminOriginalSeriesCalculateServiceTest {
|
||||
@Test
|
||||
@DisplayName("오리지널 시리즈 소지 유저 목록 조회는 리포지토리 결과를 반환한다")
|
||||
fun shouldReturnOriginalSeriesOwners() {
|
||||
val owners = listOf(GetAdminOriginalSeriesOwnerResponse(memberId = 1L, nickname = "owner-a"))
|
||||
val owners = listOf(GetAdminOriginalSeriesOwnerResponse(creatorId = 1L, nickname = "owner-a"))
|
||||
Mockito.`when`(repository.getOriginalSeriesOwners()).thenReturn(owners)
|
||||
|
||||
val result = service.getOriginalSeriesOwners()
|
||||
|
||||
assertEquals(1, result.size)
|
||||
assertEquals(1L, result[0].memberId)
|
||||
assertEquals(1L, result[0].creatorId)
|
||||
Mockito.verify(repository).getOriginalSeriesOwners()
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ class AdminOriginalSeriesCalculateServiceTest {
|
||||
val result = service.getSettlementDetails(
|
||||
startDateStr = "2026-04-01",
|
||||
endDateStr = "2026-04-30",
|
||||
memberId = 9L,
|
||||
creatorId = 9L,
|
||||
offset = 0L,
|
||||
limit = 20L
|
||||
)
|
||||
@@ -96,8 +96,8 @@ class AdminOriginalSeriesCalculateServiceTest {
|
||||
@DisplayName("정산 엑셀 다운로드는 소지 유저별 시트를 생성한다")
|
||||
fun shouldCreateOneSheetPerOwnerForExcel() {
|
||||
val owners = listOf(
|
||||
GetAdminOriginalSeriesOwnerResponse(memberId = 1L, nickname = "owner-a"),
|
||||
GetAdminOriginalSeriesOwnerResponse(memberId = 2L, nickname = "owner-b")
|
||||
GetAdminOriginalSeriesOwnerResponse(creatorId = 1L, nickname = "owner-a"),
|
||||
GetAdminOriginalSeriesOwnerResponse(creatorId = 2L, nickname = "owner-b")
|
||||
)
|
||||
Mockito.`when`(repository.getOriginalSeriesOwners()).thenReturn(owners)
|
||||
Mockito.`when`(
|
||||
@@ -147,8 +147,8 @@ class AdminOriginalSeriesCalculateServiceTest {
|
||||
|
||||
XSSFWorkbook(ByteArrayInputStream(outputStream.toByteArray())).use { workbook ->
|
||||
assertEquals(2, workbook.numberOfSheets)
|
||||
assertEquals("1_owner-a", workbook.getSheetAt(0).sheetName)
|
||||
assertEquals("2_owner-b", workbook.getSheetAt(1).sheetName)
|
||||
assertEquals("owner-a", workbook.getSheetAt(0).sheetName)
|
||||
assertEquals("owner-b", workbook.getSheetAt(1).sheetName)
|
||||
assertEquals("시리즈 제목", workbook.getSheetAt(0).getRow(0).getCell(0).stringCellValue)
|
||||
assertEquals("오리지널 시리즈", workbook.getSheetAt(0).getRow(1).getCell(0).stringCellValue)
|
||||
assertEquals("시리즈 제목", workbook.getSheetAt(1).getRow(0).getCell(0).stringCellValue)
|
||||
@@ -164,4 +164,23 @@ class AdminOriginalSeriesCalculateServiceTest {
|
||||
1L
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("소지 유저가 없으면 엑셀에 시트를 생성하지 않는다")
|
||||
fun shouldCreateWorkbookWithoutSheetsWhenNoOwners() {
|
||||
Mockito.`when`(repository.getOriginalSeriesOwners()).thenReturn(emptyList())
|
||||
|
||||
val response = service.downloadSettlementDetailsExcel(
|
||||
startDateStr = "2026-04-01",
|
||||
endDateStr = "2026-04-30"
|
||||
)
|
||||
val outputStream = ByteArrayOutputStream()
|
||||
response.writeTo(outputStream)
|
||||
|
||||
assertTrue(outputStream.toByteArray().isNotEmpty())
|
||||
|
||||
XSSFWorkbook(ByteArrayInputStream(outputStream.toByteArray())).use { workbook ->
|
||||
assertEquals(0, workbook.numberOfSheets)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user