Skip to content

Commit

Permalink
[CHORE] update test
Browse files Browse the repository at this point in the history
  • Loading branch information
Chan531 committed Aug 22, 2024
1 parent 4aedda9 commit 22dd9a8
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 243 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.soptie.server.domain.auth;

import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.junit.jupiter.MockitoExtension;
Expand All @@ -9,56 +11,24 @@ class AuthServiceImplTest {

@InjectMocks
private AuthService authService;
/*
@Mock
private MemberRepository memberRepository;
@Mock
private ValueConfig valueConfig;
@Mock
private JwtTokenProvider jwtTokenProvider;

@Test
@DisplayName("로그아웃을 하면 리프레시 토큰 값이 null이 된다.")
void emptyRefreshTokenAfterLogout() {
void resetRefreshTokenIfSignOut() { //TODO: 테스트
// given
long memberId = 1L;
Member member = member(memberId);
doReturn(Optional.of(member)).when(memberRepository).findById(memberId);
member.updateRefreshToken("refreshToken");

// when
authService.signOut(member.getId());

// then
assertThat(member.getRefreshToken()).isNull();
}

@Test
@DisplayName("파러미터로 받은 리프레시 토큰을 가지고 있는 멤버가 있다면 액세스 토큰을 재발급 해준다.")
void refreshAccessTokenForMemberWithRefreshToken() {
void reissueTokenIfMemberHasSameRefreshToken() { //TODO: 테스트
// given
long memberId = 1L;
Member member = member(memberId);
String token = "refreshToken";
doReturn(Optional.of(member)).when(memberRepository).findByRefreshToken(token);
// doReturn("Bearer ").when(valueConfig).getBEARER_HEADER();
// doReturn("").when(valueConfig).getBLANK();
doReturn(60000L).when(valueConfig).getAccessTokenExpired();
doReturn(token).when(jwtTokenProvider)
.generateToken(new UserAuthentication(member.getId(), null, null), 60000L);

// when
TokenGetServiceResponse result = authService.reissueToken(TokenGetServiceRequest.of("Bearer " + token));

// then
assertThat(result).isEqualTo(TokenGetServiceResponse.of(token));
}
private Member member(long memberId) {
Member member = MemberFixture.member().id(memberId).build();
return member;
}
*/
}
Original file line number Diff line number Diff line change
@@ -1,79 +1,23 @@
package com.soptie.server.domain.maker;

import org.springframework.beans.factory.annotation.Autowired;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.transaction.annotation.Transactional;

import com.soptie.server.persistence.repository.MakerRepository;
import com.soptie.server.persistence.repository.ThemeRepository;
import com.soptie.server.support.IntegrationTest;

@IntegrationTest
@Transactional
public class MakerServiceIntegrationTest {

@Autowired
MakerService makerService;
@Test
@DisplayName("[성공] 메이커와 해당하는 테마 정보를 조회한다.")
void getMakersWithTheme() { //TODO: 테스트
// given

@Autowired
MakerRepository makerRepository;
// when

@Autowired
ThemeRepository themeRepository;
/*
@Nested
class Acquire {
// then
}

Maker maker1;
Maker maker2;
Theme theme1;
Theme theme2;
long makerId1 = 1L;
long makerId2 = 2L;
long themeId1 = 1L;
long themeId2 = 2L;
String name = "maker";
String job = "job";
String profileImageUrl = "profileImageUrl";
String content = "content";
List<String> tags = List.of("#tag1", "#tag2", "#tag3");
@BeforeEach
void setUp() {
maker1 = makerRepository.save(MakerFixture.maker()
.id(makerId1)
.name(name)
.job(job)
.profileImageUrl(profileImageUrl)
.content(content)
.themeId(themeId1)
.tags(tags)
.build()
);
maker2 = makerRepository.save(MakerFixture.maker()
.id(makerId2)
.name(name)
.job(job)
.profileImageUrl(profileImageUrl)
.content(content)
.themeId(themeId2)
.tags(tags)
.build()
);
theme1 = themeRepository.save(ThemeFixture.theme().id(themeId1).name("테마 1").build());
theme2 = themeRepository.save(ThemeFixture.theme().id(themeId2).name("테마 2").build());
}
@Test
@DisplayName("[성공] 메이커와 해당하는 테마 정보를 조회한다.")
void acquireAll() {
// given, when
MakerListAcquireServiceResponse actual = makerService.acquireAll();
// then
assertThat(actual.makers()).hasSize(2);
assertThat(actual.makers().stream().filter(maker -> maker.makerId() == makerId1).findAny()).isNotEmpty();
assertThat(actual.makers().stream().filter(maker -> maker.makerId() == makerId2).findAny()).isNotEmpty();
}
}*/
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.soptie.server.domain.member;

import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;

Expand All @@ -12,44 +14,13 @@ public class MemberServiceIntegrationTest {
@Autowired
private MemberService memberService;

/*
@SuppressWarnings("checkstyle:TypeName")
@Nested
class Create {
@Test
@DisplayName("[성공] 응답이 유효하면 회원 프로필이 생성된다.")
void createMemberProfileSuccessfully() { //TODO: 테스트
// given

Member member;
DollType dollType = BROWN;
Routine routine;
// when

@BeforeEach
void setUp() {
member = memberRepository.save(MemberFixture.member().build());
Theme theme = themeRepository.save(ThemeFixture.theme().name("theme").build());
dollRepository.save(DollFixture.doll().dollType(dollType).build());
routine = routineRepository.save(
RoutineFixture.routine().content("content").type(DAILY).theme(theme).build());
}
@Test
@DisplayName("[성공] 응답이 유효하면 회원 프로필이 생성된다.")
void registerProfile() {
// given
String name = "doll";
List<Long> routines = List.of(routine.getId());
CreateProfileRequest controllerRequest = new CreateProfileRequest(dollType, name, routines);
MemberProfileCreateServiceRequest request = MemberProfileCreateServiceRequest.of(member.getId(),
controllerRequest);
// when
memberService.createMemberProfile(request);
// then
Member foundMember = memberFinder.findById(member.getId());
assertThat(foundMember.getMemberDoll().getDoll().getDollType()).isEqualTo(dollType);
assertThat(foundMember.getMemberDoll().getName()).isEqualTo(name);
assertThat(memberRoutineFinder.findAllByMember(foundMember).size()).isEqualTo(routines.size());
assertThat(memberRoutineFinder.findAllByMember(foundMember).get(0).id()).isEqualTo(routine.getId());
}
// then
}
*/
}
109 changes: 16 additions & 93 deletions src/test/java/com/soptie/server/domain/member/MemberServiceTest.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.soptie.server.domain.member;

import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.junit.jupiter.MockitoExtension;
Expand All @@ -9,123 +11,44 @@ class MemberServiceTest {

@InjectMocks
private MemberService memberService;
/*
@Test
@DisplayName("멤버 프로필 생성 시, 멤버 데일리 루틴 생성과 멤버 인형 생성 메소드를 호출한다.")
void 멤버_프로필을_생성하면서_멤버_데일리_루틴과_멤버_인형을_생성한다() {
// given
long memberId = 1L;
Member member = member(memberId);
DollType dollType = BROWN;
String name = "memberDoll";
List<Long> routines = List.of(2L, 3L, 4L);
MemberProfileCreateRequest request = new MemberProfileCreateRequest(dollType, name, routines);
doNothing().when(memberRoutineSaver).checkHasDeletedAndSave(member, List.of(2L, 3L, 4L));
doNothing().when(memberService).createMemberDoll(member, dollType, name);

// when
memberService.createMemberProfile(MemberProfileCreateServiceRequest.of(memberId, request));
@Test
@DisplayName("멤버 프로필 생성 시, 멤버 데일리 루틴 생성과 멤버 인형 생성 메소드를 호출한다.")
void createMemberProfileSuccessfully() { //TODO: 테스트
// given

// when

// then
verify(memberService).createDailyRoutines(member, routines);
verify(memberService).createMemberDoll(member, dollType, name);
}
// then
}

@Test
@DisplayName("솜뭉치 개수가 양수일 때 솜뭉치를 줄 수 있다.")
void canGiveCottonWhenCottonCountIsPositive() {
void canGiveCottonWhenCottonCountIsPositive() { //TODO: 테스트
// given
long memberId = 1L;
MemberDoll memberDoll = new MemberDoll(1L);
Member member = member(memberId, memberDoll, 1);
int beforeCotton = member.getCottonInfo().getDailyCottonCount();

// when
memberService.giveCotton(CottonGiveServiceRequest.of(member.getId(), CottonType.DAILY));

// then
assertThat(member.getCottonInfo().getDailyCottonCount()).isEqualTo(beforeCotton - 1);
}

@Test
@DisplayName("솜뭉치 개수가 0일 때 솜뭉치를 주려 하면 예외가 발생한다.")
void occurExceptionGiveCottonWhenCottonCountIsZero() {
void occurExceptionGiveCottonWhenCottonCountIsZero() { //TODO: 테스트
// given
long memberId = 1L;
MemberDoll memberDoll = new MemberDoll(1L);
Member member = member(memberId, memberDoll);

// when, then
assertThatThrownBy(
() -> memberService.giveCotton(CottonGiveServiceRequest.of(member.getId(), CottonType.DAILY)))
.isInstanceOf(MemberException.class)
.hasMessage("[MemberException] : " + NOT_ENOUGH_COTTON.getMessage());
// when

// then
}

@Test
@DisplayName("멤버의 멤버 인형 정보와 솜뭉치 개수를 가져온다.")
void acquireProfile() {
void getMemberProfile() { //TODO: 테스트
// given
long dollId = 1L;
Doll doll = doll(dollId, BROWN, "faceImageUrl");
long memberDollId = 2L;
MemberDoll memberDoll = memberDoll(memberDollId, "memberDoll", 0, doll);
long memberId = 3L;
Member member = member(memberId, memberDoll);
List<Long> conversationIds = List.of(1L, 2L);
List<Conversation> conversations = conversations(conversationIds);

// when
MemberHomeInfoGetServiceResponse result = memberService.getMemberHomeInfo(
MemberHomeInfoGetServiceRequest.of(memberId));

// then
assertThat(MemberHomeInfoGetServiceResponse.of(member,
conversations.stream().map(Conversation::getContent).toList())).isEqualTo(result);
}
private Member member(long memberId) {
Member member = MemberFixture.member().id(memberId).build();
doReturn(member).when(memberFinder).findById(memberId);
return member;
}
private Member member(long memberId, MemberDoll memberDoll) {
Member member = MemberFixture.member().id(memberId).memberDoll(memberDoll).build();
doReturn(member).when(memberFinder).findById(memberId);
return member;
}
private Member member(long memberId, MemberDoll memberDoll, int dailyCottonCount) {
Member member = MemberFixture.member()
.id(memberId)
.memberDoll(memberDoll)
.dailyCotton(dailyCottonCount)
.build();
doReturn(member).when(memberFinder).findById(memberId);
return member;
}
private MemberDoll memberDoll(long memberDollId, String name, int happinessCottonCount, Doll doll) {
MemberDoll memberDoll = MemberDollFixture.memberDoll().id(memberDollId).name(name)
.happinessCottonCount(happinessCottonCount).doll(doll).build();
return memberDoll;
}
private Doll doll(Long id, DollType dollType, String faceImageUrl) {
Doll doll = DollFixture.doll().id(id).dollType(dollType).faceImageUrl(faceImageUrl).build();
return doll;
}
private List<Conversation> conversations(List<Long> conversationIds) {
List<Conversation> conversations = conversationIds.stream()
.map(conversationId -> ConversationFixture.conversation()
.id(conversationId)
.content("conversation" + conversationId)
.build()
).toList();
doReturn(conversations).when(conversationAdapter).findAll();
return conversations;
}
*/
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.soptie.server.domain.memberdoll;

import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
Expand All @@ -20,26 +22,14 @@ class MemberDollServiceImplTest {

@Mock
private MemberDollRepository memberDollRepository;
/*

@Test
@DisplayName("멤버 인형을 생성하고 이를 멤버의 멤버 인형으로 설정한다.")
void addMemberDoll() {
void createMemberDollAndSetMember() { //TODO: 테스트
// given
long id = 1L;
String name = "brownie";
Member member = member(id);
doReturn(Optional.of(new Doll())).when(dollRepository).findByDollType(BROWN);

// when
memberDollService.createMemberDoll(member, BROWN, name);

// then
assertThat(member.getMemberDoll().getName()).isEqualTo(name);
}
private Member member(long memberId) {
Member member = MemberFixture.member().id(memberId).build();
return member;
}
*/
}

0 comments on commit 22dd9a8

Please sign in to comment.