Skip to content

Commit

Permalink
test(service): 응답 변경에 따른 리팩토링
Browse files Browse the repository at this point in the history
  • Loading branch information
zeus6768 committed Aug 5, 2024
1 parent eb14c4a commit 3ad7717
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,12 @@ public FakeMemberRepository() {

@Override
public boolean existsByEmail(String email) {
return members.stream()
.anyMatch(member -> Objects.equals(member.getEmail(), email));
return members.stream().anyMatch(member -> Objects.equals(member.getEmail(), email));
}

@Override
public boolean existsByUsername(String username) {
return members.stream()
.anyMatch(member -> Objects.equals(member.getUsername(), username));
return members.stream().anyMatch(member -> Objects.equals(member.getUsername(), username));
}

@Override
Expand Down Expand Up @@ -58,7 +56,6 @@ private long getOrGenerateId(Member entity) {
}

private boolean existsById(Long id) {
return members.stream()
.anyMatch(member -> Objects.equals(member.getId(), id));
return members.stream().anyMatch(member -> Objects.equals(member.getId(), id));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,68 @@

import codezap.global.exception.CodeZapException;
import codezap.member.domain.Member;
import codezap.member.repository.MemberRepository;
import codezap.member.dto.LoginRequest;
import codezap.member.dto.MemberDto;
import codezap.member.dto.SignupRequest;
import codezap.member.repository.FakeMemberRepository;
import codezap.member.repository.MemberRepository;

public class MemberServiceTest {

private final MemberRepository memberRepository = new FakeMemberRepository();
private final AuthService authService = new AuthService(memberRepository);
private final MemberService sut = new MemberService(memberRepository, authService);

@Nested
@DisplayName("이메일 중복 검사 테스트")
class CheckEmail {

@Test
@DisplayName("이메일 중복 검사 통과: 사용가능한 이메일")
void assertUniqueEmail() {
var email = "[email protected]";

assertThatCode(() -> sut.assertUniqueEmail(email))
.doesNotThrowAnyException();
}

@Test
@DisplayName("이메일 중복 검사 실패: 중복된 이메일")
void assertUniqueEmail_fail_duplicate() {
var savedMember = new Member(1L, "[email protected]", "password", "zappy");
memberRepository.save(savedMember);

assertThatThrownBy(() -> sut.assertUniqueEmail("[email protected]"))
.isInstanceOf(CodeZapException.class)
.hasMessage("이메일이 이미 존재합니다.");
}
}

@Nested
@DisplayName("사용자명 중복 검사 테스트")
class CheckUsername {

@Test
@DisplayName("사용자명 중복 검사 통과: 사용가능한 사용자명")
void assertUniqueUsername() {
var username = "zappy";

assertThatCode(() -> sut.assertUniqueUsername(username))
.doesNotThrowAnyException();
}

@Test
@DisplayName("사용자명 중복 검사 실패: 중복된 사용자명")
void assertUniqueUsername_fail_duplicate() {
var savedMember = new Member(1L, "[email protected]", "password", "zappy");
memberRepository.save(savedMember);

assertThatThrownBy(() -> sut.assertUniqueUsername("zappy"))
.isInstanceOf(CodeZapException.class)
.hasMessage("사용자명이 이미 존재합니다.");
}
}

@Nested
@DisplayName("회원가입 테스트")
class SignupTest {
Expand Down

0 comments on commit 3ad7717

Please sign in to comment.