⭐ 목차 ⭐

385252959-121ff619-5adf-49ca-8128-5d677da23bc6.png

🌐 API


API Response


*API Response는 Java Record를 사용하였습니다. 해당 Response는 템플릿을 이용하여 각 엔티티 도메인을 사용할 수 있도록 하였습니다.*

<aside> ✅ 메디투게더 BE의 API 예시

{
  "status": true,
  "message": "예약이 접수되었습니다",
  "data": {
    "reservationId": 6,
    "managerId": 19,
    "departureLocation": "부산 강서구 가덕해안로 3",
    "arrivalLocation": "부치과의원",
    "reservationDateTime": "2024-11-09T21:52:00",
    "serviceType": "전문동행",
    "transportation": "대중교통",
    "price": 20000,
    "reservationStatus": "보류",
    "patient": {
      "name": "이창욱",
      "phoneNumber": "01012345678",
      "patientGender": "남성",
      "patientRelation": "기타",
      "birthDate": "1979-02-02",
      "nokPhone": "01012345678"
    }
  }
}

</aside>

기능별 테스트 시나리오


시나리오 테이블

기능 설명 목적 : 에러 상황 혹은 기능 확인 로그인 필수 화면
👤 로그인 로그인
• 기존 사용자가 로그인하는 경우에 올바르게 처리를 하는가
• 새 사용자를 등록하는 경우 올바르게 처리하는가 로그인
👤 로그아웃 로그아웃 • 만료된 Refresh 토큰 요청 시 예외가 발생하는가
• 잘못된 형식의 Refresh 토큰 요청 시 예외가 발생하는가
• 잘못된 서명의 Refresh 토큰 요청 시 예외가 발생하는가
• 존재하지 않는 Refresh 토큰 요청 시 예외가 발생하는가
• 유효한 로그아웃 요청시 성공하는가
👤 토큰 재발급 토큰 재발급 • 새로운 리프레시 토큰을 올바르게 생성하는가
• 유효하지 않은 토큰 카테고리일 때 예외를 발생하는가
• 존재하지 않는 리프레시 토큰일 때 예외 발생하는가
• 리프레시 토큰을 삭제하는가
• 만료된 토큰일 때 예외를 발생하는가
• 리프레시 토큰 존재 여부 확인하는가
🧑 회원 탈퇴(삭제) 회원 탈퇴 • 회원이 존재하지 않을 때 예외를 발생하는가
• 저장소에서 회원이 정상적으로 삭제되었는가 메인 화면 > 회원탈퇴
🧑 회원 역할 조회 회원 역할 조회
(유저, 매니저) • 회원이 존재하지 않을 때 예외를 발생하는가
• 회원의 역할을 제대로 조회하는가
🧑 회원 상태 조회 회원 상태 조회
(유저, 매니저, 매니저 승인 대기중) • 회원이 존재하지 않을 때 예외를 발생하는가
• 회원의 상태를 제대로 조회하는 가
💳 빌링키 발급 빌링키 발급 • 이미 빌링키가 존재하는 경우
• 사용자 정보가 없는 경우
• encData가 유효하지 않은 경우 예약 > 결제 > 카드 추가 화면
💳 빌링키 삭제 빌링키 삭제 • 빌링키가 없는 경우
• 빌링키 삭제 실패
• 필수 필드 누락 예약 > 결제 화면
💳 빌링키 존재 유무 확인 사용자의 빌링키 존재 유무를 확인 • 사용자 정보가 없는 경우 예약 > 결제 화면
💳 결제 요청 결제 요청 • 빌링키가 없는 경우
• 사용자 정보가 없는 경우
• 예약 정보가 유효하지 않은 경우
• 결제 처리 실패
• 필수 필드 누락 예약 > 결제 화면
💳 결제 취소 결제 취소 • 결제 정보가 없는 경우
• 결제 정보와 사용자 정보가 일치하지 않는 경우
• 결제 취소 처리 실패
• 필수 필드 누락
💳 단일 결제정보 조회 특정 결제 정보를 조회 • 결제 정보가 없는 경우
💳 해당 유저의 결제정보 목록 조회 사용자의 결제 내역을 조회 • 사용자 정보가 없는 경우
💳 해당 예약의 결제정보 목록 조회 특정 예약의 결제정보 목록 조회 • 예약 정보가 없는 경우
✅ 동행 예약 신청 예약 정보, 매니저 정보 및 회원 정보 입력을 통해 예약 작성 • 환자명이 비어있는 경우
• 환자 연락처가 비어 있는 경우
• 환자 성별이 비어 있는 경우
• 환자 관계가 비어 있지 경우
• 환자 생년월일이 비어 있는 경우
• 보호자 연락처가 비어있는 경우
• 예약 출발지가 빈 값인 경우
• 예약 도착지가 빈 값인 경우
• 예약 시간이 비어 있는 경우
• 예약 서비스 타입이 유효하지 않은 값인 경우
• 예약 이동 수단이 유효하지 않은 값인 경우
• 예약 비용이 유효하지 않은 경우
예약 화면
✅ 사용자 예약 조회 사용자가 본인의 예약 정보를 조회 • 사용자의 예약 번호가 아닌 번호로 조회를 시도한 경우
• 로그인을 하지 않아 사용자 정보가 없는 경우
• 해당 ID로 생성된 예약이 없는 경우 메인 화면 > 예약 현황
✅ 예약 취소 사용자 또는 매니저가 예약을 취소 • 사용자의 UUID가 유효하지 않은경우
• 전달받은 예약 ID가 유효하지 않은 경우
• 이미 예약이 취소되어 있는 상태인 경우 예약 현황 > 취소 요청
✅ 담당 매니저의 예약 조회 매니저 앞으로 된 전체 예약 조회 • 로그인된 사용자가 아직 정식 매니저가 아닌 경우 예약 현황
✅ 담당 매니저의 예약 상태 변경 매니저가 원하는 예약의 상태를 변경 • 입력 예약 상태가 유효하지 않은 값인 경우
• 예약 ID가 유효하지 않은 경우 예약 현황 > 예약 수락 / 취소
📋 매니저의 리포트 작성 환자의 동행 서비스가 끝난 뒤 보호자 및 사용자가 볼 수 있도록 리포트를 작성 • 예약 ID가 유효하지 않은 경우
• 의사 소견 상세 사항이 없는 경우
• 복약 시간이 유효하지 않은 경우
• 유효하지 않은 복약 지도의 경우
예약 현황 > 동행 완료 > 리포트 작성
📋 매니저 또는 사용자의 리포트 조회 해당 예약의 리포트를 조회 • 예약에 리포트가 없는 경우 예약 현황 > 리포트 확인
⏰ 매니저의 실시간 현황 작성 매니저가 환자의 실시간 상태를 기록 • 유효하지 않은 동행 상태가 입력될 경우
• 날짜 정보가 없는 경우
• 기록 사항이 없는 경우
• 예약 ID가 유효하지 않은 경우 동행 현황
⏰ 실시간 현황 조회 보호자 또는 매니저가 실시간 상태를 조회 • 예약 ID가 유효하지 않은 경우 동행 현황