Skip to content

Commit

Permalink
[BE] 🐛 fix : 관리자용 video 조회 수정 merge
Browse files Browse the repository at this point in the history
[BE] 🐛 fix : 관리자용 video 조회 수정
  • Loading branch information
hobeen-kim authored Oct 2, 2023
2 parents 5ee4061 + abd16f3 commit d2eb16a
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -356,8 +356,10 @@ public Page<Video> findVideoByKeyword(String email, String keyword, Pageable pag
);

JPAQuery<Long> countQuery = queryFactory
.select(video.count())
.select(video.videoId.count())
.from(video)
.leftJoin(video.channel, channel)
.leftJoin(channel.member, member)
.where(
eqEmail(email),
searchKeyword(keyword)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import org.junit.jupiter.api.TestFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;

import java.util.Collection;
Expand Down Expand Up @@ -168,6 +169,43 @@ void findMemberByKeyword() {
assertThat(memberPages.getContent())
.extracting("memberId")
.contains(member1.getMemberId(), member2.getMemberId(), member3.getMemberId());
}

@TestFactory
@DisplayName("관리자용 video 조회")
Collection<DynamicTest> findVideoByKeyword() {
//given
Member member1 = createMemberWithChannel("member1");
Video video1 = createAndSaveVideoWithName(member1.getChannel(), "video1");
Video video2 = createAndSaveVideoWithName(member1.getChannel(), "video2");

Member member2 = createMemberWithChannel("member2");
Video video3 = createAndSaveVideoWithName(member2.getChannel(), "video3");
Video video4 = createAndSaveVideoWithName(member2.getChannel(), "video4");

Member member3 = createMemberWithChannel("member3");
Video video5 = createAndSaveVideoWithName(member3.getChannel(), "video5");
Video video6 = createAndSaveVideoWithName(member3.getChannel(), "video6");

Member member4 = createMemberWithChannel("member4");

return List.of(
dynamicTest("이메일로 검색한다.", () -> {
//when
Page<Video> videos = reportRepository.findVideoByKeyword(member1.getEmail(), null, PageRequest.of(0, 10));

//then
assertThat(videos.getContent()).hasSize(2);
}),
dynamicTest("전체 검색을 한다.", () -> {
//when
Page<Video> videos = reportRepository.findVideoByKeyword(null, null, PageRequest.of(0, 10));

//then
assertThat(videos.getContent()).hasSize(6);
})
//비디오 검색은 mysql 문법이라 안됨
);

}

Expand Down

0 comments on commit d2eb16a

Please sign in to comment.