22
33import static org .assertj .core .api .Assertions .assertThat ;
44import static org .assertj .core .api .Assertions .assertThatThrownBy ;
5+ import static org .junit .jupiter .api .Assertions .assertAll ;
56import static org .mockito .Mockito .doReturn ;
67import static org .mockito .Mockito .mock ;
78import static org .mockito .Mockito .when ;
1314import eatda .controller .story .StoryResponse ;
1415import eatda .domain .ImageKey ;
1516import eatda .domain .member .Member ;
17+ import eatda .domain .store .Store ;
1618import eatda .domain .store .StoreCategory ;
1719import eatda .domain .story .Story ;
1820import eatda .exception .BusinessErrorCode ;
@@ -108,7 +110,7 @@ class GetPagedStoryPreviews {
108110 class GetStory {
109111
110112 @ Test
111- void 스토리_상세_정보를_조회할_수_있다 () {
113+ void 스토리_상세_정보를_조회할_때_스토어ID가_없으면_NULL로_반환된다 () {
112114 Member member = memberGenerator .generate ("99999" );
113115
114116 Story story = Story .builder ()
@@ -121,21 +123,60 @@ class GetStory {
121123 .description ("곱창은 여기" )
122124 .imageKey (new ImageKey ("story-image-key" ))
123125 .build ();
126+ storyRepository .save (story );
127+
128+ when (externalImageStorage .getPreSignedUrl (new ImageKey ("story-image-key" )))
129+ .thenReturn ("https://s3.bucket.com/story/dummy/1.jpg" );
130+
131+ StoryResponse response = storyService .getStory (story .getId ());
124132
133+ assertAll (
134+ () -> assertThat (response .storeId ()).isNull (),
135+ () -> assertThat (response .storeKakaoId ()).isEqualTo ("123456" ),
136+ () -> assertThat (response .category ()).isEqualTo ("한식" ),
137+ () -> assertThat (response .storeName ()).isEqualTo ("진또곱창집" ),
138+ () -> assertThat (response .storeDistrict ()).isEqualTo ("성동구" ),
139+ () -> assertThat (response .storeNeighborhood ()).isEqualTo ("성수동1가" ),
140+ () -> assertThat (response .description ()).isEqualTo ("곱창은 여기" ),
141+ () -> assertThat (response .imageUrl ()).isEqualTo ("https://s3.bucket.com/story/dummy/1.jpg" ),
142+ () -> assertThat (response .memberId ()).isEqualTo (member .getId ()),
143+ () -> assertThat (response .memberNickname ()).isEqualTo (member .getNickname ())
144+ );
145+ }
146+
147+ @ Test
148+ void 스토리_상세_정보를_조회할_때_스토어ID가_있으면_해당_ID값을_반환한다 () {
149+ Member member = memberGenerator .generate ("99999" );
150+ Store store = storeGenerator .generate ("123456" , "서울시 성북구 장위동 123-45" );
151+ Story story = Story .builder ()
152+ .member (member )
153+ .storeKakaoId ("123456" )
154+ .storeName ("진또곱창집" )
155+ .storeRoadAddress ("서울시 성동구 왕십리로 1길 12" )
156+ .storeLotNumberAddress ("서울시 성동구 성수동1가 685-12" )
157+ .storeCategory (StoreCategory .KOREAN )
158+ .description ("곱창은 여기" )
159+ .imageKey (new ImageKey ("story-image-key" ))
160+ .build ();
125161 storyRepository .save (story );
126162
127163 when (externalImageStorage .getPreSignedUrl (new ImageKey ("story-image-key" )))
128164 .thenReturn ("https://s3.bucket.com/story/dummy/1.jpg" );
129165
130166 StoryResponse response = storyService .getStory (story .getId ());
131167
132- assertThat (response .storeKakaoId ()).isEqualTo ("123456" );
133- assertThat (response .category ()).isEqualTo ("한식" );
134- assertThat (response .storeName ()).isEqualTo ("진또곱창집" );
135- assertThat (response .storeDistrict ()).isEqualTo ("성동구" );
136- assertThat (response .storeNeighborhood ()).isEqualTo ("성수동1가" );
137- assertThat (response .description ()).isEqualTo ("곱창은 여기" );
138- assertThat (response .imageUrl ()).isEqualTo ("https://s3.bucket.com/story/dummy/1.jpg" );
168+ assertAll (
169+ () -> assertThat (response .storeId ()).isEqualTo (store .getId ()),
170+ () -> assertThat (response .storeKakaoId ()).isEqualTo ("123456" ),
171+ () -> assertThat (response .category ()).isEqualTo ("한식" ),
172+ () -> assertThat (response .storeName ()).isEqualTo ("진또곱창집" ),
173+ () -> assertThat (response .storeDistrict ()).isEqualTo ("성동구" ),
174+ () -> assertThat (response .storeNeighborhood ()).isEqualTo ("성수동1가" ),
175+ () -> assertThat (response .description ()).isEqualTo ("곱창은 여기" ),
176+ () -> assertThat (response .imageUrl ()).isEqualTo ("https://s3.bucket.com/story/dummy/1.jpg" ),
177+ () -> assertThat (response .memberId ()).isEqualTo (member .getId ()),
178+ () -> assertThat (response .memberNickname ()).isEqualTo (member .getNickname ())
179+ );
139180 }
140181
141182 @ Test
0 commit comments