kookmin-sw / capstone-2023-05

capstone-2023-05 created by GitHub Classroom
https://capstone-2023-05.vercel.app
0 stars 0 forks source link

Back/feat/broadcast round #69

Closed seungholee-dev closed 1 year ago

seungholee-dev commented 1 year ago

추가 기능

테스팅 방법

테스트 결과

initJoin한 모든 멤버에게 현재 라운드가 전파되는지 확인해주세요.

{
    "action": "getCurrentRound",
    "battleId": "ABC123",
    "currentRound": [
        {
            "battleId": "ABC123",
            "roundNo": 3,
            "startTime": "2023-05-19 14:55:49.177292",
            "endTime": null,
            "description": "Initial round"
        }
    ]
}
Binsk-dev commented 1 year ago

테스트 결과 위와 같은 형식으로 결과가 오지 않고 아래처럼 나옵니다. image

startRound 액션을 요청했을 때, 응답이 2개가 오는데 맞는 건가요? 그리고 응답으로 오는 json 필드 중에 currentRound 값이 빈 리스트인데 어떻게 된걸까요???

Jaewook-Lee commented 1 year ago

@Binsk-dev

startRound 액션을 요청했을 때, 응답이 2개가 오는데 맞는 건가요?

네 맞아요! Host는 2개의 응답이 와요. 1개는 요청이 제대로 수행되었다고 알리는 응답이 오는데 이는 Host에게만 보내지는 응답입니다.
나머지 1개는 참여자 모두에게 보내지는 응답으로 현재 본인이 속해 있는 라운드에 대한 정보를 담은 응답입니다.

응답으로 오는 json 필드 중에 currentRound 값이 빈 리스트인데 어떻게 된걸까요???

그러게요??? 전 테스트할 때 겪어보지 못 한 경우라 모르겠어요..

Binsk-dev commented 1 year ago

아 아마도 제가 DB인스턴스를 생성할 때, Opinion 테이블에 새로 추가된 publishTime, dropTime 필드가 반영되지 않은 인스턴스를 써서 생긴문제라고 생각 중입니다. 테스트해보고 결과 알려드릴게요

Binsk-dev commented 1 year ago

음... 다시 테스트하는데 뭔가 오류도 발생하지 않는데 여전히 빈 리스트가 등장하네요

Jaewook-Lee commented 1 year ago

@Binsk-dev Round 테이블에서 roundNo가 1인 row의 startTime과 endTime을 임의로 작성하고 요청을 하면 빈 리스트를 돌려주는 상황이 생겼습니다.
_get_currentround 함수에서 현재 진행 중인 라운드를 찾는 query문이 SELECT * FROM \"Round\" WHERE \"battleId\"=\'{battle_id}\' AND \"endTime\" IS NULL AND \"startTime\" IS NOT NULL ORDER BY \"roundNo\" DESC LIMIT 1; 로 작성돼있어요. Round 테이블에서 이 조건을 만족하는 row가 존재하지 않으면 빈 리스트를 돌려주네요.
혹시 이러한 원인일 수 있을 것 같아 올립니다. Round 테이블에서 time 값들 확인해보시겠어요?

Binsk-dev commented 1 year ago

오오//! 성공했습니다! 굿~