Exemplo n.º 1
0
        public async Task Should_return_game_ids()
        {
            var context = DbContextFactory.CreateTripleTriadContext();

            for (var i = 0; i < 4; i++)
            {
                var game = new Game
                {
                    GameId = i + 1,
                    Status = i % 2 == 0
                        ? GameStatus.Waiting
                        : (GameStatus)i
                };
                await context.Games.AddAsync(game);
            }

            await context.SaveChangesAsync();

            var request = new GameList.Request();

            var subject = new GameList.RequestHandler(context);

            var response = await subject.Handle(request, default);

            response.GameIds.Should().BeEquivalentTo(new[] { 1, 3 });
        }
Exemplo n.º 2
0
        public async Task Should_return_game_ids_that_are_waiting()
        {
            var context = DbContextFactory.CreateTripleTriadContext();

            for (var i = 0; i < 4; i++)
            {
                var game = new Game
                {
                    Status = i % 2 == 0
                        ? GameStatus.Waiting
                        : (GameStatus)i
                };
                await context.Games.AddAsync(game);
            }

            await context.SaveChangesAsync();

            var request = new GameList.Request();

            var subject = new GameList.RequestHandler(context);

            var response = await subject.Handle(request, default);

            var gameStatuses = await context
                               .Games
                               .Where(x => response.GameIds.Contains(x.GameId))
                               .Select(x => x.Status)
                               .ToListAsync();

            gameStatuses.Should().AllBeEquivalentTo(GameStatus.Waiting);
        }
Exemplo n.º 3
0
        public async Task <IActionResult> List()
        {
            var request = new GameList.Request();

            var response = await this.mediator.Send(request, default);

            return(base.Json(new { GameIds = response.GameIds }));
        }
Exemplo n.º 4
0
        public async Task Should_return_ascending_game_ids()
        {
            var context = DbContextFactory.CreateTripleTriadContext();

            for (var i = 4; i > 0; i--)
            {
                var game = new Game
                {
                    GameId = 2 * i,
                    Status = GameStatus.Waiting
                };
                await context.Games.AddAsync(game);
            }

            await context.SaveChangesAsync();

            var request = new GameList.Request();

            var subject = new GameList.RequestHandler(context);

            var response = await subject.Handle(request, default);

            response.GameIds.Should().BeInAscendingOrder();
        }