fix(channel-home): 비밀 후원 응답을 익명 표시 여부로 반환한다

This commit is contained in:
2026-11-05 18:34:41 +09:00
parent 6ab901fe0a
commit 5061d85d99
3 changed files with 9 additions and 3 deletions
@@ -220,7 +220,7 @@ class CreatorChannelHomeQueryService(
message message
}, },
createdAt = createdAt, createdAt = createdAt,
isSecret = isSecret isSecret = isMasked
) )
} }
@@ -173,7 +173,6 @@ class CreatorChannelHomeEndToEndTest @Autowired constructor(
).getValue(language) ).getValue(language)
fixture.donations.sortedByDescending { it.can }.zip(donations).forEach { (stored, item) -> fixture.donations.sortedByDescending { it.can }.zip(donations).forEach { (stored, item) ->
assertTrue(item.path("isSecret").isBoolean) assertTrue(item.path("isSecret").isBoolean)
assertEquals(stored.isSecret, item["isSecret"].asBoolean())
assertEquals(stored.can, item["can"].asInt()) assertEquals(stored.can, item["can"].asInt())
assertEquals( assertEquals(
requireNotNull(stored.createdAt).atOffset(ZoneOffset.UTC).toInstant().toString(), requireNotNull(stored.createdAt).atOffset(ZoneOffset.UTC).toInstant().toString(),
@@ -187,6 +186,7 @@ class CreatorChannelHomeEndToEndTest @Autowired constructor(
if (viewerRole == "creator") assertEquals(stored.id, item["donationId"]?.asLong()) if (viewerRole == "creator") assertEquals(stored.id, item["donationId"]?.asLong())
assertFalse(item.has("memberId")) assertFalse(item.has("memberId"))
val masked = stored.isSecret && fixture.viewer.id != fixture.creatorId && fixture.viewer.id != stored.member?.id val masked = stored.isSecret && fixture.viewer.id != fixture.creatorId && fixture.viewer.id != stored.member?.id
assertEquals(masked, item["isSecret"].asBoolean())
if (masked) { if (masked) {
assertEquals(anonymousNickname, item["nickname"].asText()) assertEquals(anonymousNickname, item["nickname"].asText())
assertEquals(anonymousMessage, item["message"].asText()) assertEquals(anonymousMessage, item["message"].asText())
@@ -207,6 +207,12 @@ class CreatorChannelHomeEndToEndTest @Autowired constructor(
assertEquals("https://cdn.test/$profile", item["profileImageUrl"].asText()) assertEquals("https://cdn.test/$profile", item["profileImageUrl"].asText())
} }
} }
transactionTemplate.execute {
entityManager.clear()
fixture.donations.forEach { stored ->
assertEquals(stored.isSecret, entityManager.find(ChannelDonationMessage::class.java, stored.id).isSecret)
}
}
} }
@Test @Test
@@ -237,7 +237,7 @@ class CreatorChannelHomeQueryServiceTest {
val originalProfile = profilePath ?: "profile/default-profile.png" val originalProfile = profilePath ?: "profile/default-profile.png"
val expectedProfile = if (masked) "profile/anonymous-profile.png" else originalProfile val expectedProfile = if (masked) "profile/anonymous-profile.png" else originalProfile
assertEquals("https://cdn.test/$expectedProfile", donation.profileImageUrl) assertEquals("https://cdn.test/$expectedProfile", donation.profileImageUrl)
assertEquals(isSecret, donation.isSecret) assertEquals(masked, donation.isSecret)
assertEquals(30, donation.can) assertEquals(30, donation.can)
assertEquals(LocalDateTime.of(2026, 6, 13, 8, 0), donation.createdAt) assertEquals(LocalDateTime.of(2026, 6, 13, 8, 0), donation.createdAt)
assertEquals(if (role == MemberRole.CREATOR && viewerId == 1L) 101L else null, donation.donationId) assertEquals(if (role == MemberRole.CREATOR && viewerId == 1L) 101L else null, donation.donationId)