일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 문제풀이
- MYSQL
- 1과목
- programmers
- 프로그래머스
- BFS
- 시나공
- 데이터베이스
- softeer
- CJ UNIT
- python
- SQL
- 코딩교육봉사
- 소프티어
- SW봉사
- 스프링
- C++
- 정보처리산업기사
- 공부일지
- 알고리즘
- java
- 자바
- 백준 알고리즘
- 코틀린
- 회고
- 백준알고리즘
- kotlin
- 파이썬
- 백준
- 코딩봉사
Archives
- Today
- Total
JIE0025
[Testcode][도메인][Entity] CategoryTest 본문
728x90
내가 해볼 수 있는 거의 모든 테스트코드를 적은 것 같다.
일단 첫번쨰는 엔티티를 검증하는 도메인테스트!
엔티티에 대해 값의 추가와 수정만 있으므로 3가지 테스트를 제작했다.
package com.FlagHome.backend.domain.category.entity;
import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.*;
import java.util.ArrayList;
public class CategoryTest {
public Category activityCategoryDepth0() {
return Category.builder()
.koreanName("활동게시판")
.englishName("Activity")
.categoryDepth(0L)
.postList(new ArrayList<>())
.build();
}
public Category algorithmCategoryDepth1() {
return Category.builder()
.koreanName("알고리즘")
.englishName("Activity")
.categoryDepth(1L)
.postList(new ArrayList<>())
.build();
}
@Test
@DisplayName("[도메인 테스트] 카테고리 생성")
void createCategoryTest(){
//given
Category category = activityCategoryDepth0();
//when, then
Assertions.assertThat(category.getKoreanName()).isEqualTo("활동게시판") ;
Assertions.assertThat(category.getEnglishName()).isEqualTo("Activity");
Assertions.assertThat(category.getPostList().size()).isEqualTo(0) ;
Assertions.assertThat(category.getParent()).isEqualTo(null);
Assertions.assertThat(category.getCategoryDepth()).isEqualTo(0L);
}
@Test
@DisplayName("[도메인 테스트] 카테고리 데이터 수정")
void updateCategoryTest(){
//given
Category category = algorithmCategoryDepth1();
category.setParent(activityCategoryDepth0());
//when
category.setKoreanName("알고리즘-코테반");
category.setEnglishName("algorithm-codetest");
//then
Assertions.assertThat(category.getKoreanName()).isEqualTo("알고리즘-코테반");
Assertions.assertThat(category.getEnglishName()).isEqualTo("algorithm-codetest");
}
@Test
@DisplayName("[도메인 테스트] 카테고리 수정 : 부모 카테고리 변경")
void updateCategoryChangeParent(){
//given
Category algorithm = algorithmCategoryDepth1();
algorithm.setParent(activityCategoryDepth0()); //원래 부모
Assertions.assertThat(algorithm.getParent().getKoreanName()).isEqualTo("활동게시판");
Assertions.assertThat(algorithm.getParent().getEnglishName()).isEqualTo("Activity");
//새 부모 생성
Category study = Category.builder()
.categoryDepth(0L)
.koreanName("스터디")
.englishName("Study")
.postList(new ArrayList<>())
.build();
//when
algorithm.setParent(study);
//then
Assertions.assertThat(algorithm.getParent().getKoreanName()).isEqualTo("스터디");
Assertions.assertThat(algorithm.getParent().getEnglishName()).isEqualTo("Study");
Assertions.assertThat(algorithm.getParent().getCategoryDepth()).isEqualTo(algorithm.getCategoryDepth() - 1);
}
}
'백엔드 > 테스트' 카테고리의 다른 글
[Testcode][슬라이스][Service] CategoryServiceTest (0) | 2023.01.09 |
---|---|
[Testcode][슬라이스][Controller] CategoryControllerTest (0) | 2023.01.09 |
[Postman][5] PUT- 카테고리 수정(컨트롤러 요청메세지 테스트) (0) | 2022.12.20 |
[현재 상황 분석] 어디가 문제일지 & 앞으로 봐야할 부분들 찾기 (0) | 2022.12.19 |
[Postman][4] Get Categories (컨트롤러 요청메세지 테스트) (0) | 2022.12.19 |