Skip to content

Commit f7c9fad

Browse files
committed
[#58] feat: 요정 후보 추천에 감정 상세설명 데이터 추가
1 parent 7bf5f5a commit f7c9fad

File tree

5 files changed

+30
-7
lines changed

5 files changed

+30
-7
lines changed

src/main/java/com/nexters/teamace/fairy/application/FairyService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,8 @@ private List<FairyInfo> convertToFairyInfo(List<FairyProjection> fairyProjection
101101
p.name(),
102102
p.image(),
103103
p.silhouetteImage(),
104-
p.emotionName().getDisplayName()))
104+
p.emotionName().getDisplayName(),
105+
p.emotionDescription()))
105106
.toList();
106107
}
107108

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
package com.nexters.teamace.fairy.application.dto;
22

33
public record FairyInfo(
4-
Long id, String name, String image, String silhouetteImage, String emotion) {}
4+
Long id,
5+
String name,
6+
String image,
7+
String silhouetteImage,
8+
String emotion,
9+
String emotionDescription) {}

src/main/java/com/nexters/teamace/fairy/infrastructure/FairyJpaRepository.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
public interface FairyJpaRepository extends JpaRepository<FairyEntity, Long> {
1111

1212
@Query(
13-
"SELECT new com.nexters.teamace.fairy.infrastructure.dto.FairyProjection(f.id, f.name, f.imageUrl, f.silhouetteImageUrl, e.name) "
13+
"SELECT new com.nexters.teamace.fairy.infrastructure.dto.FairyProjection(f.id, f.name, f.imageUrl, f.silhouetteImageUrl, e.name, e.description) "
1414
+ "FROM FairyEntity f JOIN f.emotion e "
1515
+ "WHERE e.name IN :emotionNames")
1616
List<FairyProjection> findAllByEmotionNames(

src/main/java/com/nexters/teamace/fairy/infrastructure/dto/FairyProjection.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,9 @@
33
import com.nexters.teamace.emotion.domain.EmotionName;
44

55
public record FairyProjection(
6-
Long id, String name, String image, String silhouetteImage, EmotionName emotionName) {}
6+
Long id,
7+
String name,
8+
String image,
9+
String silhouetteImage,
10+
EmotionName emotionName,
11+
String emotionDescription) {}

src/test/java/com/nexters/teamace/fairy/presentation/FairyControllerTest.java

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,17 @@ void getFairy_success() throws Exception {
4242

4343
List<FairyInfo> fairyInfos =
4444
List.of(
45-
new FairyInfo(1L, "눈물방울 요정", "sadness.png", "sadness_sil.png", "슬픔"),
46-
new FairyInfo(2L, "화르르 요정", "anger.png", "anger_sil.png", "분노"),
47-
new FairyInfo(3L, "질투쟁이 요정", "jealousy.png", "jealousy_sil.png", "질투"));
45+
new FairyInfo(
46+
1L, "눈물방울 요정", "sadness.png", "sadness_sil.png", "슬픔", "너무 슬프다는 뜻"),
47+
new FairyInfo(
48+
2L, "화르르 요정", "anger.png", "anger_sil.png", "분노", "너무 화가 난다는 뜻"),
49+
new FairyInfo(
50+
3L,
51+
"질투쟁이 요정",
52+
"jealousy.png",
53+
"jealousy_sil.png",
54+
"질투",
55+
"매우 질투가 난다는 뜻"));
4856
FairyResult fairyResult = new FairyResult(fairyInfos);
4957

5058
given(fairyService.getFairy(any(UserInfo.class), any(Long.class))).willReturn(fairyResult);
@@ -97,6 +105,10 @@ void getFairy_success() throws Exception {
97105
fieldWithPath("data.fairies[].emotion")
98106
.type(JsonFieldType.STRING)
99107
.description("관련 감정"),
108+
fieldWithPath(
109+
"data.fairies[].emotionDescription")
110+
.type(JsonFieldType.STRING)
111+
.description("관련 감정에 대한 상세 설명"),
100112
fieldWithPath("error")
101113
.type(JsonFieldType.NULL)
102114
.description("에러 정보 (성공 시 null)"))

0 commit comments

Comments
 (0)