From 9b419a416b73dd5e12970692ef70f20d740a8090 Mon Sep 17 00:00:00 2001 From: Sorrel Bri Date: Thu, 14 May 2020 23:21:19 -0700 Subject: [PATCH] stub submitPass on Game --- packages/server/services/Game.js | 11 +++++++++++ packages/server/test/Game.spec.js | 12 ++++++++++++ 2 files changed, 23 insertions(+) diff --git a/packages/server/services/Game.js b/packages/server/services/Game.js index a6883f2..04f79e5 100644 --- a/packages/server/services/Game.js +++ b/packages/server/services/Game.js @@ -265,6 +265,17 @@ const Game = ({gameData = {}, gameRecord = []} = {}) => { }); }, + submitPass: function(player) { + if (player !== 'black' && player !== 'white') { + return { ...this, success: false }; + } + this.addToRecord({ player, pos: { x: null, y: null } }); + if (this.kos.length) helper.clearKo.call(this); + this.turn = player === 'black' ? -1 : 1; + this.boardState = getBoardState(this); + return {...this, legalMoves: getLegalMoves(this), success: true }; + }, + submitResign: function(player) { if (player === 'black') this.winner = -1; if (player === 'white') this.winner = 1; diff --git a/packages/server/test/Game.spec.js b/packages/server/test/Game.spec.js index f001a8d..b233a3d 100644 --- a/packages/server/test/Game.spec.js +++ b/packages/server/test/Game.spec.js @@ -497,6 +497,18 @@ describe('Game end logic', () => { Game().initGame().submitResign('black') .getMeta().should.eql({...initialMeta, winner: -1}); done(); + }); + + it('pass changes game turn', done => { + Game().initGame().submitPass('black') + .getMeta().turn.should.eql(-1); + done(); + }); + + it('pass adds null move to gameRecord', done => { + Game().initGame().submitPass('black').getMeta() + .gameRecord.should.eql([ { player: 'black', pos: { x: null, y: null } } ]) + done(); }) })