6. 테스트 케이스 결과 - be14-fin-Clover-Salad/be14-fin-Clover-Salad-BE GitHub Wiki

테스트케이스 결과

ApprovalCommandServiceImplTest.java

  • 결재처리_승인_성공
  • 결재_요청_생성
  • 결재처리_반려_성공

ApprovalQueryServiceImplTest.java

  • 권한_없음_예외_발생
  • 팀장_권한으로_결재목록_조회
  • 관리자_권한으로_결재목록_조회
  • 사원_권한으로_결재목록_조회

AuthControllerTest.java

  • 로그아웃_성공
  • 리프레시_토큰_재발급_성공
  • 리프레시_토큰_없으면_예외

AuthServiceImplTest.java

  • 아이디로_유저정보_조회_성공
  • 아이디로_사번_조회_성공

ConsultQueryServiceImplTest.java

  • 상담_전체_조회
  • 상담_검색
  • 내_상담_조회
  • 상담_단건_조회_내역_없음
  • 상담_단건_조회

ConsultationCommandServiceImplTest.java

  • 상담_수정_내역_없음
  • 상담_삭제_내역_없음
  • 상담_생성_이름_연락처_누락
  • 상담_생성_성공
  • 상담_수정_성공

ContractService 단위 테스트.java

  • markContractDeleted 계약 없으면 예외
  • markContractDeleted는 상태 변경 후 반환
  • updateEtcOnly 계약 없으면 예외 발생
  • validate는 존재하지 않는 상품이면 예외 발생
  • deleteContract는 삭제 플래그 설정 후 DTO 반환
  • getNextVersion는 히스토리 조회 후 버전 +1 반환
  • 신규 고객 등록 후 계약 저장 정상 처리
  • 기존 고객 있을 때 고객 업데이트 후 계약 저장
  • updateEtcOnly는 etc 필드 업데이트 후 DTO 반환
  • deleteContract 계약 없으면 예외 발생

ContractServiceImplTest.java

  • findContractInfo: 직원 ID로 계약 리스트 조회 - 정상 케이스
  • searchContracts: 일반 사용자일 경우 본인 employeeId 설정 후 검색 호출
  • getCustomerIdsByEmployee: 직원별 고객 ID 리스트 조회 - 정상
  • contractValidationById: 계약 존재 여부 확인 - true 반환
  • findDetailInfo: 계약 상세 정보 조회 - 정상
  • contractValidationById: 계약 존재하지 않을 경우 false 반환
  • searchContracts: ROLE_ADMIN인 경우 admin 전용 검색 호출
  • searchContracts: ROLE_MANAGER인 경우 workplace 설정 후 검색 호출

ContractUploadFacade 단위 테스트.java

  • 계약 업로드 중 파싱 실패 시 예외 발생 및 롤백
  • 기존 계약 재업로드 정상 처리
  • 기존 계약 재업로드 중 신규 계약 등록 실패 시 예외 발생 및 롤백
  • 신규 계약 업로드 정상 처리 - Happy Path

CustomerCommandServiceImplTest.java

  • 고객_수정
  • 기존_고객일_경우_수정
  • 신규_고객_등록

CustomerQueryServiceImplTest.java

  • 고객_단건_조회_ADMIN
  • 내_고객_조회_성공
  • 내_고객_조회_실패_고객없음

DefaultTemplateParser 단위 테스트.java

  • 날짜 형식이 비표준일 때는 날짜 필드가 null일 수 있음
  • 상품 정보가 없는 경우 빈 리스트 반환 확인
  • 멀티라인 상품 정보 정상 파싱 테스트
  • 일부 필드 누락된 텍스트 처리 확인
  • 표준 계약서 텍스트를 기반으로 정상 파싱 테스트

EmployeeCommandServiceImplTest.java

  • 비밀번호_재설정_성공
  • 비밀번호_변경_성공
  • 사원정보_수정_이메일형식_오류_예외발생
  • 프로필_경로_수정_성공
  • 비밀번호_변경_현재비밀번호_불일치_예외
  • 사원정보_수정_성공
  • 프로필_파일ID_수정_성공

EmployeeQueryServiceImplTest.java

  • 상세정보_조회
  • 마이페이지_정보_조회_성공
  • 사번_조회
  • 로그인_헤더_정보_조회
  • 사원_리스트_검색
  • 하위부서포함_사원조회
  • 이름_조회

FileUploadService 서비스 계층 단위 테스트.java

  • 파일 업로드에서 IOException 발생 시 예외
  • 직접 파일 업로드 및 DB 저장
  • S3 파일 삭제시 S3Uploader 호출
  • 파일 업로드 및 DB 저장

GoalQueryServiceImplTest.java

  • testSearchYearGoalByCurrentGoal
  • testSearchGoalByDepartmentId
  • testSearchDefaultGoalByLevelAndTargetYear
  • testSearchGoalByEmployeeId

LocalFileStorageService 서비스 단위 테스트.java

  • 존재하지 않는 타입 전달 시 Enum 예외
  • 파일 전송 실패 시 IOException 예외
  • 멀티파트 파일 저장/DB 저장 정상 동작

NotificationCommandServiceImplTest.java

  • 알림_소프트_딜리트
  • 알림_생성_후_SSE로_전송
  • 자신의_알림이_아닌_경우_읽음_예외_발생
  • 여러_알림_읽음_처리
  • 알림_일음_처리

NotificationQueryServiceImplTest.java

  • 읽지_않은_알림_전체_조회
  • 전체_알림_목록_페이지_조회

NotificationTokenServiceImplTest.java

  • 존재하지_않는_토큰_null_반환
  • 토큰으로_사원id_복원_후_삭제
  • 토큰_발급_후_레디스_저장

PdfContractParserService 단위 테스트.java

  • parsePdf 호출 시 router와 strategy 호출 확인

PdfParsingStrategyRouter 단위 테스트.java

  • 존재하지 않는 templateId로 호출 시 예외가 발생
  • getStrategy는 등록된 전략을 반환
  • init 호출 시 DefaultTemplateParser가 templateId=1에 등록

PdfThumbnailService 서비스 단위 테스트.java

  • 썸네일 바이트를 S3에 정상 업로드 후 키 반환
  • uploadThumbnailToS3에서 잘못된 URL 형식 예외 발생
  • 잘못된 URL 형식 전달 시 IOException 예외
  • S3 putObject 예외 발생 시 IOException 예외
  • S3 예외 발생 시 IOException 발생

PerformanceCommandServiceImplTest.java

  • testRefreshEmployeePerformance_EmployeeNotFound
  • testRefreshEmployeePerformance_Success
  • testRefreshDepartmentPerformance_NewInsert
  • testRefreshDepartmentPerformance_UpdateExistingPerformance

PerformanceQueryServiceImplTest.java

  • testGetDayOfMonth_Last
  • testSearchProductPerformanceByProductCode
  • testSearchEmployeePerformanceByEmployeeCode_NotFound
  • testSearchEmployeePerformanceByEmployeeCode_Success
  • testSearchEmployeePerformanceByTargetDateAndDepartmentId
  • testGetDayOfMonth_First
  • testSearchDepartmentPerformanceByDepartmentName

ProductCommandServiceImplTest.java

  • testDeleteProduct_NotAdmin_ShouldThrow
  • testUpdateProduct_Success
  • testRegisterProduct_Success
  • testUpdateProduct_NotAdmin_ShouldThrow
  • testUploadProductImage_Success
  • testDeleteProduct_Success

ProductQueryServiceImplTest.java

  • testSearchProductList
  • testSearchProductById_Found
  • testSearchProductById_NotFound

S3PathResolver 서비스 단위 테스트.java

  • PRODUCT 타입에 대해 prefix가 product/ 로 시작
  • PROFILE 타입에 대해 prefix가 employee/ 로 시작
  • DOCUMENT_TEMPLATE 타입에 대해 prefix가 contractTemplate/ 로 시작
  • CONTRACT 타입에 대해 prefix가 contract/ 로 시작

S3Uploader 서비스 단위 테스트.java

  • S3 삭제 성공 시 deleteObject 정상 호출
  • S3 삭제 중 S3Exception 발생 시 로그 경고 후 예외 무시
  • 파일 업로드 성공 시 S3 URL 반환
  • 파일 업로드 중 S3Exception 발생 시 RuntimeException 예외 발생

SaladApplicationTests.java

  • contextLoads

SalesCommandServiceImplTest.java

  • 매출_등록_성공
  • 매출_등록_실패_계약없음
  • 매출_삭제_실패_존재하지않는ID
  • 매출_삭제_성공

SalesDashboardQueryServiceImplTest.java

  • 분기별_매출_추이_조회
  • 전체_매출_조회_기간_전월
  • 팀별_매출_총액_조회_연단위
  • 팀별_매출_총액_조회_월단위
  • 팀별_매출_총액_조회_분기단위
  • 분기별_매출_비중_조회
  • 연도별_매출_추이_조회
  • 전체_매출_조회_기간_월
  • 팀별_매출_비중_조회_기간_연
  • 팀별_매출_비중_조회_연단위
  • 팀별_매출_비중_조회_월단위
  • 팀별_매출_비중_조회_분기단위
  • 월별_매출_추이_조회

SalesQueryServiceImplTest.java

  • 매출_조건_검색_성공

SseEmitterManagerTest.java

  • 연결된_사용자에게_알림_전송
  • 연결되지_않은_사용자의_알림을_버퍼에_보관
  • 연결_성공_시_이벤트_전송

계약서 원본 서비스 계층 테스트.java

  • 임시 파일이 존재하지 않으면 예외 처리
  • 롤백 시 S3 삭제와 DB 삭제가 호출
  • 기본 템플릿이 없으면 예외 발생
  • 파일 업로드 후 DocumentOrigin 저장 테스트
  • 롤백 대상이 null 이거나 FileUpload가 null이면 동작 안함

공지사항 Command 서비스 계층 테스트.java

  • 공지사항_수정 _성공
  • 공지사항_삭제 _성공
  • 공지사항_확인_성공
  • 공지사항_생성 _성공

공지사항 Query 서비스 계층 테스트.java

  • 공지사항_상세보기_조회_성공
  • 공지사항_리스트_조회_성공

문의사항 Command 서비스 계층 테스트.java

  • 문의사항_답변_수정_성공
  • 문의사항_삭제_성공
  • 문의사항_생성_성공
  • 문의사항_답변_성공

문의사항 Query 서비스 계층 테스트.java

  • 문의사항_상세보기_조회_성공
  • 문의사항_리스트_조회_성공

실적 목표 서비스 계층 테스트.java

  • testRegisterGoalSuccess
  • testChangeGoalUserNotFound
  • testDeleteGoalNoAdmin