fix(live-recommend): 팔로잉 전체 채널 조회의 group by 오류를 수정한다
This commit is contained in:
@@ -262,7 +262,12 @@ class LiveRecommendRepository(
|
||||
.from(creatorFollowing)
|
||||
.innerJoin(creatorFollowing.creator, member)
|
||||
.where(where)
|
||||
.groupBy(member.id)
|
||||
.groupBy(
|
||||
member.id,
|
||||
member.nickname,
|
||||
member.profileImage,
|
||||
creatorFollowing.isNotify
|
||||
)
|
||||
.offset(offset)
|
||||
.limit(limit)
|
||||
.fetch()
|
||||
|
||||
@@ -7,6 +7,7 @@ import kr.co.vividnext.sodalive.member.MemberRepository
|
||||
import kr.co.vividnext.sodalive.member.MemberRole
|
||||
import kr.co.vividnext.sodalive.member.block.BlockMember
|
||||
import kr.co.vividnext.sodalive.member.block.BlockMemberRepository
|
||||
import kr.co.vividnext.sodalive.member.following.CreatorFollowing
|
||||
import org.junit.jupiter.api.Assertions.assertEquals
|
||||
import org.junit.jupiter.api.BeforeEach
|
||||
import org.junit.jupiter.api.Test
|
||||
@@ -72,12 +73,38 @@ class LiveRecommendRepositoryTest @Autowired constructor(
|
||||
assertEquals(creator.id, result[0].creatorId)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun shouldReturnFollowingCreatorListWithNotifyFlag() {
|
||||
val viewer = saveMember(nickname = "viewer-following", role = MemberRole.USER)
|
||||
val creatorA = saveMember(nickname = "creator-following-a", role = MemberRole.CREATOR)
|
||||
val creatorB = saveMember(nickname = "creator-following-b", role = MemberRole.CREATOR)
|
||||
|
||||
saveFollowing(member = viewer, creator = creatorA, isNotify = true)
|
||||
saveFollowing(member = viewer, creator = creatorB, isNotify = false)
|
||||
|
||||
entityManager.flush()
|
||||
entityManager.clear()
|
||||
|
||||
val result = liveRecommendRepository.getCreatorFollowingAllList(
|
||||
memberId = viewer.id!!,
|
||||
offset = 0,
|
||||
limit = 20,
|
||||
isBlocked = { false }
|
||||
)
|
||||
|
||||
assertEquals(2, result.size)
|
||||
val isNotifyByCreatorId = result.associate { it.creatorId to it.isNotify }
|
||||
assertEquals(true, isNotifyByCreatorId[creatorA.id])
|
||||
assertEquals(false, isNotifyByCreatorId[creatorB.id])
|
||||
}
|
||||
|
||||
private fun saveMember(nickname: String, role: MemberRole): Member {
|
||||
return memberRepository.saveAndFlush(
|
||||
Member(
|
||||
email = "$nickname@test.com",
|
||||
password = "password",
|
||||
nickname = nickname,
|
||||
profileImage = "profile/default-profile.png",
|
||||
role = role
|
||||
)
|
||||
)
|
||||
@@ -101,4 +128,14 @@ class LiveRecommendRepositoryTest @Autowired constructor(
|
||||
block.blockedMember = blockedMember
|
||||
blockMemberRepository.saveAndFlush(block)
|
||||
}
|
||||
|
||||
private fun saveFollowing(member: Member, creator: Member, isNotify: Boolean) {
|
||||
val following = CreatorFollowing(
|
||||
isNotify = isNotify,
|
||||
isActive = true
|
||||
)
|
||||
following.member = member
|
||||
following.creator = creator
|
||||
entityManager.persist(following)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user