test(user-creator-chat): 크리에이터 시작 DM 생성을 검증한다

This commit is contained in:
2026-09-14 14:50:54 +09:00
parent de1a9eb114
commit 62c834d28f
3 changed files with 79 additions and 5 deletions
@@ -59,20 +59,20 @@ class UserCreatorChatService(
private val cloudFrontHost: String
) {
@Transactional
fun createOrGetRoom(member: Member, creatorId: Long): CreateUserCreatorChatRoomResponse {
val creator = memberRepository.findById(creatorId).orElseThrow {
fun createOrGetRoom(member: Member, recipientId: Long): CreateUserCreatorChatRoomResponse {
val recipient = memberRepository.findById(recipientId).orElseThrow {
SodaException(messageKey = "message.error.recipient_not_found")
}
validateRecipient(member, creator)
validateRecipient(member, recipient)
val existingRoom = roomRepository.findActiveRoomByParticipantMemberIds(member.id!!, creator.id!!)
val existingRoom = roomRepository.findActiveRoomByParticipantMemberIds(member.id!!, recipient.id!!)
if (existingRoom != null) {
return CreateUserCreatorChatRoomResponse(roomId = existingRoom.id!!)
}
val room = roomRepository.save(UserCreatorChatRoom())
participantRepository.save(UserCreatorChatParticipant(room, member))
participantRepository.save(UserCreatorChatParticipant(room, creator))
participantRepository.save(UserCreatorChatParticipant(room, recipient))
return CreateUserCreatorChatRoomResponse(roomId = room.id!!)
}