public static Lobby CreateLobby(MockGameHub hub, Guid adminId, Game game)
        {
            var lobby = hub.Lobbys.CreateLobby("my lobby", GetPlayer(adminId, true));

            lobby.NewGame(game);
            return(lobby);
        }
        public static MockGameHub GetMockGameHub(Guid contextId, List <Lobby> lobbys)
        {
            var gameHub = new MockGameHub(lobbys, contextId.ToString());
            var context = new Mock <HubCallerContext>();

            context.Setup(p => p.ConnectionId).Returns(contextId.ToString());
            gameHub.Context = context.Object;
            return(gameHub);
        }
        public Given_a_Client_message_When_received_by_hub()
        {
            var playerId = Guid.NewGuid();

            _gameHub = ObjectMother.GetMockGameHub(playerId);
            _game    = new MockGame(_gameHub.Sender, _gameHub.Lobbys);
            var lobby = ObjectMother.CreateLobby(_gameHub, Guid.NewGuid(), _game);

            lobby.Players.Add(ObjectMother.GetPlayer(playerId));
            var payload = JsonConvert.SerializeObject(new {
                client = new { content = "CONTENT", lane = 0 }
            });

            Should.NotThrow(async() => { await _gameHub.HubMessage(payload); });
        }