주요 변경사항: - CLAUDE.md: 프로젝트 규칙 v2.0으로 업데이트, 아키텍처 명확화 - 불필요한 문서 제거: NEXT_TASKS.md, TEST_PROGRESS.md, test_results 파일들 - 테스트 시스템 개선: 실제 API 테스트 스위트 추가 (15개 새 테스트 파일) - License 관리: DTO 모델 개선, API 응답 처리 최적화 - 에러 처리: Interceptor 로직 강화, 상세 로깅 추가 - Company/User/Warehouse 테스트: 자동화 테스트 안정성 향상 - Phone Utils: 전화번호 포맷팅 로직 개선 - Overview Controller: 대시보드 데이터 로딩 최적화 - Analysis Options: Flutter 린트 규칙 추가 테스트 개선: - company_real_api_test.dart: 실제 API 회사 관리 테스트 - equipment_in/out_real_api_test.dart: 장비 입출고 API 테스트 - license_real_api_test.dart: 라이선스 관리 API 테스트 - user_real_api_test.dart: 사용자 관리 API 테스트 - warehouse_location_real_api_test.dart: 창고 위치 API 테스트 - filter_sort_test.dart: 필터링/정렬 기능 테스트 - pagination_test.dart: 페이지네이션 테스트 - interactive_search_test.dart: 검색 기능 테스트 - overview_dashboard_test.dart: 대시보드 통합 테스트 코드 품질: - 모든 서비스에 에러 처리 강화 - DTO 모델 null safety 개선 - 테스트 커버리지 확대 - 불필요한 로그 파일 제거로 리포지토리 정리 Co-Authored-By: Claude <noreply@anthropic.com>
127 lines
5.0 KiB
Markdown
127 lines
5.0 KiB
Markdown
# 라이센스 화면 API 로깅 테스트 가이드
|
|
|
|
## 🚀 실행 방법
|
|
|
|
```bash
|
|
# Chrome 브라우저로 실행
|
|
flutter run -d chrome
|
|
```
|
|
|
|
## 📌 로그인 정보
|
|
- **계정**: admin@superport.kr
|
|
- **비밀번호**: admin123!
|
|
|
|
## 🔍 터미널에서 확인할 로그
|
|
|
|
### 1. 화면 초기화 시
|
|
```
|
|
========== 라이센스 화면 초기화 ==========
|
|
📌 USE_API 설정값: true
|
|
📌 API Base URL: http://43.201.34.104:8080/api/v1
|
|
📌 Controller 모드: Real API
|
|
==========================================
|
|
```
|
|
|
|
### 2. API 요청 시 (Request)
|
|
```
|
|
╔════════════════════════════════════════════════════════════
|
|
║ 📤 LICENSE API REQUEST
|
|
╟────────────────────────────────────────────────────────────
|
|
║ Endpoint: GET /licenses
|
|
║ Parameters:
|
|
║ - page: 1
|
|
║ - perPage: 20
|
|
║ - isActive: true (필터 적용 시)
|
|
║ - companyId: 78 (회사 필터 적용 시)
|
|
╚════════════════════════════════════════════════════════════
|
|
```
|
|
|
|
### 3. API 응답 시 (Response)
|
|
```
|
|
╔════════════════════════════════════════════════════════════
|
|
║ 📥 LICENSE API RESPONSE
|
|
╟────────────────────────────────────────────────────────────
|
|
║ Status: SUCCESS
|
|
║ Total Items: 19
|
|
║ Current Page: 1
|
|
║ Total Pages: 1
|
|
║ Returned Items: 19
|
|
║ Sample Data:
|
|
║ - ID: 20
|
|
║ - Product: TeamViewer Business
|
|
║ - Company: 한국물류창고(주)
|
|
╚════════════════════════════════════════════════════════════
|
|
```
|
|
|
|
### 4. LoggingInterceptor 로그 (자동)
|
|
```
|
|
╔════════════════════════════════════════════════════════════
|
|
║ REQUEST [2025-08-07T15:27:54.050596]
|
|
╟────────────────────────────────────────────────────────────
|
|
║ GET http://43.201.34.104:8080/api/v1/licenses
|
|
╟────────────────────────────────────────────────────────────
|
|
║ Headers:
|
|
║ Content-Type: application/json
|
|
║ Accept: application/json
|
|
║ Authorization: Bearer eyJ0eXAiOi...
|
|
╚════════════════════════════════════════════════════════════
|
|
|
|
╔════════════════════════════════════════════════════════════
|
|
║ RESPONSE
|
|
╟────────────────────────────────────────────────────────────
|
|
║ GET http://43.201.34.104:8080/api/v1/licenses
|
|
║ Status: 200 OK
|
|
║ Duration: 54ms
|
|
║ Response Body:
|
|
║ {
|
|
║ "success": true,
|
|
║ "data": [
|
|
║ ...
|
|
║ ]
|
|
║ }
|
|
╚════════════════════════════════════════════════════════════
|
|
```
|
|
|
|
## 🎯 테스트 시나리오
|
|
|
|
1. **앱 실행 후 로그인**
|
|
- 터미널에서 로그인 요청/응답 확인
|
|
|
|
2. **라이센스 관리 메뉴 클릭**
|
|
- 화면 초기화 로그 확인
|
|
- 라이센스 목록 조회 API 로그 확인
|
|
|
|
3. **필터 적용 (회사, 상태 등)**
|
|
- 필터 파라미터가 포함된 API 요청 확인
|
|
- ⚠️ 백엔드가 필터를 무시하면 전체 데이터 반환
|
|
|
|
4. **라이센스 추가**
|
|
- POST /licenses 요청 로그 확인
|
|
- 생성된 라이센스 정보 응답 확인
|
|
|
|
5. **페이지네이션**
|
|
- page 파라미터 변경 확인
|
|
|
|
## 📊 로그 레벨
|
|
|
|
- **🔵 INFO**: 일반 정보 (파란색)
|
|
- **🟡 WARNING**: 경고 (노란색)
|
|
- **🔴 ERROR**: 오류 (빨간색)
|
|
- **🟢 SUCCESS**: 성공 (녹색)
|
|
|
|
## 🔧 로그 비활성화
|
|
|
|
`.env.development` 파일에서:
|
|
```env
|
|
ENABLE_LOGGING=false # 로그 비활성화
|
|
```
|
|
|
|
## 💡 디버깅 팁
|
|
|
|
1. **Chrome DevTools 열기**: F12
|
|
2. **Console 탭에서도 로그 확인 가능**
|
|
3. **Network 탭에서 실제 API 요청/응답 확인**
|
|
|
|
---
|
|
|
|
이제 `flutter run -d chrome`으로 실행하면 터미널에서 모든 API 요청/응답을 실시간으로 확인할 수 있습니다! |