Showing
5 changed files
with
41 additions
and
34 deletions
... | @@ -24,16 +24,14 @@ describe("방장", () => { | ... | @@ -24,16 +24,14 @@ describe("방장", () => { |
24 | const response = socket2.test("joinRoom", { uuid: room.uuid }); | 24 | const response = socket2.test("joinRoom", { uuid: room.uuid }); |
25 | expect(response.ok).eq(true); | 25 | expect(response.ok).eq(true); |
26 | expect(room.admin).eq(user1); | 26 | expect(room.admin).eq(user1); |
27 | - expect(response.result?.users[0]).deep.eq({ | 27 | + |
28 | - username: user1.username, | 28 | + expect(response.result?.users[0].nickname).eq(user1.nickname); |
29 | - admin: true, | 29 | + expect(response.result?.users[0].admin).eq(true); |
30 | - ready: false, | 30 | + expect(response.result?.users[0].ready).eq(false); |
31 | - }); | 31 | + |
32 | - expect(response.result?.users[1]).deep.eq({ | 32 | + expect(response.result?.users[1].nickname).eq(user2.nickname); |
33 | - username: user2.username, | 33 | + expect(response.result?.users[1].admin).eq(false); |
34 | - admin: false, | 34 | + expect(response.result?.users[1].ready).eq(false); |
35 | - ready: false, | ||
36 | - }); | ||
37 | }); | 35 | }); |
38 | it("방장이 나가면 방장이 인계됩니다", () => { | 36 | it("방장이 나가면 방장이 인계됩니다", () => { |
39 | const { | 37 | const { | ... | ... |
... | @@ -14,6 +14,7 @@ describe("방 입장", () => { | ... | @@ -14,6 +14,7 @@ describe("방 입장", () => { |
14 | it("방에 입장합니다", () => { | 14 | it("방에 입장합니다", () => { |
15 | const { | 15 | const { |
16 | sockets: [socket], | 16 | sockets: [socket], |
17 | + users: [user], | ||
17 | rooms: [room], | 18 | rooms: [room], |
18 | } = prepareUsersEmptyRooms(1, 1); | 19 | } = prepareUsersEmptyRooms(1, 1); |
19 | 20 | ||
... | @@ -23,16 +24,17 @@ describe("방 입장", () => { | ... | @@ -23,16 +24,17 @@ describe("방 입장", () => { |
23 | expect(response.result?.name).eq(room.name); | 24 | expect(response.result?.name).eq(room.name); |
24 | expect(response.result?.maxUsers).eq(room.maxUsers); | 25 | expect(response.result?.maxUsers).eq(room.maxUsers); |
25 | expect(response.result?.users?.length).eq(1); | 26 | expect(response.result?.users?.length).eq(1); |
26 | - expect(response.result?.users[0]?.username).eq("guest1"); | 27 | + expect(response.result?.users[0]?.nickname).eq(user.nickname); |
27 | }); | 28 | }); |
28 | it("방에 입장하면 유저 목록이 업데이트 됩니다", () => { | 29 | it("방에 입장하면 유저 목록이 업데이트 됩니다", () => { |
29 | const { | 30 | const { |
30 | sockets: [socket1, socket2], | 31 | sockets: [socket1, socket2], |
32 | + users: [user1, user2], | ||
31 | } = prepareJoinedRoom(2); | 33 | } = prepareJoinedRoom(2); |
32 | 34 | ||
33 | const updated = socket1.socket.received("updateRoomUser"); | 35 | const updated = socket1.socket.received("updateRoomUser"); |
34 | expect(updated.state).eq("added"); | 36 | expect(updated.state).eq("added"); |
35 | - expect(updated.user.username).eq("guest2"); | 37 | + expect(updated.user.nickname).eq(user2.nickname); |
36 | }); | 38 | }); |
37 | it("방에 이미 입장한 상태에서 다른 방에 입장할 수 없습니다", () => { | 39 | it("방에 이미 입장한 상태에서 다른 방에 입장할 수 없습니다", () => { |
38 | const { | 40 | const { | ... | ... |
... | @@ -3,10 +3,22 @@ import { RoomManager } from "../room/RoomManager"; | ... | @@ -3,10 +3,22 @@ import { RoomManager } from "../room/RoomManager"; |
3 | import { SocketTester } from "./util/SocketTester"; | 3 | import { SocketTester } from "./util/SocketTester"; |
4 | 4 | ||
5 | describe("로그인", () => { | 5 | describe("로그인", () => { |
6 | - it("로그인합니다", () => { | 6 | + it("닉네임으로 로그인합니다", () => { |
7 | const roomManager = new RoomManager(); | 7 | const roomManager = new RoomManager(); |
8 | const socket = new SocketTester(roomManager); | 8 | const socket = new SocketTester(roomManager); |
9 | - socket.testOk("login", { username: "guest" }); | 9 | + socket.testOk("login", { nickname: "guest" }); |
10 | - expect(socket.connection.user?.username).eq("guest"); | 10 | + expect(socket.connection.user?.nickname).eq("guest"); |
11 | + }); | ||
12 | + it("빈 닉네임으로 로그인할 수 없습니다", () => { | ||
13 | + const roomManager = new RoomManager(); | ||
14 | + const socket = new SocketTester(roomManager); | ||
15 | + socket.testNotOk("login", { nickname: "" }); | ||
16 | + socket.testNotOk("login", { nickname: " " }); | ||
17 | + }); | ||
18 | + it("닉네임은 최대 12자입니다", () => { | ||
19 | + const roomManager = new RoomManager(); | ||
20 | + const socket = new SocketTester(roomManager); | ||
21 | + socket.testNotOk("login", { nickname: "a".repeat(13) }); | ||
22 | + socket.testNotOk("login", { nickname: "가".repeat(13) }); | ||
11 | }); | 23 | }); |
12 | }); | 24 | }); | ... | ... |
... | @@ -7,12 +7,13 @@ describe("준비", () => { | ... | @@ -7,12 +7,13 @@ describe("준비", () => { |
7 | it("방에 입장하면 준비되지 않은 상태입니다", () => { | 7 | it("방에 입장하면 준비되지 않은 상태입니다", () => { |
8 | const { | 8 | const { |
9 | sockets: [socket], | 9 | sockets: [socket], |
10 | + users: [user], | ||
10 | rooms: [room], | 11 | rooms: [room], |
11 | } = prepareUsersEmptyRooms(1, 1); | 12 | } = prepareUsersEmptyRooms(1, 1); |
12 | 13 | ||
13 | const response = socket.test("joinRoom", { uuid: room.uuid }); | 14 | const response = socket.test("joinRoom", { uuid: room.uuid }); |
14 | expect(response.ok).eq(true); | 15 | expect(response.ok).eq(true); |
15 | - expect(response.result?.users[0]?.username).eq("guest1"); | 16 | + expect(response.result?.users[0]?.nickname).eq(user.nickname); |
16 | expect(response.result?.users[0]?.ready).eq(false); | 17 | expect(response.result?.users[0]?.ready).eq(false); |
17 | }); | 18 | }); |
18 | it("준비 상태를 설정합니다", () => { | 19 | it("준비 상태를 설정합니다", () => { |
... | @@ -26,25 +27,19 @@ describe("준비", () => { | ... | @@ -26,25 +27,19 @@ describe("준비", () => { |
26 | 27 | ||
27 | socket.testOk("ready", { ready: true }); | 28 | socket.testOk("ready", { ready: true }); |
28 | expect(room.isReady(user)).eq(true); | 29 | expect(room.isReady(user)).eq(true); |
29 | - expect(socket.socket.received("updateRoomUser")).deep.eq({ | 30 | + |
30 | - state: "updated", | 31 | + let response = socket.socket.received("updateRoomUser"); |
31 | - user: { | 32 | + expect(response.state).eq("updated"); |
32 | - username: user.username, | 33 | + expect(response.user.nickname).eq(user.nickname); |
33 | - admin: false, | 34 | + expect(response.user.ready).eq(true); |
34 | - ready: true, | ||
35 | - }, | ||
36 | - }); | ||
37 | 35 | ||
38 | socket.testOk("ready", { ready: false }); | 36 | socket.testOk("ready", { ready: false }); |
39 | expect(room.isReady(user)).eq(false); | 37 | expect(room.isReady(user)).eq(false); |
40 | - expect(socket.socket.received("updateRoomUser")).deep.eq({ | 38 | + |
41 | - state: "updated", | 39 | + response = socket.socket.received("updateRoomUser"); |
42 | - user: { | 40 | + expect(response.state).eq("updated"); |
43 | - username: user.username, | 41 | + expect(response.user.nickname).eq(user.nickname); |
44 | - admin: false, | 42 | + expect(response.user.ready).eq(false); |
45 | - ready: false, | ||
46 | - }, | ||
47 | - }); | ||
48 | }); | 43 | }); |
49 | it("방장은 준비할 수 없습니다", () => { | 44 | it("방장은 준비할 수 없습니다", () => { |
50 | const { | 45 | const { | ... | ... |
... | @@ -49,8 +49,8 @@ export class SocketTester { | ... | @@ -49,8 +49,8 @@ export class SocketTester { |
49 | return this.connection.handleRaw(obj); | 49 | return this.connection.handleRaw(obj); |
50 | } | 50 | } |
51 | 51 | ||
52 | - public login(username: string): void { | 52 | + public login(nickname: string): void { |
53 | - this.testOk("login", { username }); | 53 | + this.testOk("login", { nickname }); |
54 | expect(this.connection.user !== undefined).eq(true); | 54 | expect(this.connection.user !== undefined).eq(true); |
55 | } | 55 | } |
56 | 56 | ... | ... |
-
Please register or login to post a comment