public async Task CanGetGameWithOneEventWithCardDrawn()
        {
            // Given:
            var db = await CreateDatabaseAsync();

            var gameId = await CreateGameAsync(db);

            await AddEventAsync(db, gameId, new GameEvent
            {
                ByPlayerId   = new PlayerId(1),
                CardDrawn    = new Card(DeckNo.One, Suit.Spades, Rank.Five),
                CardUsed     = new Card(DeckNo.Two, Suit.Diamonds, Rank.King),
                Chip         = Team.Green,
                Coord        = new Coord(4, 2),
                Index        = 2,
                NextPlayerId = new PlayerId(2),
            });

            var sut = new PostgresGameStateProvider(
                new PostgresGameProvider(db)
                );

            // Then:
            var game = await sut.GetGameByIdAsync(gameId, CancellationToken.None);

            // Then:
            Assert.NotNull(game);
        }
        public async Task CanGetGame()
        {
            // Given:
            var db = await CreateDatabaseAsync();

            var gameId = await CreateGameAsync(db);

            var sut = new PostgresGameStateProvider(
                new PostgresGameProvider(db)
                );

            // Then:
            var game = await sut.GetGameByIdAsync(gameId, CancellationToken.None);

            // Then:
            Assert.NotNull(game);
        }