Skip to content

Commit

Permalink
fix: 허브 생성 서비스 로직 @Transactional 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
hseong3243 committed Feb 14, 2024
1 parent ba912e3 commit cc8c274
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import com.seong.shoutlink.domain.member.service.MemberRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
@RequiredArgsConstructor
Expand All @@ -20,6 +21,7 @@ public class HubService {
private final HubRepository hubRepository;
private final EventPublisher eventPublisher;

@Transactional
public CreateHubResponse createHub(CreateHubCommand command) {
Member member = getMember(command.memberId());
Hub hub = new Hub(member, command.name(), command.description(), command.isPrivate());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,12 @@

import com.seong.shoutlink.domain.auth.service.AuthService;
import com.seong.shoutlink.domain.auth.service.request.CreateMemberCommand;
import com.seong.shoutlink.domain.hub.service.HubService;
import com.seong.shoutlink.domain.hub.service.request.CreateHubCommand;
import com.seong.shoutlink.domain.hub.service.response.CreateHubResponse;
import com.seong.shoutlink.domain.linkbundle.repository.LinkBundleEntity;
import com.seong.shoutlink.domain.member.Member;
import com.seong.shoutlink.domain.member.service.MemberRepository;
import com.seong.shoutlink.fixture.MemberFixture;
import jakarta.persistence.EntityManager;
import org.junit.jupiter.api.DisplayName;
Expand All @@ -22,6 +26,12 @@ class LinkBundleEventListenerTest {
@Autowired
private AuthService authService;

@Autowired
private HubService hubService;

@Autowired
private MemberRepository memberRepository;

@Autowired
private EntityManager em;

Expand Down Expand Up @@ -51,4 +61,29 @@ void createDefaultLinkBundle() {
assertThat(linkBundleEntity.getDescription()).isEqualTo("기본");
}
}

@Nested
@DisplayName("createHubEvent 수신 시")
class CreateHubEventTest {

@Test
@DisplayName("성공: 기본 허브 링크 번들 생성됨")
void createDefaultHubLinkBundle() {
//given
Member member = MemberFixture.member();
Long memberId = memberRepository.save(member);
CreateHubCommand command = new CreateHubCommand(memberId, "허브", "설명", false);

//when
CreateHubResponse response = hubService.createHub(command);

//then
LinkBundleEntity linkBundleEntity = em.createQuery(
"select hlb from HubLinkBundleEntity hlb "
+ "where hlb.hubId = :hubId", LinkBundleEntity.class)
.setParameter("hubId", response.hubId())
.getSingleResult();
assertThat(linkBundleEntity.getDescription()).isEqualTo("기본");
}
}
}

0 comments on commit cc8c274

Please sign in to comment.