diff --git a/.gitignore b/.gitignore index 11b5c0a..4b4c6bf 100644 --- a/.gitignore +++ b/.gitignore @@ -5,5 +5,6 @@ logs **/*.backup.* **/*.back.* +coverage node_modules bower_components diff --git a/server/package.json b/server/package.json index 8a419f0..0c47b99 100644 --- a/server/package.json +++ b/server/package.json @@ -5,7 +5,7 @@ "main": "index.js", "scripts": { "devel": "nodemon server.ts", - "test": "jest" + "test": "jest --coverage --watch" }, "author": "Domenico Testa", "license": "MIT", @@ -36,4 +36,4 @@ "jest": "^26.6.3", "nodemon": "^2.0.6" } -} +} \ No newline at end of file diff --git a/server/rooms/game.test.ts b/server/rooms/game.test.ts index a3bcf5c..08d9aa8 100644 --- a/server/rooms/game.test.ts +++ b/server/rooms/game.test.ts @@ -5,9 +5,17 @@ describe("Room", function () { let room: GameRoom = null; describe("onMessage / dispatchMessage", () => { - it("* should handle if message is not registered", () => { + it("should be able to create a GameRoom instance", () => { room = new GameRoom(); expect(room).not.toBeNull(); + expect(room).toHaveProperty('dispatcher'); + expect(room).toHaveProperty('currentDealer'); + expect(room).toHaveProperty('gameType'); }); + + it("after creation getSeatedPlayers should return an empty array", () => { + room = new GameRoom(); + expect(room.getSeatedPlayers()).toEqual([]); + }) }); }); diff --git a/server/rooms/game.ts b/server/rooms/game.ts index 32be9a0..020e4be 100644 --- a/server/rooms/game.ts +++ b/server/rooms/game.ts @@ -51,6 +51,9 @@ export class GameRoom extends Room { } getSeatedPlayers(): Player[] { + if (this.state === undefined) { + return []; + } const players = Array.from(this.state.players.values()); return players.filter((p) => { return (p.playing) }); }