[BE-67] 단계 2 통합 · E2E 시나리오 테스트
작업 내용 (설계 의도)
근거 TDD: 20260808-지원관리-확장-tdd.md — “Testing Plan 시나리오 E2E”, “Release Scenario 2단계”
변경 사항
단계 2 완료 판정 기준(PRD Milestones: “서류 업로드→저장 경로 생성→지원 건 연결까지 1회 왕복 성공, 이력서 업로드→프로필 확정→관심 공고 1건 이상 추천도 산출 성공”)을 실 DB + 실제 파일시스템 기반 시나리오 1본으로 검증합니다.
Stage2DocumentRecommendationScenarioTest를 신설합니다. 기존 시나리오 파일을 수정하지 않습니다(Single Writer).- 실제 파일 저장을 검증합니다 — 임시 디렉토리를 저장 루트로 설정하고, 업로드 후 파일이
{root}/{문서유형}/{YYYY-MM-DD}_{제목}_v{버전}_{원본명}경로에 실제로 생성됐는지 확인합니다. - 시나리오: 이력서 업로드 → 저장 경로 확인 → 프로필 초안 → 항목 수정 → 확정 → 관심 공고 추천도 산출 → 지원 건에 서류 연결 → 새 버전 업로드 후 기존 연결 불변 확인 → 교차 목록에 추천도 노출 확인.
- 피처 플래그 전환(2-4·2-6)을 같은 테스트에서 검증합니다 — OFF일 때 409, ON 후 정상.
- 단계 1 회귀(인증·관리 상태·교차 목록)가 깨지지 않았는지 확인합니다.
의존
- BE-61, BE-62, BE-63, BE-64, BE-65, BE-66 (단계 2 전량)
다이어그램
처리 흐름
sequenceDiagram participant T as Stage2ScenarioTest participant Doc as DocumentApi participant FS as 파일시스템 participant Prof as ResumeProfileApi participant Rec as RecommendationApi participant Sub as SubmittedDocumentApi participant List as JobPostingApi T->>Doc: POST /api/documents (PDF) Doc->>FS: 파일 저장 T->>FS: 경로 규칙 검증 T->>Prof: POST /drafts → PUT 수정 → POST /confirmations T->>Rec: 관심 공고 추천도 산출 확인 T->>Sub: POST /applications/{id}/documents T->>Doc: 같은 계열에 v2 업로드 T->>Sub: 기존 연결이 v1 유지 확인 T->>List: GET /api/job-postings → recommendation 노출 확인
클래스 의존
flowchart LR subgraph Test["src/test scenario"] Scenario[Stage2DocumentRecommendationScenarioTest] Fixture[Stage2ScenarioFixtures] end subgraph Api["presentation"] DocApi[DocumentApiController] ProfApi[ResumeProfileApiController] RecApi[RecommendationApiController] SubApi[SubmittedDocumentApiController] PostApi[JobPostingApiController] end Scenario --> Fixture Scenario --> DocApi Scenario --> ProfApi Scenario --> RecApi Scenario --> SubApi Scenario --> PostApi
테스트 케이스
- 업로드부터 추천도 노출까지 전 흐름이 실 DB·실 파일시스템으로 1회 왕복 성공한다
- 업로드된 파일이 FR-82 경로 규칙대로 실제 생성된다
- 회사별 폴더가 생성되지 않는다
- 프로필 확정 즉시 관심 공고 추천도가 산출된다
- 확정 전에는 추천도가 산출되지 않는다
- 지원 건에 v1을 연결한 뒤 v2를 업로드해도 연결이 v1을 유지한다
- 교차 목록 응답에 추천도 점수·등급이 노출된다
document.upload플래그 OFF면 업로드가 409다recommendation.evaluation플래그 OFF면 재평가가 409다- 단계 1 경로(인증·관리 상태·교차 목록·대시보드)가 회귀 없이 동작한다
- 업로드 실패(용량 초과) 후 운영 조회에 이력 1건이 나타난다 (A-3)
- 원 트랜잭션 롤백에도 실패 이력이 남는다 (REQUIRES_NEW 검증)
- 테스트 종료 시 임시 저장 루트가 정리되어 잔여 파일이 0건이다