Skip to content

Commit

Permalink
fix: 선생님 삭제 단위 테스트 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
simhani1 committed Aug 22, 2023
1 parent 4c71e44 commit d792456
Showing 1 changed file with 8 additions and 19 deletions.
Original file line number Diff line number Diff line change
@@ -1,22 +1,19 @@
package com.ohdab.member.service;

import static org.assertj.core.api.Assertions.assertThatNoException;
import static org.mockito.Mockito.*;

import com.ohdab.member.domain.Authority;
import com.ohdab.member.domain.Member;
import com.ohdab.member.domain.memberinfo.MemberInfo;
import com.ohdab.member.repository.MemberRepository;
import com.ohdab.member.service.helper.MemberHelperService;
import com.ohdab.member.service.usecase.DeleteTeacherUsecase;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mockito;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit.jupiter.SpringExtension;

Expand All @@ -25,29 +22,21 @@
class DeleteTeacherServiceTest {

@Autowired private DeleteTeacherUsecase deleteTeacherUsecase;
@Autowired private ApplicationEventPublisher publisher;
@MockBean private MemberRepository memberRepository;

@Test
@DisplayName("선생님 삭제 성공 테스트")
void 선생님_삭제_성공_테스트() {
// given
long id = 1;
Member member = createTeacher("선생님", "tjstodsla");
long teacherId = 1L;

// when
Mockito.when(memberRepository.findById(Mockito.anyLong()))
.thenReturn(Optional.ofNullable(member));
when(memberRepository.findById(anyLong()))
.thenReturn(Optional.ofNullable(mock(Member.class)));
when(mock(Member.class).getId()).thenReturn(1L);

// then
assertThatNoException().isThrownBy(() -> deleteTeacherUsecase.deleteTeacherById(id));
}

private Member createTeacher(String name, String password) {
List<Authority> authorities = new ArrayList<>();
authorities.add(new Authority("TEACHER"));
return Member.builder()
.memberInfo(MemberInfo.builder().name(name).password(password).build())
.authorities(authorities)
.build();
assertThatNoException().isThrownBy(() -> deleteTeacherUsecase.deleteTeacherById(teacherId));
}
}

0 comments on commit d792456

Please sign in to comment.