diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/donation/application/CreatorChannelDonationQueryService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/donation/application/CreatorChannelDonationQueryService.kt index 682fb61e..b729f929 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/donation/application/CreatorChannelDonationQueryService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/donation/application/CreatorChannelDonationQueryService.kt @@ -118,7 +118,7 @@ class CreatorChannelDonationQueryService( message.orEmpty() }, createdAt = createdAt, - isSecret = isSecret + isSecret = isMasked ) } diff --git a/src/test/kotlin/kr/co/vividnext/sodalive/v2/api/creator/channel/donation/adapter/in/web/CreatorChannelDonationEndToEndTest.kt b/src/test/kotlin/kr/co/vividnext/sodalive/v2/api/creator/channel/donation/adapter/in/web/CreatorChannelDonationEndToEndTest.kt index 6c172abc..6beb6696 100644 --- a/src/test/kotlin/kr/co/vividnext/sodalive/v2/api/creator/channel/donation/adapter/in/web/CreatorChannelDonationEndToEndTest.kt +++ b/src/test/kotlin/kr/co/vividnext/sodalive/v2/api/creator/channel/donation/adapter/in/web/CreatorChannelDonationEndToEndTest.kt @@ -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) diff --git a/src/test/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/donation/application/CreatorChannelDonationQueryServiceTest.kt b/src/test/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/donation/application/CreatorChannelDonationQueryServiceTest.kt index 3adbf35a..414d5e93 100644 --- a/src/test/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/donation/application/CreatorChannelDonationQueryServiceTest.kt +++ b/src/test/kotlin/kr/co/vividnext/sodalive/v2/creator/channel/donation/application/CreatorChannelDonationQueryServiceTest.kt @@ -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)