42organization / 42gg.server.dev.v2

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

✨ [Feature] 상 입력하기 API #851

Open AreSain opened 2 weeks ago

AreSain commented 2 weeks ago

Description

Request

URI

POST /agenda/team/award?agenda_id=agenda_id

Request body

{
        "awards": [
            {
             "teamName": string,
             "awardName": string,
             "awardPriority": number,
            },
            ...
        ]
}

Response

Status code

Response body

{

}

GWT

Feature: 상 입력하기

    Scenario: 팀을 수정합니다.
    Given agenda가 생성되어 있습니다.
    And 팀이 생성되어 있습니다.
    And 수정할 팀의 agenda_id를 쿼리파라미터로 받습니다.
    And 수정할 팀의 팀 키를 request body로 보냅니다.
    When 해당 팀 수정하기 요청을 받으면
    Then 팀 수정하기 요청이 성공하고 204를 반환합니다.

    Scenario: agenda가 없을 경우 생성에 실패합니다.
    Given 없는 agenda의 정보를 쿼리파라미터로 받습니다.
    When 팀 참가하기 요청을 받으면
    Then 팀 참가하기 요청이 실패하고 404 에러코드를 반환합니다. // AGENDA_NOT_FOUND 404

    Scenario: 팀의 식별키가 올바르지 않을 경우 취소에 실패합니다.
        Given agenda가 생성되어 있습니다.
        And 없는 팀의 식별 키에 대한 정보를 입력합니다.
      When 해당 팀 수정하기 요청을 받으면
    Then 팀 수정하기 요청이 실패하고 404 에러코드를 반환합니다. // TEAM_NOT_FOUND 404

    Scenario: deadline이 지난 agenda의 경우 참가에 실패합니다.
        Given agenda가 생성되어 있습니다.
    And 팀이 생성되어 있습니다.
    And deadline이 지난 agenda의 정보를 쿼리파라미터로 받습니다.
    And 수정할 팀의 팀 키를 request body로 보냅니다.
      When 해당 팀 수정하기 요청을 받으면
    Then 팀 수정하기 요청이 실패하고 400 에러코드를 반환합니다. // AGENDA_NOT_OPEN 400 -- 논의

    Scenario: Location 제한과 다를 경우 생성에 실패합니다.
    Given agenda가 생성되어 있습니다.
    And 팀이 생성되어 있습니다.
    And 팀에 참가할 agenda_id를 쿼리파라미터로 받습니다.
    And agenda조건에 맞지 않는 Location을 보냅니다.
    When 팀 참가하기 요청을 받으면
    Then 팀 참가하기 요청이 실패하고 400 에러코드를 반환합니다. // LOCATION_NOT_VALID 400

    Scenario: 중복된 팀 이름이 있을 경우 생성에 실패합니다.
    Given agenda가 생성되어 있습니다.
      And 팀을 생성할 agenda_id를 쿼리파라미터로 받습니다.
    And 팀이 생성되어 있습니다.
    And 중복된 이름으로 팀을 생성합니다.
    When 팀 만들기 요청을 받으면
    Then 팀 만들기 요청이 실패하고 409 에러코드를 반환합니다. // TEAM_NAME_EXIST 409

Todo

ETC

No response