From 3b044850c26063d32f09e806cc2446c83cb6ef7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=9A=B0=EC=9E=AC?= Date: Tue, 30 Nov 2021 16:45:08 +0900 Subject: [PATCH] =?UTF-8?q?[#54]=20test:=20=EC=A0=80=EC=9E=90=20=EC=A0=95?= =?UTF-8?q?=EB=B3=B4=EA=B0=80=20=EC=9D=BC=EC=B9=98=ED=95=98=EC=A7=80=20?= =?UTF-8?q?=EC=95=8A=EB=8A=94=EB=8B=A4=EB=A9=B4=20=EA=B2=8C=EC=8B=9C?= =?UTF-8?q?=EA=B8=80=EC=9D=84=20=EB=B3=80=EA=B2=BD=20=EC=88=98=20=EC=97=86?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../application/ArticleCommandServiceTest.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/test/java/com/study/realworld/domain/article/application/ArticleCommandServiceTest.java b/src/test/java/com/study/realworld/domain/article/application/ArticleCommandServiceTest.java index d1ea37e9..6c7c9334 100644 --- a/src/test/java/com/study/realworld/domain/article/application/ArticleCommandServiceTest.java +++ b/src/test/java/com/study/realworld/domain/article/application/ArticleCommandServiceTest.java @@ -17,10 +17,12 @@ import java.time.LocalDateTime; import java.util.List; +import java.util.Optional; import static com.study.realworld.domain.article.util.ArticleFixture.*; import static com.study.realworld.domain.user.util.UserFixture.*; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.junit.jupiter.api.Assertions.assertAll; import static org.mockito.ArgumentMatchers.any; import static org.mockito.BDDMockito.willReturn; @@ -73,17 +75,20 @@ class ArticleCommandServiceTest { } @Test - void 저자_정보가_일치하지_않는다면_게시글을_변경_수_앖다() { + void 저자_정보가_일치하지_않는다면_게시글을_변경_수_없다() { final User loginUser = createUser(OTHER_USER_EMAIL, OTHER_USER_NAME, OTHER_USER_PASSWORD, OTHER_USER_BIO, OTHER_USER_IMAGE); final User author = createUser(USER_EMAIL, USER_NAME, USER_PASSWORD, USER_BIO, USER_IMAGE); final Article article = createArticle(ARTICLE_SLUG, ARTICLE_TITLE, ARTICLE_BODY, ARTICLE_DESCRIPTION, author); final ArticleUpdate.Request request = createArticleUpdateRequest(OTHER_ARTICLE_TITLE, OTHER_ARTICLE_BODY, OTHER_ARTICLE_DESCRIPTION); + ReflectionTestUtils.setField(loginUser, "userId", 1L); + ReflectionTestUtils.setField(author, "userId", 2L); + willReturn(loginUser).given(userQueryService).findById(any()); - willReturn(article.articleSlug().articleSlug()).given(slugStrategy).mapToSlug(any()); + willReturn(Optional.of(article)).given(articleRepository).findByArticleSlug(any()); -// assertThatThrownBy(() -> articleCommandService.update(1L, article.articleSlug(), request)) -// .isExactlyInstanceOf() -// .hasMessage(); + assertThatThrownBy(() -> articleCommandService.update(1L, article.articleSlug(), request)) + .isExactlyInstanceOf(AuthorMissMatchException.class) + .hasMessage("수정자와 저자가 다릅니다"); } }