Merge branch 'feature/chat-by-nickname' into develop
Showing
3 changed files
with
8 additions
and
4 deletions
... | @@ -37,7 +37,7 @@ | ... | @@ -37,7 +37,7 @@ |
37 | 37 | ||
38 | 해당 메세지에는 변화된 유저를 특정하기 위한 `username`이 포함되어 있고, 그 유저의 닉네임인 `nickname`, 방장 여부인 `admin`, 준비 여부인 `ready`를 포함하고 있습니다. | 38 | 해당 메세지에는 변화된 유저를 특정하기 위한 `username`이 포함되어 있고, 그 유저의 닉네임인 `nickname`, 방장 여부인 `admin`, 준비 여부인 `ready`를 포함하고 있습니다. |
39 | 39 | ||
40 | -유저가 채팅을 입력했다면 `chat`을 보내면 됩니다. 다른 사람이 채팅을 입력한 경우에도 `chat`이 수신됩니다(`ServerInboundMessage<"chat">`과 `ServerOutboundMessage<"chat">`이 다르게 정의되었다는 점에 유의하세요). 자신이 보낸 채팅에 대해서는 수신되지 않으므로 이 경우 오프라인으로 메세지를 추가하여야 합니다. 채팅 문자열의 양 끝 공백을 제거했을 때 문자열이 빈 문자열이거나, 채팅 문자열의 길이가 300을 초과하는 경우 요청이 실패 처리됩니다. | 40 | +유저가 채팅을 입력했다면 `chat`을 보내면 됩니다. 다른 사람이 채팅을 입력한 경우에도 `chat`이 수신됩니다(`ServerInboundMessage<"chat">`과 `ServerOutboundMessage<"chat">`이 다르게 정의되었다는 점에 유의하세요). `sender` 속성은 채팅을 보낸 유저의 닉네임입니다. 채팅 문자열의 양 끝 공백을 제거했을 때 문자열이 빈 문자열이거나, 채팅 문자열의 길이가 300을 초과하는 경우 요청이 실패 처리됩니다. |
41 | 41 | ||
42 | 방을 나가고 싶으면 `leaveRoom`을 보내면 됩니다. | 42 | 방을 나가고 싶으면 `leaveRoom`을 보내면 됩니다. |
43 | 43 | ... | ... |
... | @@ -215,7 +215,7 @@ export class Room { | ... | @@ -215,7 +215,7 @@ export class Room { |
215 | } | 215 | } |
216 | 216 | ||
217 | public sendChat(user: User, message: string): void { | 217 | public sendChat(user: User, message: string): void { |
218 | - this.broadcast("chat", { sender: user.username, message: message }); | 218 | + this.broadcast("chat", { sender: user.nickname, message: message }); |
219 | } | 219 | } |
220 | 220 | ||
221 | private updateUserStatus(user: User) { | 221 | private updateUserStatus(user: User) { | ... | ... |
... | @@ -27,7 +27,7 @@ describe("채팅", () => { | ... | @@ -27,7 +27,7 @@ describe("채팅", () => { |
27 | } = prepareJoinedRoom(1); | 27 | } = prepareJoinedRoom(1); |
28 | socket.testOk("chat", { message: "Hello World" }); | 28 | socket.testOk("chat", { message: "Hello World" }); |
29 | }); | 29 | }); |
30 | - it("자신을 제외한 다른 사람들이 채팅을 받습니다", () => { | 30 | + it("모두가 채팅을 받습니다", () => { |
31 | const { | 31 | const { |
32 | sockets: [socket1, socket2], | 32 | sockets: [socket1, socket2], |
33 | users: [user1, user2], | 33 | users: [user1, user2], |
... | @@ -35,9 +35,13 @@ describe("채팅", () => { | ... | @@ -35,9 +35,13 @@ describe("채팅", () => { |
35 | 35 | ||
36 | socket1.testOk("chat", { message: "Hello World" }); | 36 | socket1.testOk("chat", { message: "Hello World" }); |
37 | 37 | ||
38 | + expect(socket1.socket.received("chat")).deep.eq({ | ||
39 | + message: "Hello World", | ||
40 | + sender: user1.nickname, | ||
41 | + }); | ||
38 | expect(socket2.socket.received("chat")).deep.eq({ | 42 | expect(socket2.socket.received("chat")).deep.eq({ |
39 | message: "Hello World", | 43 | message: "Hello World", |
40 | - sender: user1.username, | 44 | + sender: user1.nickname, |
41 | }); | 45 | }); |
42 | }); | 46 | }); |
43 | it("빈 채팅은 보낼 수 없습니다", () => { | 47 | it("빈 채팅은 보낼 수 없습니다", () => { | ... | ... |
-
Please register or login to post a comment