fix(channel-donation): 비밀 후원 응답을 익명 표시 여부로 반환한다
This commit is contained in:
+12
-5
@@ -139,7 +139,7 @@ class CreatorChannelDonationEndToEndTest @Autowired constructor(
|
||||
val donationId = selected["donationId"].asLong()
|
||||
assertEquals(fixture.donationIds.single(), donationId)
|
||||
assertEquals(500, selected["can"].asInt())
|
||||
assertEquals(isSecret, selected["isSecret"].asBoolean())
|
||||
assertFalse(selected["isSecret"].asBoolean())
|
||||
assertEquals(1, tabBefore["donationCount"].asInt())
|
||||
assertEquals(
|
||||
tabBefore["donations"],
|
||||
@@ -360,7 +360,7 @@ class CreatorChannelDonationEndToEndTest @Autowired constructor(
|
||||
.andExpect(jsonPath("$.data.donations[0].can").value(300))
|
||||
.andExpect(jsonPath("$.data.donations[0].message").value("크리에이터에게만 보여요"))
|
||||
.andExpect(jsonPath("$.data.donations[0].createdAtUtc").exists())
|
||||
.andExpect(jsonPath("$.data.donations[1].isSecret").value(true))
|
||||
.andExpect(jsonPath("$.data.donations[1].isSecret").value(false))
|
||||
.andExpect(jsonPath("$.data.donations[1].nickname").value("donation-e2e-success-viewer"))
|
||||
.andExpect(jsonPath("$.data.donations[1].profileImageUrl").value("https://cdn.test/donation-e2e-success-viewer.png"))
|
||||
.andExpect(jsonPath("$.data.donations[1].can").value(200))
|
||||
@@ -515,13 +515,13 @@ class CreatorChannelDonationEndToEndTest @Autowired constructor(
|
||||
if (isOwner) assertEquals(stored.id, item["donationId"]?.asLong())
|
||||
assertFalse(item.has("memberId"))
|
||||
assertTrue(item["isSecret"].isBoolean)
|
||||
assertEquals(stored.isSecret, item["isSecret"].asBoolean())
|
||||
assertEquals(stored.can, item["can"].asInt())
|
||||
assertEquals(
|
||||
requireNotNull(stored.createdAt).atOffset(ZoneOffset.UTC).toInstant().toString(),
|
||||
item["createdAtUtc"].asText()
|
||||
)
|
||||
val masked = stored.isSecret && fixture.viewer.id != fixture.creatorId && fixture.viewer.id != stored.member?.id
|
||||
assertEquals(masked, item["isSecret"].asBoolean())
|
||||
if (masked) {
|
||||
assertEquals(anonymousNickname, item["nickname"].asText())
|
||||
assertEquals(anonymousMessage, item["message"].asText())
|
||||
@@ -542,6 +542,12 @@ class CreatorChannelDonationEndToEndTest @Autowired constructor(
|
||||
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
|
||||
@@ -699,7 +705,6 @@ class CreatorChannelDonationEndToEndTest @Autowired constructor(
|
||||
items.forEach { item ->
|
||||
val can = item["can"].asInt()
|
||||
val secret = can % 2 == 1
|
||||
assertEquals(secret, item["isSecret"].asBoolean())
|
||||
assertEquals(
|
||||
start.plusHours((can / 2).toLong()).atOffset(ZoneOffset.UTC).toInstant().toString(),
|
||||
item["createdAtUtc"].asText()
|
||||
@@ -711,13 +716,15 @@ class CreatorChannelDonationEndToEndTest @Autowired constructor(
|
||||
assertFalse(item.has("donationId"))
|
||||
}
|
||||
val masked = secret && viewer.id != fixture.creator.id && viewer.id != fixture.donor.id
|
||||
assertEquals(masked, item["isSecret"].asBoolean())
|
||||
assertEquals(if (masked) "익명" else fixture.donor.nickname, item["nickname"].asText())
|
||||
assertEquals(if (masked) "크리에이터에게만 보여요" else "visible$can", item["message"].asText())
|
||||
}
|
||||
}
|
||||
val ownerHome = requestThroughHttp("$path/home", HttpMethod.GET, fixture.creator)["data"]["channelDonations"]
|
||||
val selected = ownerHome.first { it["isSecret"].asBoolean() == isSecret }
|
||||
val selectedCan = if (isSecret) 9 else 8
|
||||
val selected = ownerHome.first { it["can"].asInt() == selectedCan }
|
||||
assertFalse(selected["isSecret"].asBoolean())
|
||||
assertEquals(selectedCan, selected["can"].asInt())
|
||||
assertEquals(rows[selectedCan - 1].id, selected["donationId"].asLong())
|
||||
deleteThroughHttp(fixture.creator.id!!, selected["donationId"].asLong(), fixture.creator, true)
|
||||
|
||||
+1
-1
@@ -199,7 +199,7 @@ class CreatorChannelDonationQueryServiceTest {
|
||||
assertEquals(if (masked) "크리에이터에게만 보여요" else message.orEmpty(), donation.message)
|
||||
val profile = if (masked) "profile/anonymous-profile.png" else profilePath ?: "profile/default-profile.png"
|
||||
assertEquals("https://cdn.test/$profile", donation.profileImageUrl)
|
||||
assertEquals(isSecret, donation.isSecret)
|
||||
assertEquals(masked, donation.isSecret)
|
||||
assertEquals(100, donation.can)
|
||||
assertEquals(NOW, donation.createdAt)
|
||||
assertEquals(if (role == MemberRole.CREATOR && viewerId == CREATOR_ID) 101L else null, donation.donationId)
|
||||
|
||||
Reference in New Issue
Block a user