feat(user-creator-chat): DM 생성 수신자 필드를 일반화한다
This commit is contained in:
+43
@@ -1,7 +1,13 @@
|
||||
package kr.co.vividnext.sodalive.v2.usercreatorchat
|
||||
|
||||
import kr.co.vividnext.sodalive.common.SodaException
|
||||
import kr.co.vividnext.sodalive.member.Member
|
||||
import kr.co.vividnext.sodalive.v2.usercreatorchat.controller.UserCreatorChatController
|
||||
import kr.co.vividnext.sodalive.v2.usercreatorchat.dto.CreateUserCreatorChatRoomRequest
|
||||
import kr.co.vividnext.sodalive.v2.usercreatorchat.dto.CreateUserCreatorChatRoomResponse
|
||||
import kr.co.vividnext.sodalive.v2.usercreatorchat.service.UserCreatorChatService
|
||||
import org.junit.jupiter.api.Assertions.assertEquals
|
||||
import org.junit.jupiter.api.Assertions.assertThrows
|
||||
import org.junit.jupiter.api.Test
|
||||
import org.mockito.Mockito
|
||||
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get
|
||||
@@ -23,4 +29,41 @@ class UserCreatorChatControllerMappingTest {
|
||||
mockMvc.perform(post("/api/v2/user-creator-chat/rooms/10/messages/text"))
|
||||
.andExpect(status().isNotFound)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun shouldCreateRoomWithRecipientId() {
|
||||
val service = Mockito.mock(UserCreatorChatService::class.java)
|
||||
val controller = UserCreatorChatController(service)
|
||||
val member = Member(email = "creator@test.com", password = "pw", nickname = "creator").apply { id = 10L }
|
||||
Mockito.`when`(service.createOrGetRoom(member, 20L))
|
||||
.thenReturn(CreateUserCreatorChatRoomResponse(roomId = 30L))
|
||||
|
||||
val response = controller.createOrGetRoom(
|
||||
member,
|
||||
CreateUserCreatorChatRoomRequest(recipientId = 20L, creatorId = null)
|
||||
)
|
||||
|
||||
Mockito.verify(service).createOrGetRoom(member, 20L)
|
||||
assertEquals(30L, response.data!!.roomId)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun shouldCreateRoomWithLegacyCreatorId() {
|
||||
val request = CreateUserCreatorChatRoomRequest(recipientId = null, creatorId = 20L)
|
||||
|
||||
assertEquals(20L, request.recipientMemberId())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun shouldRejectMissingOrConflictingRecipientIds() {
|
||||
val missing = assertThrows(SodaException::class.java) {
|
||||
CreateUserCreatorChatRoomRequest(recipientId = null, creatorId = null).recipientMemberId()
|
||||
}
|
||||
assertEquals("common.error.invalid_request", missing.messageKey)
|
||||
|
||||
val conflict = assertThrows(SodaException::class.java) {
|
||||
CreateUserCreatorChatRoomRequest(recipientId = 20L, creatorId = 21L).recipientMemberId()
|
||||
}
|
||||
assertEquals("common.error.invalid_request", conflict.messageKey)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user