Skip to content
This repository was archived by the owner on Jul 7, 2025. It is now read-only.

Commit 8cbf938

Browse files
committed
ASAP-451 편지 조회 로직 수정 및 테스트 보완
- `send_letter.sender_id` nullable 처리에 따른 조회 로직 수정: 관련 도메인 및 데이터 클래스를 업데이트. - `senderName` 필드를 null 허용하도록 변경. - 테스트 코드에서 null 처리 로직 보완.
1 parent d92d506 commit 8cbf938

5 files changed

Lines changed: 16 additions & 21 deletions

File tree

Application-Module/src/main/kotlin/com/asap/application/letter/port/in/GetVerifiedLetterUsecase.kt

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,18 @@ package com.asap.application.letter.port.`in`
33
import java.time.LocalDate
44

55
interface GetVerifiedLetterUsecase {
6-
7-
fun get(
8-
query: Query
9-
): Response
6+
fun get(query: Query): Response
107

118
data class Query(
129
val letterId: String,
13-
val userId: String
10+
val userId: String,
1411
)
1512

1613
data class Response(
17-
val senderName: String,
14+
val senderName: String?,
1815
val content: String,
1916
val sendDate: LocalDate,
2017
val templateType: Int,
21-
val images: List<String>
18+
val images: List<String>,
2219
)
23-
24-
25-
}
20+
}

Application-Module/src/main/kotlin/com/asap/application/letter/service/LetterQueryService.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ class LetterQueryService(
3232
receiverId = DomainId(query.userId),
3333
letterId = DomainId(query.letterId),
3434
).also {
35-
val sender = userManagementPort.getUserNotNull(it.senderId)
35+
val sender = it.senderId?.let { userManagementPort.getUserNotNull(it) }
3636
return GetVerifiedLetterUsecase.Response(
37-
senderName = sender.username,
37+
senderName = sender?.username,
3838
content = it.content.content,
3939
sendDate = it.createdDate,
4040
templateType = it.content.templateType,

Application-Module/src/test/kotlin/com/asap/application/letter/service/LetterQueryServiceTest.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class LetterQueryServiceTest :
4242
userId = user.id.value,
4343
)
4444
val mockSendLetter = LetterFixture.generateSendLetter(user.id)
45-
val mockSender = UserFixture.createUser(mockSendLetter.senderId, "sender-name")
45+
val mockSender = UserFixture.createUser(mockSendLetter.senderId!!, "sender-name")
4646
every {
4747
mockSendLetterManagementPort.getReadLetterNotNull(
4848
receiverId = DomainId(query.userId),
@@ -96,9 +96,10 @@ class LetterQueryServiceTest :
9696
letterId = "letter-id",
9797
userId = "user-id",
9898
)
99-
val space = SpaceFixture.createSpace(
100-
userId = DomainId(query.userId),
101-
)
99+
val space =
100+
SpaceFixture.createSpace(
101+
userId = DomainId(query.userId),
102+
)
102103
val spaceLetter = LetterFixture.generateSpaceLetter(receiverId = DomainId(query.userId), spaceId = space.id)
103104
val prevSpaceLetter =
104105
LetterFixture.generateSpaceLetter(receiverId = DomainId(query.userId), spaceId = space.id)

Bootstrap-Module/src/main/kotlin/com/asap/bootstrap/web/letter/dto/VerifiedLetterInfoResponse.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@ package com.asap.bootstrap.web.letter.dto
33
import java.time.LocalDate
44

55
data class VerifiedLetterInfoResponse(
6-
val senderName: String,
6+
val senderName: String?,
77
val content: String,
88
val date: LocalDate,
99
val templateType: Int,
10-
val images: List<String>
11-
) {
12-
}
10+
val images: List<String>,
11+
)

Bootstrap-Module/src/main/kotlin/com/asap/bootstrap/web/letter/handler/DraftLetterEventHandler.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class DraftLetterEventHandler(
1616
event.draftId?.let {
1717
removeDraftLetterUsecase.deleteBy(
1818
RemoveDraftLetterUsecase.Command.Send(
19-
userId = event.sendLetter.senderId.value,
19+
userId = event.sendLetter.senderId!!.value,
2020
draftId = it,
2121
),
2222
)

0 commit comments

Comments
 (0)