From 05ddace8846fe29bc66096fb2c25212b216614d8 Mon Sep 17 00:00:00 2001 From: jinia91 Date: Fri, 27 May 2022 20:19:31 +0900 Subject: [PATCH] =?UTF-8?q?dto=20=EB=A7=A4=ED=8D=BC=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../article/application/ArticleDtoMapper.java | 6 ----- .../appliacation/CategoryDtoMapper.java | 23 +++++++++++++++++++ .../appliacation/CategoryQueries.java | 6 ++--- src/test/kotlin/ArticleServiceTests.kt | 7 ++++++ 4 files changed, 32 insertions(+), 10 deletions(-) create mode 100644 src/main/java/myblog/blog/category/appliacation/CategoryDtoMapper.java diff --git a/src/main/java/myblog/blog/article/application/ArticleDtoMapper.java b/src/main/java/myblog/blog/article/application/ArticleDtoMapper.java index 5349611..d6b6e8e 100644 --- a/src/main/java/myblog/blog/article/application/ArticleDtoMapper.java +++ b/src/main/java/myblog/blog/article/application/ArticleDtoMapper.java @@ -26,10 +26,4 @@ public interface ArticleDtoMapper { ArticleResponseForDetail detail(Article article); ArticleResponseByCategory category(Article article); TagsResponse of(Tags tag); - @Mappings({ - @Mapping(target = "count",ignore = true), - @Mapping(target = "POrder",ignore = true), - @Mapping(target = "COrder",ignore = true) - }) - CategorySimpleDto categorySimpleDto(Category category); } \ No newline at end of file diff --git a/src/main/java/myblog/blog/category/appliacation/CategoryDtoMapper.java b/src/main/java/myblog/blog/category/appliacation/CategoryDtoMapper.java new file mode 100644 index 0000000..d5b0c84 --- /dev/null +++ b/src/main/java/myblog/blog/category/appliacation/CategoryDtoMapper.java @@ -0,0 +1,23 @@ +package myblog.blog.category.appliacation; + +import myblog.blog.article.application.port.incomming.response.*; +import myblog.blog.article.domain.Article; +import myblog.blog.article.domain.Tags; +import myblog.blog.category.appliacation.port.incomming.response.CategorySimpleDto; +import myblog.blog.category.domain.Category; +import org.mapstruct.*; + +@Mapper( + componentModel = "spring", + injectionStrategy = InjectionStrategy.CONSTRUCTOR, + unmappedTargetPolicy = ReportingPolicy.ERROR +) +public interface CategoryDtoMapper { + ArticleResponseByCategory category(Article article); + @Mappings({ + @Mapping(target = "count",ignore = true), + @Mapping(target = "POrder",ignore = true), + @Mapping(target = "COrder",ignore = true) + }) + CategorySimpleDto categorySimpleDto(Category category); +} \ No newline at end of file diff --git a/src/main/java/myblog/blog/category/appliacation/CategoryQueries.java b/src/main/java/myblog/blog/category/appliacation/CategoryQueries.java index e0423d3..8bc899a 100644 --- a/src/main/java/myblog/blog/category/appliacation/CategoryQueries.java +++ b/src/main/java/myblog/blog/category/appliacation/CategoryQueries.java @@ -1,12 +1,10 @@ package myblog.blog.category.appliacation; import lombok.RequiredArgsConstructor; -import myblog.blog.article.application.ArticleDtoMapper; import myblog.blog.category.appliacation.port.incomming.CategoryQueriesUseCase; import myblog.blog.category.appliacation.port.incomming.response.CategorySimpleDto; import myblog.blog.category.appliacation.port.incomming.response.CategoryViewForLayout; import myblog.blog.category.appliacation.port.outgoing.CategoryRepositoryPort; -import myblog.blog.shared.utils.MapperUtils; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -20,7 +18,7 @@ import java.util.stream.Collectors; public class CategoryQueries implements CategoryQueriesUseCase { private final CategoryRepositoryPort categoryRepositoryPort; - private final ArticleDtoMapper articleDtoMapper; + private final CategoryDtoMapper categoryDtoMapper; /* - 카테고리와 카테고리별 아티클 수 찾기 @@ -48,7 +46,7 @@ public class CategoryQueries implements CategoryQueriesUseCase { public List findCategoryByTier(int tier) { return categoryRepositoryPort.findAllByTierIs(tier) .stream() - .map(articleDtoMapper::categorySimpleDto) + .map(categoryDtoMapper::categorySimpleDto) .collect(Collectors.toList()); } } diff --git a/src/test/kotlin/ArticleServiceTests.kt b/src/test/kotlin/ArticleServiceTests.kt index 9531b5b..2c5f7a6 100644 --- a/src/test/kotlin/ArticleServiceTests.kt +++ b/src/test/kotlin/ArticleServiceTests.kt @@ -16,6 +16,8 @@ import org.junit.jupiter.api.extension.ExtendWith import org.mockito.InjectMocks import org.mockito.Mock import org.mockito.junit.jupiter.MockitoExtension +import org.mockito.kotlin.times +import org.mockito.kotlin.verify import org.mockito.kotlin.whenever import java.util.* import kotlin.test.assertFailsWith @@ -63,5 +65,10 @@ class ArticleServiceTests { sut.writeArticle(articleCreateCommand) } + @Test + fun`article 삭제 성공`(){ + sut.deleteArticle(1L) + verify(articleRepositoryPort, times(1)).deleteArticle(1L) + } } \ No newline at end of file