Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CategoryTemplateService 테스트 #658

Merged
merged 8 commits into from
Sep 21, 2024
Original file line number Diff line number Diff line change
Expand Up @@ -5,31 +5,34 @@

import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import codezap.category.domain.Category;
import codezap.category.repository.CategoryRepository;
import codezap.category.repository.FakeCategoryRepository;
import codezap.global.DatabaseIsolation;
import codezap.global.exception.CodeZapException;
import codezap.member.domain.Member;
import codezap.member.fixture.MemberFixture;
import codezap.member.repository.FakeMemberRepository;
import codezap.member.repository.MemberRepository;
import codezap.template.repository.FakeTemplateRepository;
import codezap.template.repository.TemplateRepository;

@SpringBootTest
@DatabaseIsolation
class CategoryTemplateServiceTest {
private final CategoryRepository categoryRepository = new FakeCategoryRepository();
private final TemplateRepository templateRepository = new FakeTemplateRepository();
private final MemberRepository memberRepository = new FakeMemberRepository();

private final CategoryTemplateService categoryService =
new CategoryTemplateService(categoryRepository, templateRepository);
@Autowired
private CategoryRepository categoryRepository;

@Autowired
private MemberRepository memberRepository;

@Autowired
private CategoryTemplateService categoryService;
zangsu marked this conversation as resolved.
Show resolved Hide resolved

@Test
@DisplayName("카테고리 삭제 성공")
void deleteCategorySuccess() {
kyum-q marked this conversation as resolved.
Show resolved Hide resolved
Member member = memberRepository.save(MemberFixture.memberFixture());
categoryRepository.save(new Category("category1", member));
Category savedCategory = categoryRepository.save(new Category("category1", member));
int beforeDeleteSize = categoryRepository.findAllByMemberOrderById(member).size();

Expand All @@ -52,7 +55,7 @@ void deleteCategoryFailWithUnauthorized() {

@Test
@DisplayName("카테고리 삭제 실패: 이미 없는 카테고리")
zeus6768 marked this conversation as resolved.
Show resolved Hide resolved
void deleteCategoryFailWithNotExistCateory() {
void deleteCategoryFailWithNotExistCategory() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Nested 로 변경해주는 건 어떨까요?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

짱수가 작성한 코드는 아니지만 테스트 코드의 질을 높이기 위한 작업중이니까 의견 남기겠습니다!!
categoryService.deleteById에 대한 테스트인데 해당 테스트 코드는 deleteById가 정상적으로 동작한다는 가정하에 작성된 코드 같아요.
이미 없는 카테고리를 삭제하는 테스트보다는 애초에 없는 ID에 대한 삭제 테스트를 하는 건 어떤가요?
이전까지의 테스트 코드에서 했던 것처럼 notSavedId등을 활용해서요!

Member member = memberRepository.save(MemberFixture.memberFixture());
Category category = categoryRepository.save(new Category("category1", member));

Expand Down