File tree Expand file tree Collapse file tree
main/java/com/example/solidconnection/news
test/java/com/example/solidconnection/news/service Expand file tree Collapse file tree Original file line number Diff line number Diff line change 33import com .example .solidconnection .common .resolver .AuthorizedUser ;
44import com .example .solidconnection .news .dto .NewsCommandResponse ;
55import com .example .solidconnection .news .dto .NewsCreateRequest ;
6- import com .example .solidconnection .news .dto .NewsResponse ;
6+ import com .example .solidconnection .news .dto .NewsListResponse ;
77import com .example .solidconnection .news .dto .NewsUpdateRequest ;
88import com .example .solidconnection .news .service .NewsCommandService ;
99import com .example .solidconnection .news .service .NewsQueryService ;
@@ -34,11 +34,11 @@ public class NewsController {
3434
3535 // todo: 추후 Slice 적용
3636 @ GetMapping
37- public ResponseEntity <NewsResponse > findNewsBySiteUserId (
37+ public ResponseEntity <NewsListResponse > findNewsBySiteUserId (
3838 @ RequestParam (value = "site-user-id" ) Long siteUserId
3939 ) {
40- NewsResponse newsResponse = newsQueryService .findNewsBySiteUserId (siteUserId );
41- return ResponseEntity .ok (newsResponse );
40+ NewsListResponse newsListResponse = newsQueryService .findNewsBySiteUserId (siteUserId );
41+ return ResponseEntity .ok (newsListResponse );
4242 }
4343
4444 @ RequireRoleAccess (roles = {Role .ADMIN , Role .MENTOR })
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 1+ package com .example .solidconnection .news .dto ;
2+
3+ import java .util .List ;
4+
5+ public record NewsListResponse (
6+ List <NewsResponse > newsResponseList
7+ ) {
8+ public static NewsListResponse from (List <NewsResponse > newsResponseList ) {
9+ return new NewsListResponse (newsResponseList );
10+ }
11+ }
Original file line number Diff line number Diff line change 11package com .example .solidconnection .news .dto ;
22
3- import java .util .List ;
3+ import com .example .solidconnection .news .domain .News ;
4+
5+ import java .time .ZonedDateTime ;
46
57public record NewsResponse (
6- List <NewsItemResponse > newsItemsResponseList
8+ long id ,
9+ String title ,
10+ String description ,
11+ String thumbnailUrl ,
12+ String url ,
13+ ZonedDateTime updatedAt
714) {
8- public static NewsResponse from (List <NewsItemResponse > newsItemsResponseList ) {
9- return new NewsResponse (newsItemsResponseList );
15+ public static NewsResponse from (News news ) {
16+ return new NewsResponse (
17+ news .getId (),
18+ news .getTitle (),
19+ news .getDescription (),
20+ news .getThumbnailUrl (),
21+ news .getUrl (),
22+ news .getUpdatedAt ()
23+ );
1024 }
1125}
Original file line number Diff line number Diff line change 11package com .example .solidconnection .news .service ;
22
33import com .example .solidconnection .news .domain .News ;
4- import com .example .solidconnection .news .dto .NewsItemResponse ;
54import com .example .solidconnection .news .dto .NewsResponse ;
5+ import com .example .solidconnection .news .dto .NewsListResponse ;
66import com .example .solidconnection .news .repository .NewsRepository ;
77import lombok .RequiredArgsConstructor ;
88import org .springframework .stereotype .Service ;
@@ -17,11 +17,11 @@ public class NewsQueryService {
1717 private final NewsRepository newsRepository ;
1818
1919 @ Transactional (readOnly = true )
20- public NewsResponse findNewsBySiteUserId (Long siteUserId ) {
20+ public NewsListResponse findNewsBySiteUserId (Long siteUserId ) {
2121 List <News > newsList = newsRepository .findAllBySiteUserIdOrderByUpdatedAtDesc (siteUserId );
22- List <NewsItemResponse > newsItemsResponseList = newsList .stream ()
23- .map (NewsItemResponse ::from )
22+ List <NewsResponse > newsResponseList = newsList .stream ()
23+ .map (NewsResponse ::from )
2424 .toList ();
25- return NewsResponse .from (newsItemsResponseList );
25+ return NewsListResponse .from (newsResponseList );
2626 }
2727}
Original file line number Diff line number Diff line change 11package com .example .solidconnection .news .service ;
22
33import com .example .solidconnection .news .domain .News ;
4- import com .example .solidconnection .news .dto .NewsItemResponse ;
54import com .example .solidconnection .news .dto .NewsResponse ;
5+ import com .example .solidconnection .news .dto .NewsListResponse ;
66import com .example .solidconnection .news .fixture .NewsFixture ;
77import com .example .solidconnection .siteuser .domain .SiteUser ;
88import com .example .solidconnection .siteuser .fixture .SiteUserFixture ;
@@ -40,12 +40,12 @@ class NewsQueryServiceTest {
4040 List <News > newsList = List .of (news1 , news2 );
4141
4242 // when
43- NewsResponse response = newsQueryService .findNewsBySiteUserId (user1 .getId ());
43+ NewsListResponse response = newsQueryService .findNewsBySiteUserId (user1 .getId ());
4444
4545 // then
46- assertThat (response .newsItemsResponseList ()).hasSize (newsList .size ());
47- assertThat (response .newsItemsResponseList ())
48- .extracting (NewsItemResponse ::updatedAt )
46+ assertThat (response .newsResponseList ()).hasSize (newsList .size ());
47+ assertThat (response .newsResponseList ())
48+ .extracting (NewsResponse ::updatedAt )
4949 .isSortedAccordingTo (Comparator .reverseOrder ());
5050 }
5151}
You can’t perform that action at this time.
0 commit comments