[BE-11] E2E 시나리오 테스트 (파트너 등록 → 키 발급 → 경유 등록 → 권한·감사)

작업 내용 (설계 의도)

변경 사항

근거 TDD: ../TDD.md “Testing Plan” scenario. PRD User Scenario 전 흐름을 실 구동으로 검증하는 통합 게이트(신규 테스트 파일만, 프로덕션 코드 무변경).

  • scenario 레벨 Kotest — TestContainers(MySQL) + MockMvc/WebTestClient. partner.auth.enabled=true.
    • 운영자(ADMIN)가 Partner 등록 → plainApiKey 획득.
    • plainApiKey로 POST /api/goods-seller/products → 201, owner_id=연동 User 확인.
    • plainApiKey로 POST /api/event-host/events → 201, 좌석 생성 확인.
    • 잘못된 카테고리 상품 등록 → 400.
    • 파트너 A 키로 파트너 B 상품 수정 → 404(OwnershipGuard).
    • 재발급 후 구 키 요청 → 401, 신규 키 → 201.
    • SUSPENDED 전환 후 등록 → 403.
    • 신규 파트너 GET /api/goods-seller/products → 빈 목록.
    • 등록 요청 후 partner_audit_log 적재 확인(커버리지).

의존

  • BE-09, BE-10

다이어그램

처리 흐름

sequenceDiagram
    participant A as Admin
    participant Api as PartnerAdminApi
    participant P as Partner Client
    participant G as GoodsSeller(기존)
    A->>Api: POST /api/admin/partners
    Api-->>A: plainApiKey
    P->>G: POST /products (Bearer partner_..)
    G-->>P: 201 owner=연동User
    A->>Api: PATCH /status SUSPENDED
    P->>G: POST /products
    G-->>P: 403

테스트 케이스

  • 파트너 등록→키 발급→상품 등록 해피 패스에서 owner_id가 연동 User와 일치한다.
  • API Key로 이벤트 등록 시 이벤트·좌석이 생성된다.
  • 무효 카테고리 상품 등록은 400을 반환한다.
  • 파트너 A가 파트너 B 리소스 수정 시 404를 반환한다.
  • 폐기된 키 요청은 401, 재발급 키 요청은 201을 반환한다.
  • SUSPENDED 파트너 등록 요청은 403을 반환한다.
  • 신규 파트너 등록 이력 조회는 빈 목록을 반환한다.
  • 등록 성공·실패 요청 모두 partner_audit_log에 적재된다(누락 0건).