42organization / 42gg.server.dev.v2

42GG, 42 Seoul 카뎃들을 위한 탁구 게임 매칭 서비스 🏓
https://gg.42seoul.kr/
10 stars 7 forks source link

✨ [Feature] 개인 페이지 수정하기(어드민) API #856

Open kimjieun0301 opened 2 weeks ago

kimjieun0301 commented 2 weeks ago

Description

Request

URI

PATCH /agenda/admin/profile?user=intra_id

Request body

{
    "userContent": ?string,
    "userGithub": ?string,
    "userLocation" : ?string, // 혹시나 서울/경산 이외 들어울 경우 예외처리
    "userProfilePic": ?string, // picture url
}

Response

Status code

Response body

{}

GWT

Feature: 개인 프로필 페이지를 수정합니다.

      Scenario: 개인 프로필 정보를 수정합니다.
        Given admin 페이지에 접속되어 있습니다.
        And 수정할 사용자의 intra_id을 쿼리파라미터로 전달합니다.
        And 수정하고 싶은 정보를 입력합니다.
        When 개인 프로필 정보 수정 요청을 보냅니다.
        Then 200 코드와 함께 빈 응답을 반환합니다.

      Scenario: ENUM 이외의 지역 정보가 들어온 경우 수정에 실패합니다.
        Given admin 페이지에 접속되어 있습니다.
        And userLocation 필드에 ENUM 이외의 값이 입력됩니다.
        When 개인 프로필 정보 수정 요청을 보냅니다.
        Then 개인 프로필 정보 수정이 실패하고 400 에러코드를 반환합니다.

      Scenario: 관리자가 아닌 사용자가 개인 프로필 정보를 수정하려는 경우
        Given admin 페이지에 접속되어 있습니다.
        And 관리자가 아닌 사용자가 개인 프로필 정보 수정 요청을 보냅니다.
        When 개인 프로필 정보 수정 요청을 받으면
        Then 개인 프로필 정보 수정이 실패하고 401 에러코드를 반환합니다. // UNAUTHORIZED 401

      Scenario: userContent가 없는 경우 수정에 실패합니다.
        Given admin 페이지에 접속되어 있습니다.
        And userContent 필드가 비어 있습니다.
        When 개인 프로필 정보 수정 요청을 보냅니다.
        Then 개인 프로필 정보 수정이 실패하고 404 에러코드를 반환합니다.

      Scenario: userGithub가 없는 경우 수정에 실패합니다.
        Given admin 페이지에 접속되어 있습니다.
        And userGithub 필드가 비어 있습니다.
        When 개인 프로필 정보 수정 요청을 보냅니다.
        Then 개인 프로필 정보 수정이 실패하고 404 에러코드를 반환합니다.

      Scenario: userProfilePic이 없는 경우 수정에 실패합니다.
        Given admin 페이지에 접속되어 있습니다.
        And userProfilePic 필드가 비어 있습니다.
        When 개인 프로필 정보 수정 요청을 보냅니다.
        Then 개인 프로필 정보 수정이 실패하고 404 에러코드를 반환합니다.

        Scenario: 잘못된 형식의 userGithub로 개인 프로필을 변경합니다.
        Given 잘못된 형식의 userGithub 값이 제공됩니다.
        When 개인 프로필 변경 요청을 보냅니다.
        Then 400 코드와 함께 잘못된 요청이라는 에러 메시지를 반환합니다.

      Scenario: userContent가 허용된 길이를 초과하여 개인 프로필을 변경합니다.
        Given userContent 값이 허용된 길이를 초과합니다.
        When 개인 프로필 변경 요청을 보냅니다.
        Then 400 코드와 함께 userContent의 길이가 허용된 범위를 초과함이라는 에러 메시지를 반환합니다.

      Scenario: userGithub가 허용된 길이를 초과하여 개인 프로필을 변경합니다.
        Given userGithub 값이 허용된 길이를 초과합니다.
        When 개인 프로필 변경 요청을 보냅니다.
        Then 400 코드와 함께 userGithub의 길이가 허용된 범위를 초과함이라는 에러 메시지를 반환합니다.

Todo

ETC

No response