Skip to content

[TEST] 작품 알림 변경 반영 노티피케이션 API 테스트 및 문서화 #612

Description

@ljy1348

Description

작품 완결·휴재 복귀 알림이 추가되면서 기존 알림 목록 응답이 피드 알림뿐 아니라 작품 알림도 함께 다루도록 변경되었다.

특히 GET /notifications의 알림 항목에 novelId가 추가되었고, 클라이언트는 feedIdnovelId를 기준으로 알림 클릭 시 이동 대상을 구분한다. 현재 노티피케이션 컨트롤러의 주요 API는 REST Docs/OpenAPI 문서 테스트가 없어 변경된 응답 계약과 인증·검증 오류가 Swagger에 드러나지 않는다.

노티피케이션 컨트롤러의 요청 위임과 응답 상태를 테스트하고, 운영 API 4개와 Deprecated API 2개를 REST Docs로 문서화하여 생성된 OpenAPI 명세를 검증한다. Deprecated API에는 대체 API와 기존 상태 코드 차이를 함께 안내한다.

대상 API

  • GET /notifications: 알림 목록 조회
  • GET /notifications/{notificationId}: 공지 알림 상세 조회
  • GET /notifications/status: 읽지 않은 알림 존재 여부 조회
  • PATCH /notifications/{notificationId}/read-status: 알림 읽음 처리
  • GET /notifications/unread: Deprecated 읽지 않은 알림 존재 여부 조회
  • POST /notifications/{notificationId}/read: Deprecated 알림 읽음 처리

검증 포인트

  • 컨트롤러가 인증 사용자와 요청 값을 애플리케이션 계층에 정확히 위임하는지 검증
  • 각 API의 성공 상태 코드와 응답 본문 검증
  • 목록 응답의 feedId·novelId nullable 계약 및 작품 알림 이동 정보 검증
  • 커서(lastNotificationId)와 조회 크기(size) 제약 조건 검증
  • 인증 실패, 사용자 없음, 알림 없음 등 공개 가능한 오류 응답 문서화
  • Deprecated API의 대체 경로, deprecated: true, 기존 성공 상태 코드 검증
  • REST Docs 산출물로 OpenAPI 명세를 생성하고 Swagger 노출 내용 검증

To-Do

  • 노티피케이션 컨트롤러 단위 테스트 추가
  • 운영 API 4개 REST Docs 테스트 추가
  • Deprecated API 2개 REST Docs 테스트 추가
  • OpenAPI 명세 생성 및 Swagger 스키마 검증
  • 전체 관련 테스트 통과 확인

Completion Criteria

  • 노티피케이션 API 6개의 성공 계약이 자동화 테스트로 검증된다.
  • 잘못된 파라미터와 주요 인증·도메인 오류가 OpenAPI 응답 예시에 포함된다.
  • 알림 목록 스키마에 novelId가 nullable 필드로 포함되고 feedId와의 사용 기준이 설명된다.
  • Deprecated API가 대체 API 안내와 함께 OpenAPI에 deprecated: true로 표시된다.
  • 문서 생성 태스크와 관련 테스트가 모두 통과한다.

Reference

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions