diff --git a/src/main/java/com/dnd/moddo/event/application/impl/SettlementReader.java b/src/main/java/com/dnd/moddo/event/application/impl/SettlementReader.java index 2b133253..5f051593 100644 --- a/src/main/java/com/dnd/moddo/event/application/impl/SettlementReader.java +++ b/src/main/java/com/dnd/moddo/event/application/impl/SettlementReader.java @@ -44,7 +44,9 @@ public SettlementHeaderResponse findByHeader(Long settlementId) { return SettlementHeaderResponse.of(settlement.getName(), totalAmount, settlement.getDeadline(), settlement.getBank(), - settlement.getAccountNumber()); + settlement.getAccountNumber(), + settlement.getCreatedAt(), + settlement.getCompletedAt()); } @Transactional(readOnly = true) diff --git a/src/main/java/com/dnd/moddo/event/presentation/response/SettlementHeaderResponse.java b/src/main/java/com/dnd/moddo/event/presentation/response/SettlementHeaderResponse.java index b6dbbd4e..15f223d8 100644 --- a/src/main/java/com/dnd/moddo/event/presentation/response/SettlementHeaderResponse.java +++ b/src/main/java/com/dnd/moddo/event/presentation/response/SettlementHeaderResponse.java @@ -7,10 +7,13 @@ public record SettlementHeaderResponse( Long totalAmount, LocalDateTime deadline, String bank, - String accountNumber + String accountNumber, + LocalDateTime createdAt, + LocalDateTime completedAt ) { public static SettlementHeaderResponse of(String groupName, Long totalAmount, LocalDateTime deadline, String bank, - String accountNumber) { - return new SettlementHeaderResponse(groupName, totalAmount, deadline, bank, accountNumber); + String accountNumber, LocalDateTime createdAt, LocalDateTime completedAt) { + return new SettlementHeaderResponse(groupName, totalAmount, deadline, bank, accountNumber, createdAt, + completedAt); } } diff --git a/src/test/java/com/dnd/moddo/domain/settlement/controller/SettlementControllerTest.java b/src/test/java/com/dnd/moddo/domain/settlement/controller/SettlementControllerTest.java index 21ea542b..57cd04c2 100644 --- a/src/test/java/com/dnd/moddo/domain/settlement/controller/SettlementControllerTest.java +++ b/src/test/java/com/dnd/moddo/domain/settlement/controller/SettlementControllerTest.java @@ -121,7 +121,7 @@ void getHeader() throws Exception { // given SettlementHeaderResponse response = SettlementHeaderResponse.of("모또 모임", 10000L, LocalDateTime.now().plusDays(1), "우리은행", - "1111-1111"); + "1111-1111", LocalDateTime.now(), null); given(querySettlementService.findIdByCode("code")).willReturn(100L); given(querySettlementService.findBySettlementHeader(100L)).willReturn(response); diff --git a/src/test/java/com/dnd/moddo/domain/settlement/service/QuerySettlementServiceTest.java b/src/test/java/com/dnd/moddo/domain/settlement/service/QuerySettlementServiceTest.java index 8313f7fd..b07f7442 100644 --- a/src/test/java/com/dnd/moddo/domain/settlement/service/QuerySettlementServiceTest.java +++ b/src/test/java/com/dnd/moddo/domain/settlement/service/QuerySettlementServiceTest.java @@ -123,7 +123,8 @@ void FindOne_Failure_WhenGroupNotFound() { void FindBySettlementHeader_Success() { // Given SettlementHeaderResponse expectedResponse = new SettlementHeaderResponse(settlement.getName(), 1000L, - LocalDateTime.now().plusDays(1), settlement.getBank(), settlement.getAccountNumber()); + LocalDateTime.now().plusDays(1), settlement.getBank(), settlement.getAccountNumber(), + settlement.getCreatedAt(), settlement.getCompletedAt()); when(cacheExecutor.execute(anyString(), any(), any())).thenReturn(expectedResponse); // When diff --git a/src/test/java/com/dnd/moddo/domain/settlement/service/implementation/SettlementReaderTest.java b/src/test/java/com/dnd/moddo/domain/settlement/service/implementation/SettlementReaderTest.java index d66893b5..a579c16f 100644 --- a/src/test/java/com/dnd/moddo/domain/settlement/service/implementation/SettlementReaderTest.java +++ b/src/test/java/com/dnd/moddo/domain/settlement/service/implementation/SettlementReaderTest.java @@ -95,6 +95,8 @@ void findByHeader_Success() { when(mockSettlement.getName()).thenReturn("모임 이름"); when(mockSettlement.getBank()).thenReturn("은행"); when(mockSettlement.getAccountNumber()).thenReturn("1234-1234"); + when(mockSettlement.getCreatedAt()).thenReturn(LocalDateTime.of(2026, 5, 10, 12, 0)); + when(mockSettlement.getCompletedAt()).thenReturn(LocalDateTime.of(2026, 5, 11, 12, 0)); when(settlementRepository.getById(anyLong())).thenReturn(mockSettlement); Long totalAmount = 1000L; @@ -109,6 +111,8 @@ void findByHeader_Success() { assertThat(result.totalAmount()).isEqualTo(1000L); assertThat(result.bank()).isEqualTo("은행"); assertThat(result.accountNumber()).isEqualTo("1234-1234"); + assertThat(result.createdAt()).isEqualTo(LocalDateTime.of(2026, 5, 10, 12, 0)); + assertThat(result.completedAt()).isEqualTo(LocalDateTime.of(2026, 5, 11, 12, 0)); verify(settlementRepository, times(1)).getById(groupId); verify(expenseRepository, times(1)).sumAmountBySettlement(mockSettlement); }