From 5fdc5be16e742fc49b1465c439217b29a3cf39ac Mon Sep 17 00:00:00 2001 From: sujin Date: Sun, 18 Feb 2024 23:04:24 +0900 Subject: [PATCH 1/3] =?UTF-8?q?:test=5Ftube:=20test:=20CoinAdminService=20?= =?UTF-8?q?=EB=8B=A8=EC=9C=84=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../coin/service/CoinAdminServiceTest.java | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 src/test/java/com/gg/server/admin/coin/service/CoinAdminServiceTest.java diff --git a/src/test/java/com/gg/server/admin/coin/service/CoinAdminServiceTest.java b/src/test/java/com/gg/server/admin/coin/service/CoinAdminServiceTest.java new file mode 100644 index 000000000..e73356a0b --- /dev/null +++ b/src/test/java/com/gg/server/admin/coin/service/CoinAdminServiceTest.java @@ -0,0 +1,64 @@ +package com.gg.server.admin.coin.service; + +import static org.mockito.ArgumentMatchers.*; +import static org.mockito.BDDMockito.*; + +import java.util.Optional; + +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; + +import com.gg.server.admin.coin.dto.CoinUpdateRequestDto; +import com.gg.server.data.store.CoinHistory; +import com.gg.server.data.user.User; +import com.gg.server.domain.coin.service.CoinHistoryService; +import com.gg.server.domain.user.data.UserRepository; +import com.gg.server.domain.user.exception.UserNotFoundException; +import com.gg.server.utils.annotation.UnitTest; + +@UnitTest +@ExtendWith(MockitoExtension.class) +@DisplayName("CoinAdminServiceTest") +class CoinAdminServiceTest { + @Mock + UserRepository userRepository; + @Mock + CoinHistoryService coinHistoryService; + @InjectMocks + CoinAdminService coinAdminService; + + @Nested + @DisplayName("updateUserCoin 메서드 unitTest") + class UpdateUserCoinTest { + @Test + @DisplayName("성공") + void success() { + //given + CoinUpdateRequestDto requestDto = new CoinUpdateRequestDto("testId", 10, "test"); + User user = mock(User.class); + given(userRepository.findByIntraId(any(String.class))).willReturn(Optional.of(user)); + //when + coinAdminService.updateUserCoin(requestDto); + //then + verify(user).addGgCoin(requestDto.getChange()); + verify(coinHistoryService).addCoinHistory(any(CoinHistory.class)); + } + + @Test + @DisplayName("UserNotFound") + void userNotFound() { + //given + CoinUpdateRequestDto requestDto = new CoinUpdateRequestDto("testId", 10, "test"); + given(userRepository.findByIntraId(requestDto.getIntraId())).willReturn(Optional.empty()); + //when, then + Assertions.assertThatThrownBy(() -> coinAdminService.updateUserCoin(requestDto)) + .isInstanceOf(UserNotFoundException.class); + } + } +} From 0e04e0eea26491d1e2ff3fcebefc3bfbab1d108a Mon Sep 17 00:00:00 2001 From: sujin Date: Sun, 18 Feb 2024 23:05:20 +0900 Subject: [PATCH 2/3] =?UTF-8?q?:green=5Fheart:=20chore:=20=EC=9E=90?= =?UTF-8?q?=EB=B0=94=EB=8F=85=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/gg/server/admin/coin/service/CoinAdminService.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/com/gg/server/admin/coin/service/CoinAdminService.java b/src/main/java/com/gg/server/admin/coin/service/CoinAdminService.java index 65e8227c7..6af21dae7 100644 --- a/src/main/java/com/gg/server/admin/coin/service/CoinAdminService.java +++ b/src/main/java/com/gg/server/admin/coin/service/CoinAdminService.java @@ -18,6 +18,11 @@ public class CoinAdminService { private final UserRepository userRepository; private final CoinHistoryService coinHistoryService; + /*** + * 유저의 코인 정보를 업데이트합니다. + * @param coinUpdateRequestDto 코인 업데이트에 필요한 Dto + * @throws UserNotFoundException 유저가 존재하지 않을 경우 + */ @Transactional public void updateUserCoin(CoinUpdateRequestDto coinUpdateRequestDto) { User user = userRepository.findByIntraId(coinUpdateRequestDto.getIntraId()) From 7a2a91dfa95b3084eb4ba1ff31be84d7a04e114a Mon Sep 17 00:00:00 2001 From: AYoungSn Date: Thu, 7 Mar 2024 21:22:07 +0900 Subject: [PATCH 3/3] =?UTF-8?q?[REFACT]=20#707=20gradle=20parallel=20?= =?UTF-8?q?=EC=8B=A4=ED=96=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 1 + 1 file changed, 1 insertion(+) create mode 100644 gradle.properties diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 000000000..f97ebb7d3 --- /dev/null +++ b/gradle.properties @@ -0,0 +1 @@ +org.gradle.parallel=true