강동현

Merge branch 'feature/chat-by-nickname' into develop

...@@ -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("빈 채팅은 보낼 수 없습니다", () => {
......