Skip to content

Commit

Permalink
ASAP-165 refactor: 궤도 편지 조회할 때 새로운 편지인지 상태 판별 로직 변경
Browse files Browse the repository at this point in the history
  • Loading branch information
tlarbals824 committed Oct 6, 2024
1 parent 0b68192 commit 94ff034
Show file tree
Hide file tree
Showing 11 changed files with 267 additions and 226 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,11 @@ package com.asap.application.letter.port.out

import com.asap.domain.common.DomainId
import com.asap.domain.letter.entity.IndependentLetter
import com.asap.domain.letter.entity.SpaceLetter

interface IndependentLetterManagementPort {

fun save(letter: IndependentLetter)

fun getAllByReceiverId(receiverId: DomainId): List<IndependentLetter>

fun getIndependentLetterByIdNotNull(id: DomainId): IndependentLetter

fun saveBySpaceLetter(
letter: SpaceLetter,
userId: DomainId
): IndependentLetter
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -141,15 +141,14 @@ class LetterCommandService(
}

override fun moveToIndependent(command: MoveLetterUsecase.Command.ToIndependent) {
val spaceLetter =
spaceLetterManagementPort.getSpaceLetterNotNull(
spaceLetterManagementPort
.getSpaceLetterNotNull(
DomainId(command.letterId),
DomainId(command.userId),
)
independentLetterManagementPort.saveBySpaceLetter(
spaceLetter,
spaceLetter.receiver.receiverId,
)
).apply {
val independentLetter = IndependentLetter.createBySpaceLetter(this, DomainId(command.userId))
independentLetterManagementPort.save(independentLetter)
}
}

override fun removeSpaceLetter(command: RemoveLetterUsecase.Command.SpaceLetter) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ class LetterQueryService(
GetIndependentLettersUsecase.LetterInfo(
letterId = it.id.value,
senderName = it.sender.senderName,
isNew = it.isNew,
isNew = it.isNew(),
)
},
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import io.mockk.clearMocks
import io.mockk.every
import io.mockk.mockk
import io.mockk.verify
import org.springframework.context.ApplicationEventPublisher
import java.time.LocalDate

class LetterCommandServiceTest :
Expand All @@ -31,13 +32,15 @@ class LetterCommandServiceTest :
val mockIndependentLetterManagementPort = mockk<IndependentLetterManagementPort>(relaxed = true)
val mockUserManagementPort = mockk<UserManagementPort>(relaxed = true)
val mockSpaceLetterManagementPort = mockk<SpaceLetterManagementPort>(relaxed = true)
val mockApplicationEventPublisher = mockk<ApplicationEventPublisher>(relaxed = true)

val letterCommandService =
LetterCommandService(
mockSendLetterManagementPort,
mockIndependentLetterManagementPort,
mockSpaceLetterManagementPort,
mockUserManagementPort,
mockApplicationEventPublisher,
)

given("편지 전송 요청이 들어올 때") {
Expand Down Expand Up @@ -216,7 +219,6 @@ class LetterCommandServiceTest :
receiverId = DomainId("user-id"),
),
receiveDate = LocalDate.now(),
isNew = true,
)
every {
mockIndependentLetterManagementPort.getIndependentLetterByIdNotNull(DomainId("letter-id"))
Expand Down Expand Up @@ -270,7 +272,9 @@ class LetterCommandServiceTest :
`when`("편지를 이동하면") {
letterCommandService.moveToIndependent(command)
then("편지가 이동되어야 한다") {
verify { mockIndependentLetterManagementPort.saveBySpaceLetter(spaceLetter, DomainId("user-id")) }
verify {
mockIndependentLetterManagementPort.save(any())
}
}
}
}
Expand Down
Loading

0 comments on commit 94ff034

Please sign in to comment.