Skip to content

Commit d7c10bf

Browse files
committed
feat(article): add description input
1 parent 5ba4ecc commit d7c10bf

File tree

2 files changed

+37
-30
lines changed

2 files changed

+37
-30
lines changed

backend/src/main/java/wooteco/prolog/article/application/dto/ArticleRequest.java

+7
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,13 @@ public class ArticleRequest {
1818
private final String imageUrl;
1919
private final String description;
2020

21+
public ArticleRequest(String title, String url, String imageUrl) {
22+
this.title = title;
23+
this.url = url;
24+
this.imageUrl = imageUrl;
25+
this.description = "";
26+
}
27+
2128
public Article toArticle(final Member member) {
2229
return new Article(member, new Title(title), new Description(description), new Url(url), new ImageUrl(imageUrl));
2330
}

backend/src/test/java/wooteco/prolog/article/application/ArticleServiceTest.java

+30-30
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
import org.mockito.InjectMocks;
99
import org.mockito.Mock;
1010
import org.mockito.junit.jupiter.MockitoExtension;
11+
import wooteco.prolog.article.application.dto.ArticleRequest;
12+
import wooteco.prolog.article.application.dto.ArticleResponse;
1113
import wooteco.prolog.article.domain.Article;
1214
import wooteco.prolog.article.domain.ArticleBookmarks;
1315
import wooteco.prolog.article.domain.ArticleFilterType;
@@ -16,8 +18,6 @@
1618
import wooteco.prolog.article.domain.Title;
1719
import wooteco.prolog.article.domain.Url;
1820
import wooteco.prolog.article.domain.repository.ArticleRepository;
19-
import wooteco.prolog.article.application.dto.ArticleRequest;
20-
import wooteco.prolog.article.application.dto.ArticleResponse;
2121
import wooteco.prolog.common.exception.BadRequestException;
2222
import wooteco.prolog.login.ui.LoginMember;
2323
import wooteco.prolog.member.application.MemberService;
@@ -57,12 +57,12 @@ class ArticleServiceTest {
5757
@Test
5858
void create_success() {
5959
//given
60-
final ArticleRequest judyRequest = new ArticleRequest("title", "url", "imageUrl");
60+
final ArticleRequest judyRequest = new ArticleRequest("title", "url", "imageUrl", "desc");
6161
final Member member = new Member(1L, "username", "nickname", CREW, 1L, "url");
6262
when(memberService.findById(any())).thenReturn(member);
6363

6464
final Article article = new Article(member, new Title("title"), new Url("url"),
65-
new ImageUrl("imageUrl"));
65+
new ImageUrl("imageUrl"));
6666
when(articleRepository.save(any())).thenReturn(article);
6767
final LoginMember judyLogin = new LoginMember(1L, MEMBER);
6868

@@ -77,7 +77,7 @@ void create_success() {
7777
@Test
7878
void create_fail_guest() {
7979
//given
80-
final ArticleRequest judyRequest = new ArticleRequest("title", "url", "imageUrl");
80+
final ArticleRequest judyRequest = new ArticleRequest("title", "url", "imageUrl", "desc");
8181
final Member member = new Member(1L, "username", "nickname", Role.GUEST, 1L, "url");
8282
when(memberService.findById(any())).thenReturn(member);
8383
final LoginMember judyLogin = new LoginMember(1L, MEMBER);
@@ -94,13 +94,13 @@ void update_success() {
9494
//given
9595
final Member judy = new Member(1L, "username", "nickname", CREW, 1L, "url");
9696
final Article judyArticle = new Article(judy, new Title("judyTitle"), new Url("judyUrl"),
97-
new ImageUrl("imageUrl"));
97+
new ImageUrl("imageUrl"));
9898
when(articleRepository.findById(any())).thenReturn(Optional.of(judyArticle));
9999
when(memberService.findById(any())).thenReturn(judy);
100100

101101
final LoginMember judyLogin = new LoginMember(1L, MEMBER);
102102
final ArticleRequest judyChangedRequest = new ArticleRequest("title", "changedUrl",
103-
"imageUrl");
103+
"imageUrl");
104104

105105
//when
106106
articleService.update(1L, judyChangedRequest, judyLogin);
@@ -120,11 +120,11 @@ void update_fail_ArticleNotFoundException() {
120120

121121
final LoginMember judyLogin = new LoginMember(1L, MEMBER);
122122
final ArticleRequest judyChangedRequest = new ArticleRequest("title", "changedUrl",
123-
"imageUrl");
123+
"imageUrl");
124124

125125
//when, then
126126
assertThatThrownBy(() -> articleService.update(1L, judyChangedRequest, judyLogin))
127-
.isInstanceOf(BadRequestException.class);
127+
.isInstanceOf(BadRequestException.class);
128128
}
129129

130130
@DisplayName("수정시 아티클 작성자가 아니라면 예외를 발생시킨다.")
@@ -134,17 +134,17 @@ void update_fail_InvalidArticleAuthorException() {
134134
final Member judy = new Member(1L, "judith", "judy", CREW, 1L, "judyUrl");
135135
final Member brown = new Member(2L, "brown", "brownie", CREW, 2L, "brownUrl");
136136
final Article brownArticle = new Article(brown, new Title("brownTitle"),
137-
new Url("brownUrl"), new ImageUrl("imageUrl"));
137+
new Url("brownUrl"), new ImageUrl("imageUrl"));
138138
when(articleRepository.findById(any())).thenReturn(Optional.of(brownArticle));
139139

140140
final LoginMember judyLogin = new LoginMember(1L, MEMBER);
141141
when(memberService.findById(any())).thenReturn(judy);
142142
final ArticleRequest judyChangedRequest = new ArticleRequest("title", "changedUrl",
143-
"imageUrl");
143+
"imageUrl");
144144

145145
//when, then
146146
assertThatThrownBy(() -> articleService.update(1L, judyChangedRequest, judyLogin))
147-
.isInstanceOf(BadRequestException.class);
147+
.isInstanceOf(BadRequestException.class);
148148
}
149149

150150
@DisplayName("아티클을 삭제한다.")
@@ -153,7 +153,7 @@ void delete_success() {
153153
//given
154154
final Member judy = new Member(1L, "judith", "judy", CREW, 1L, "judyUrl");
155155
final Article judyArticle = new Article(judy, new Title("judyTitle"), new Url("judyUrl"),
156-
new ImageUrl("imageUrl"));
156+
new ImageUrl("imageUrl"));
157157
when(articleRepository.findById(any())).thenReturn(Optional.of(judyArticle));
158158
when(memberService.findById(any())).thenReturn(judy);
159159
final LoginMember judyLogin = new LoginMember(1L, MEMBER);
@@ -178,7 +178,7 @@ void delete_fail_ArticleNotFoundException() {
178178

179179
//when, then
180180
assertThatThrownBy(() -> articleService.delete(1L, judyLogin))
181-
.isInstanceOf(BadRequestException.class);
181+
.isInstanceOf(BadRequestException.class);
182182
}
183183

184184
@DisplayName("삭제시 아티클 작성자가 아니라면 예외를 발생시킨다.")
@@ -188,15 +188,15 @@ void delete_fail_InvalidArticleAuthorException() {
188188
final Member judy = new Member(1L, "judith", "judy", CREW, 1L, "judyUrl");
189189
final Member brown = new Member(2L, "brown", "brownie", CREW, 2L, "brownUrl");
190190
final Article brownArticle = new Article(brown, new Title("brownTitle"),
191-
new Url("brownUrl"), new ImageUrl("imageUrl"));
191+
new Url("brownUrl"), new ImageUrl("imageUrl"));
192192
when(articleRepository.findById(any())).thenReturn(Optional.of(brownArticle));
193193

194194
final LoginMember judyLogin = new LoginMember(1L, MEMBER);
195195
when(memberService.findById(any())).thenReturn(judy);
196196

197197
//when, then
198198
assertThatThrownBy(() -> articleService.delete(1L, judyLogin))
199-
.isInstanceOf(BadRequestException.class);
199+
.isInstanceOf(BadRequestException.class);
200200
}
201201

202202
@Nested
@@ -208,14 +208,14 @@ class bookmarkArticle {
208208
void add() {
209209
//given
210210
final Member member = new Member(1L, "userName", "nickName",
211-
CREW, 1L, "imageUrl");
211+
CREW, 1L, "imageUrl");
212212
final Article article = new Article(member, new Title("brownTitle"),
213-
new Url("brownUrl"), new ImageUrl("imageUrl"));
213+
new Url("brownUrl"), new ImageUrl("imageUrl"));
214214
final Long articleId = 3L;
215215
final LoginMember loginMember = new LoginMember(member.getId(), MEMBER);
216216

217217
when(articleRepository.findFetchBookmarkById(articleId)).thenReturn(
218-
Optional.of(article));
218+
Optional.of(article));
219219
when(memberService.findById(member.getId())).thenReturn(member);
220220

221221
//when
@@ -224,22 +224,22 @@ void add() {
224224
//then
225225
final ArticleBookmarks articleBookmarks = article.getArticleBookmarks();
226226
assertThat(articleBookmarks.containBookmark(member.getId()))
227-
.isTrue();
227+
.isTrue();
228228
}
229229

230230
@DisplayName("아티클의 북마크를 삭제한다.")
231231
@Test
232232
void remove() {
233233
//given
234234
final Member member = new Member(1L, "userName", "nickName",
235-
CREW, 1L, "imageUrl");
235+
CREW, 1L, "imageUrl");
236236
final Article article = new Article(member, new Title("brownTitle"),
237-
new Url("brownUrl"), new ImageUrl("imageUrl"));
237+
new Url("brownUrl"), new ImageUrl("imageUrl"));
238238
final Long articleId = 3L;
239239
final LoginMember loginMember = new LoginMember(member.getId(), MEMBER);
240240

241241
when(articleRepository.findFetchBookmarkById(articleId)).thenReturn(
242-
Optional.of(article));
242+
Optional.of(article));
243243
when(memberService.findById(member.getId())).thenReturn(member);
244244

245245
//when
@@ -248,7 +248,7 @@ void remove() {
248248
//then
249249
final ArticleBookmarks articleBookmarks = article.getArticleBookmarks();
250250
assertThat(articleBookmarks.containBookmark(member.getId()))
251-
.isTrue();
251+
.isTrue();
252252
}
253253
}
254254

@@ -261,9 +261,9 @@ class likeArticle {
261261
void add() {
262262
//given
263263
final Member member = new Member(1L, "userName", "nickName",
264-
CREW, 1L, "imageUrl");
264+
CREW, 1L, "imageUrl");
265265
final Article article = new Article(member, new Title("brownTitle"),
266-
new Url("brownUrl"), new ImageUrl("imageUrl"));
266+
new Url("brownUrl"), new ImageUrl("imageUrl"));
267267
final Long articleId = 3L;
268268
final LoginMember loginMember = new LoginMember(member.getId(), MEMBER);
269269

@@ -276,17 +276,17 @@ void add() {
276276
//then
277277
final ArticleLikes articleBookmarks = article.getArticleLikes();
278278
assertThat(articleBookmarks.isAlreadyLike(member.getId()))
279-
.isTrue();
279+
.isTrue();
280280
}
281281

282282
@DisplayName("아티클의 좋아요를 삭제한다.")
283283
@Test
284284
void remove() {
285285
//given
286286
final Member member = new Member(1L, "userName", "nickName",
287-
CREW, 1L, "imageUrl");
287+
CREW, 1L, "imageUrl");
288288
final Article article = new Article(member, new Title("brownTitle"),
289-
new Url("brownUrl"), new ImageUrl("imageUrl"));
289+
new Url("brownUrl"), new ImageUrl("imageUrl"));
290290
final Long articleId = 3L;
291291
final LoginMember loginMember = new LoginMember(member.getId(), MEMBER);
292292

@@ -299,7 +299,7 @@ void remove() {
299299
//then
300300
final ArticleLikes articleBookmarks = article.getArticleLikes();
301301
assertThat(articleBookmarks.isAlreadyLike(member.getId()))
302-
.isFalse();
302+
.isFalse();
303303
}
304304
}
305305

0 commit comments

Comments
 (0)