diff --git a/src/main/java/org/recordy/server/user/service/impl/UserServiceImpl.java b/src/main/java/org/recordy/server/user/service/impl/UserServiceImpl.java index 209fc36e..aa6d5623 100644 --- a/src/main/java/org/recordy/server/user/service/impl/UserServiceImpl.java +++ b/src/main/java/org/recordy/server/user/service/impl/UserServiceImpl.java @@ -83,13 +83,15 @@ public User signUp(UserSignUp userSignUp) { } private void followRoot(User user) { - userRepository.findById(rootUserId) - .ifPresent(rootUser -> - subscribeRepository.save(Subscribe.builder() - .subscribingUser(user) - .subscribedUser(rootUser) - .build()) - ); + if (!user.getId().equals(rootUserId)) { + userRepository.findById(rootUserId) + .ifPresent(rootUser -> + subscribeRepository.save(Subscribe.builder() + .subscribingUser(user) + .subscribedUser(rootUser) + .build()) + ); + } } @Override diff --git a/src/test/java/org/recordy/server/mock/user/FakeUserRepository.java b/src/test/java/org/recordy/server/mock/user/FakeUserRepository.java index 817a5202..a4bbe8c4 100644 --- a/src/test/java/org/recordy/server/mock/user/FakeUserRepository.java +++ b/src/test/java/org/recordy/server/mock/user/FakeUserRepository.java @@ -14,6 +14,11 @@ public class FakeUserRepository implements UserRepository { @Override public User save(User user) { + if (users.get(user.getId()) != null) { + users.put(user.getId(), user); + return user; + } + User realUser = User.builder() .id(autoIncrementId) .authPlatform(user.getAuthPlatform()) @@ -23,7 +28,6 @@ public User save(User user) { .build(); users.put(autoIncrementId++, realUser); - return realUser; } diff --git a/src/test/java/org/recordy/server/user/service/UserServiceTest.java b/src/test/java/org/recordy/server/user/service/UserServiceTest.java index eac12ce4..0e47338b 100644 --- a/src/test/java/org/recordy/server/user/service/UserServiceTest.java +++ b/src/test/java/org/recordy/server/user/service/UserServiceTest.java @@ -165,26 +165,6 @@ void init() { assertThat(result.getStatus()).isEqualTo(UserStatus.ACTIVE); } - @Test - void signUp을_통해_가입된_사용자가_ROOT_사용자를_팔로우할_수_있다() { - // given - UserSignIn rootSignIn = new UserSignIn("root", AuthPlatform.Type.KAKAO); - userService.signIn(rootSignIn); - UserSignUp rootSignUp = new UserSignUp(1L, "유영", TermsAgreement.of(true, true, true)); - userService.signUp(rootSignUp); - - // when - UserSignIn userSignIn = DomainFixture.createUserSignIn(AuthPlatform.Type.APPLE); - userService.signIn(userSignIn); - UserSignUp userSignUp = DomainFixture.createUserSignUp(); - User result = userService.signUp(userSignUp); - - // then - assertAll( - () -> assertThat(userRepository.findById(3)).isNotEmpty() - ); - } - @Test void reissueToken을_통해_accessToken을_재발급_받을_수_있다() { //given