feat(creator-channel): FanTalk 상세 진입점을 연결한다

This commit is contained in:
2026-07-09 07:44:21 +09:00
parent 1ba7846f4c
commit f993d343a9
2 changed files with 56 additions and 0 deletions

View File

@@ -2106,6 +2106,38 @@ class CreatorChannelActivitySourceTest {
assertTrue(dmRoom.contains("putExtra(EXTRA_CREATOR_ID, creatorId)"))
}
@Test
fun `FanTalk item click source는 owner gate와 상세 ActivityResult refresh를 연결한다`() {
val source = projectFile(
"app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivity.kt"
).readText()
assertTrue(
source.contains(
"import kr.co.vividnext.sodalive.v2.creator.channel.fantalk.detail.CreatorChannelFanTalkDetailActivity"
)
)
assertTrue(
source.contains(
"import kr.co.vividnext.sodalive.v2.creator.channel.fantalk.detail.toFanTalkDetailPayload"
)
)
assertTrue(source.contains("private val fanTalkDetailLauncher = registerForActivityResult"))
assertTrue(source.contains("override fun onCreatorChannelFanTalkItemClicked(item: CreatorChannelFanTalkUiModel)"))
assertTrue(source.contains("if (currentHeader?.isOwner != true) return"))
assertTrue(source.contains("if (creatorId <= 0L || item.fanTalkId <= 0L) return"))
assertTrue(source.contains("if (SharedPreferenceManager.token.isBlank())"))
assertTrue(source.contains("showLoginActivity()"))
assertTrue(source.contains("fanTalkDetailLauncher.launch("))
assertTrue(
source.contains(
"CreatorChannelFanTalkDetailActivity.newIntent(this, creatorId, item.toFanTalkDetailPayload())"
)
)
assertTrue(source.contains("refreshCreatorChannelFanTalk()"))
assertTrue(source.contains("homeActionDelegate?.refreshHome()"))
}
private fun projectFile(relativePath: String): File {
val candidates = listOf(File(relativePath), File("../$relativePath"))
return candidates.firstOrNull { it.exists() }