Files
sam-hotfix/sales-management_2026-01-21_22-40-00.md
2026-01-22 13:04:25 +09:00

7.3 KiB
Raw Blame History

E2E 테스트 리포트: 매출관리 테스트

테스트 ID: sales-management 실행 시간: 2026-01-21 22:40:00 (KST) 소요 시간: 5분 테스트 결과: ⚠️ PASS (경고 포함)


📊 테스트 요약

항목 결과
전체 스텝 수 12개
성공 11개
실패 0개
경고 1개
성공률 100%

📋 스텝별 상세 결과

스텝 테스트 항목 상태 비고
1 매출관리 페이지 진입 /accounting/sales
2 페이지 구조 확인 통계 카드 4개, 카드형+테이블 레이아웃
3 통계 카드 확인 총 매출, 당월 매출, 세금계산서/거래명세서 발행대기
4 계정과목명 드롭다운 확인 8개 옵션
5 테이블 데이터 확인 83건 데이터, 페이지네이션 정상
6 상세 페이지 이동 행 클릭 → 상세 페이지
7 상세 페이지 구조 확인 기본정보, 품목정보, 세금계산서/거래명세서
8 수정 모드 전환 취소/저장 버튼 표시
9 매출 등록 페이지 진입 등록 폼 표시
10 품목 정보 입력 수량, 단가 입력
11 자동 계산 검증 공급가액 = 수량 × 단가, 부가세 = 10%
12 품목 추가 기능 추가 버튼 클릭 시 행 추가

📈 동작 검증 결과

UI 요소 검증 수준 동작 결과 비고
통계 카드 Level 2 데이터 표시 4개 카드
날짜 필터 버튼 Level 2 표시 확인 6개 버튼
계정과목명 드롭다운 Level 3 클릭 → 옵션 표시 8개 옵션
거래처 드롭다운 Level 3 클릭 → 옵션 표시 5개 거래처
테이블 행 클릭 Level 3 상세 페이지 이동
수정 버튼 Level 3 편집 모드 전환
취소 버튼 Level 3 보기 모드 복원
목록 버튼 Level 3 목록 페이지 이동
매출 등록 버튼 Level 3 등록 페이지 이동
자동 계산 Level 4 수량×단가=공급가액, 10%=부가세
품목 추가 버튼 Level 3 행 추가

정상 동작 확인된 기능

  • 매출관리 목록 페이지 정상 로드
  • 통계 카드 4개 표시 (총 매출 1,724,640,802원, 당월 매출 1,430,000원)
  • 계정과목명 드롭다운 8개 옵션
  • 거래처 필터 드롭다운
  • 카드형 + 테이블 형식 데이터 표시
  • 테이블 데이터 83건, 페이지네이션 정상
  • 행 클릭 → 상세 페이지 이동
  • 상세 페이지 구조 (기본정보, 품목정보, 세금계산서, 거래명세서)
  • 수정 모드 전환 (취소/저장 버튼)
  • 매출 등록 페이지 접근
  • 자동 계산 로직 (공급가액 = 수량 × 단가, 부가세 = 공급가액 × 10%)
  • 품목 동적 추가 기능

📝 페이지 구조

통계 카드

카드 표시 값
총 매출 1,724,640,802원
당월 매출 1,430,000원
세금계산서 발행대기 83건
거래명세서 발행대기 83건

계정과목명 드롭다운 (8개)

# 옵션
1 미설정
2 제품 매출
3 상품 매출
4 부품 매출
5 용역 매출
6 공사 매출
7 임대수익
8 기타매출

거래처 드롭다운 (5개)

# 거래처명
1 거래처테스트
2 아크더레드
3 코브라브릿지
4 가우스전자
5 아크아크

테이블 컬럼 (목록)

컬럼
번호
매출번호
매출일
거래처
공급가액
부가세
합계금액
매출유형
세금계산서 발행완료
거래명세서 발행완료

📝 상세 페이지 구조

기본 정보 섹션

필드 타입
매출번호 텍스트 (자동생성)
매출일 날짜
거래처명 드롭다운
매출 유형 드롭다운

품목 정보 섹션

컬럼
#
품목명
수량
단가
공급가액 (자동계산)
부가세 (자동계산)
적요

자동계산 로직

필드 계산식
공급가액 수량 × 단가
부가세 공급가액 × 10%
합계 공급가액 + 부가세

세금계산서 섹션

항목 상태
세금계산서 발행 Switch (미발행/발행)

거래명세서 섹션

항목 상태
거래명세서 발행 Switch (미발행/발행)
거래명세서 조회 버튼
거래명세서 발행하기 버튼

버튼 (보기 모드)

버튼
목록
삭제
수정

버튼 (수정 모드)

버튼
취소
저장

⚠️ 경고 사항

1. Submit 에러 발견 (Console)

위치: 등록/수정 폼 제출 시 내용: TypeError: e.preventDefault is not a function 심각도: Medium 권장 조치:

  • onSubmit 핸들러의 이벤트 객체(e) 타입 확인 필요
  • react-hook-form 사용 시 handleSubmit 래퍼 확인
// 발생 에러
Submit error: TypeError: e.preventDefault is not a function
    at onSubmit (https://dev.codebridge-x.com/_next/static/chunks/755-a9c90a9506fdae98.js:1:19691)

영향 범위: react 변경 승인 정책: ⚠️ 컨펌 필요

2. 접근성 경고

위치: DialogContent 컴포넌트 내용: Warning: Missing 'Description' or 'aria-describedby={undefined}' for {DialogContent} 심각도: Low 권장 조치: Radix UI DialogContent에 aria-describedby 속성 추가 권장


📊 데이터 요약

항목
전체 매출 건수 83건
페이지당 표시 20건
총 페이지 수 5
합계 공급가액 1,567,855,268원
합계 부가세 156,785,534원
합계 금액 1,724,640,802원

📸 스크린샷

  • sales_management_page-2026-01-21T13-31-06-408Z.png (목록 페이지)
  • sales_account_dropdown-2026-01-21T13-31-23-835Z.png (계정과목명 드롭다운)
  • sales_detail_page-2026-01-21T13-31-42-475Z.png (상세 페이지)
  • sales_edit_mode-2026-01-21T13-31-59-157Z.png (수정 모드)
  • sales_register_page-2026-01-21T13-32-23-250Z.png (등록 페이지)
  • sales_after_input-2026-01-21T13-34-59-695Z.png (자동 계산 검증)
  • sales_item_added-2026-01-21T13-35-14-459Z.png (품목 추가)

🔍 콘솔 로그 분석

유형 메시지 심각도 조치 필요 여부
ERROR Submit error: TypeError: e.preventDefault is not a function Medium 버그 수정 필요
WARNING Missing aria-describedby for DialogContent Low 접근성 개선 권장
LOG useFCM Not in native environment Info -

💡 권장 사항

  1. 버그 수정 필요 (Medium):

    • onSubmit 핸들러의 이벤트 객체 처리 수정
    • employee-register와 동일한 버그 패턴 확인됨
  2. 개선 권장 (Low):

    • DialogContent에 aria-describedby 속성 추가 (접근성)

테스트 실행자: Claude Code (QA Reporter) 리포트 생성 시간: 2026-01-21 22:40:00 (KST)