diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt b/src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt index 1addc75c..51c69c77 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt @@ -24,7 +24,8 @@ enum class FcmDeepLinkValue(val value: String) { CONTENT("content"), SERIES("series"), AUDITION("audition"), - COMMUNITY("community") + COMMUNITY("community"), + CHAT("chat") } class FcmEvent( diff --git a/src/test/kotlin/kr/co/vividnext/sodalive/fcm/FcmServiceTest.kt b/src/test/kotlin/kr/co/vividnext/sodalive/fcm/FcmServiceTest.kt index a1317ce1..004645fd 100644 --- a/src/test/kotlin/kr/co/vividnext/sodalive/fcm/FcmServiceTest.kt +++ b/src/test/kotlin/kr/co/vividnext/sodalive/fcm/FcmServiceTest.kt @@ -6,22 +6,28 @@ import org.junit.jupiter.api.Test class FcmServiceTest { @Test - @DisplayName("메시지 푸시 data payload는 채팅 이동에 필요한 chat_type을 포함한다") - fun shouldBuildMessagePayloadWithChatType() { + @DisplayName("v2 채팅 푸시 data payload는 deep_link만 포함한다") + fun shouldBuildV2ChatPayloadWithOnlyDeepLink() { val payload = FcmService.buildDataPayload( - roomId = 10L, - messageId = 204L, + roomId = null, + messageId = null, contentId = null, creatorId = null, auditionId = null, deepLinkValue = null, deepLinkId = null, deepLinkCommentPostId = null, - chatType = "USER_CREATOR" + deepLink = "voiceon-test://chat/10", + chatType = null ) - assertEquals("10", payload["room_id"]) - assertEquals("204", payload["message_id"]) - assertEquals("USER_CREATOR", payload["chat_type"]) + assertEquals(mapOf("deep_link" to "voiceon-test://chat/10"), payload) + } + + @Test + @DisplayName("v2 채팅 deep_link는 환경별 scheme과 chat room id로 생성된다") + fun shouldBuildV2ChatDeepLinkWithRoomId() { + assertEquals("voiceon://chat/10", FcmService.buildDeepLink("voiceon", FcmDeepLinkValue.CHAT, 10L)) + assertEquals("voiceon-test://chat/10", FcmService.buildDeepLink("local", FcmDeepLinkValue.CHAT, 10L)) } }