Skip to content

Commit

Permalink
refactor: 리뷰 반영
Browse files Browse the repository at this point in the history
  • Loading branch information
wugawuga committed Jun 6, 2024
1 parent fcd31a9 commit a76f820
Showing 1 changed file with 39 additions and 35 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ class findAllWithReviewCountByNameContaining_성공_테스트 {
}

@Nested
class findAllByTagFirst_성공_테스트 {
class searchProductsByTopTagsFirst_성공_테스트 {

@Test
void 특정_태그가_포함된_상품들을_조회한다() {
Expand All @@ -208,8 +208,8 @@ class findAllByTagFirst_성공_테스트 {
단일_카테고리_저장(category);

final var 태그_맛있어요 = 태그_맛있어요_TASTE_생성();
final var 태그_단짠단짠 = 태그_맛있어요_TASTE_생성();
final var 태그_갓성비 = 태그_맛있어요_TASTE_생성();
final var 태그_단짠단짠 = 태그_단짠단짠_TASTE_생성();
final var 태그_갓성비 = 태그_갓성비_PRICE_생성();

final var 태그1 = 단일_태그_저장(태그_맛있어요);
final var 태그2 = 단일_태그_저장(태그_단짠단짠);
Expand Down Expand Up @@ -249,25 +249,32 @@ class findAllByTagFirst_성공_테스트 {
.isEqualTo(expected2);
});
}
}

@Nested
class searchProductsByTopTagsFirst_실패_테스트 {

@Test
void 특정_태그와_마지막_상품아이디_이후_상품들을_조회한다() {
void 간식_태그는_4위이므로_검색되지_말아야한다() {
// given
final var category = 카테고리_간편식사_생성();
단일_카테고리_저장(category);

final var 태그_맛있어요 = 태그_맛있어요_TASTE_생성();
final var 태그_단짠단짠 = 태그_단짠단짠_TASTE_생성();
final var 태그_갓성비 = 태그_갓성비_PRICE_생성();
final var 태그_간식 = 태그_간식_ETC_생성();

final var 태그1 = 단일_태그_저장(태그_맛있어요);
final var 태그2 = 단일_태그_저장(태그_단짠단짠);
final var 태그3 = 단일_태그_저장(태그_갓성비);
final var 태그4 = 단일_태그_저장(태그_간식);

final var product1 = 상품_애플망고_가격3000원_평점5점_생성(category);
final var product2 = 상품_망고빙수_가격5000원_평점4점_생성(category);
final var product3 = 상품_망고빙수_가격5000원_평점4점_생성(category);
복수_상품_저장(product1, product2, product3);
final var product4 = 상품_망고빙수_가격5000원_평점4점_생성(category);
복수_상품_저장(product1, product2, product3, product4);

final var member1 = 멤버_멤버1_생성();
final var member2 = 멤버_멤버2_생성();
Expand All @@ -278,45 +285,48 @@ class findAllByTagFirst_성공_테스트 {
final var review2_1 = 리뷰_이미지test3_평점3점_재구매O_생성(member1, product2, 0L);
복수_리뷰_저장(review1_1, review1_2, review2_1);

복수_리뷰_태그_저장(리뷰태그_생성(review1_1, 태그_맛있어요), 리뷰태그_생성(review1_1, 태그_단짠단짠),
리뷰태그_생성(review1_1, 태그_갓성비), 리뷰태그_생성(review1_1, 태그_맛있어요), 리뷰태그_생성(review1_2, 태그_단짠단짠),
리뷰태그_생성(review2_1, 태그_맛있어요));

final var expected = List.of(product1);
복수_리뷰_태그_저장(
리뷰태그_생성(review1_1, 태그_맛있어요),
리뷰태그_생성(review1_1, 태그_맛있어요),
리뷰태그_생성(review1_1, 태그_단짠단짠),
리뷰태그_생성(review1_1, 태그_단짠단짠),
리뷰태그_생성(review1_1, 태그_갓성비),
리뷰태그_생성(review1_1, 태그_갓성비),
리뷰태그_생성(review1_1, 태그_간식),
리뷰태그_생성(review1_1, 태그_맛있어요),
리뷰태그_생성(review1_2, 태그_단짠단짠),
리뷰태그_생성(review2_1, 태그_맛있어요)
);

// when
final var actual = productRepository.searchProductsByTopTags(태그1, product2.getId(), PageRequest.of(0, 10));
final var actual = productRepository.searchProductsByTopTagsFirst(태그4, PageRequest.of(0, 10));

// then
assertThat(actual).usingRecursiveComparison()
.isEqualTo(expected);
assertThat(actual).isEmpty();
}
}

@Nested
class findAllByTagFirst_실패_테스트 {
class searchProductsByTopTags_성공_테스트 {

@Test
void 간식_태그는_4위이므로_검색되지_말아야한다() {
void 특정_태그와_마지막_상품아이디_이후_상품들을_조회한다() {
// given
final var category = 카테고리_간편식사_생성();
단일_카테고리_저장(category);

final var 태그_맛있어요 = 태그_맛있어요_TASTE_생성();
final var 태그_단짠단짠 = 태그_맛있어요_TASTE_생성();
final var 태그_갓성비 = 태그_맛있어요_TASTE_생성();
final var 태그_간식 = 태그_간식_ETC_생성();
final var 태그_단짠단짠 = 태그_단짠단짠_TASTE_생성();
final var 태그_갓성비 = 태그_갓성비_PRICE_생성();

final var 태그1 = 단일_태그_저장(태그_맛있어요);
final var 태그2 = 단일_태그_저장(태그_단짠단짠);
final var 태그3 = 단일_태그_저장(태그_갓성비);
final var 태그4 = 단일_태그_저장(태그_간식);

final var product1 = 상품_애플망고_가격3000원_평점5점_생성(category);
final var product2 = 상품_망고빙수_가격5000원_평점4점_생성(category);
final var product3 = 상품_망고빙수_가격5000원_평점4점_생성(category);
final var product4 = 상품_망고빙수_가격5000원_평점4점_생성(category);
복수_상품_저장(product1, product2, product3, product4);
복수_상품_저장(product1, product2, product3);

final var member1 = 멤버_멤버1_생성();
final var member2 = 멤버_멤버2_생성();
Expand All @@ -327,24 +337,18 @@ class findAllByTagFirst_실패_테스트 {
final var review2_1 = 리뷰_이미지test3_평점3점_재구매O_생성(member1, product2, 0L);
복수_리뷰_저장(review1_1, review1_2, review2_1);

복수_리뷰_태그_저장(
리뷰태그_생성(review1_1, 태그_맛있어요),
리뷰태그_생성(review1_1, 태그_맛있어요),
리뷰태그_생성(review1_1, 태그_단짠단짠),
리뷰태그_생성(review1_1, 태그_단짠단짠),
리뷰태그_생성(review1_1, 태그_갓성비),
리뷰태그_생성(review1_1, 태그_갓성비),
리뷰태그_생성(review1_1, 태그_간식),
리뷰태그_생성(review1_1, 태그_맛있어요),
리뷰태그_생성(review1_2, 태그_단짠단짠),
리뷰태그_생성(review2_1, 태그_맛있어요)
);
복수_리뷰_태그_저장(리뷰태그_생성(review1_1, 태그_맛있어요), 리뷰태그_생성(review1_1, 태그_단짠단짠),
리뷰태그_생성(review1_1, 태그_갓성비), 리뷰태그_생성(review1_1, 태그_맛있어요), 리뷰태그_생성(review1_2, 태그_단짠단짠),
리뷰태그_생성(review2_1, 태그_맛있어요));

final var expected = List.of(product1);

// when
final var actual = productRepository.searchProductsByTopTagsFirst(태그4, PageRequest.of(0, 10));
final var actual = productRepository.searchProductsByTopTags(태그1, product2.getId(), PageRequest.of(0, 10));

// then
assertThat(actual).isEmpty();
assertThat(actual).usingRecursiveComparison()
.isEqualTo(expected);
}
}
}

0 comments on commit a76f820

Please sign in to comment.