Пример #1
0
        public void Good_request_should_not_throw(GameCreate.Request request)
        {
            var         subject = new GameCreate.Validator();
            Func <Task> action  = async() => await subject.Process(request, default);

            action.Should().NotThrow <ValidationException>();
        }
        public async Task Should_queue_lobby_notification()
        {
            var backgroundTaskQueue = new Mock <IBackgroundTaskQueue>();

            backgroundTaskQueue
            .Setup(x => x.QueueBackgroundTask(
                       It.IsAny <object>()));

            var subject = new GameCreate.BackgroundEnqueuer(
                backgroundTaskQueue.Object);

            var request = new GameCreate.Request
            {
                PlayerId = PlayerId
            };

            var response = new GameCreate.Response
            {
                GameId = GameId
            };

            await subject.Process(request, response);

            backgroundTaskQueue.Verify(
                x => x.QueueBackgroundTask(It.IsAny <LobbyNotification>()));
        }
Пример #3
0
        public async Task <IActionResult> Create()
        {
            var playerId = base.HttpContext.GetPlayerId();
            var request  = new GameCreate.Request()
            {
                PlayerId = playerId
            };
            var response = await this.mediator.Send(request, default);

            return(base.Json(new { GameId = response.GameId }));
        }
Пример #4
0
        public async Task Should_have_correct_status()
        {
            var context = DbContextFactory.CreateTripleTriadContext();
            var command = new GameCreate.Request()
            {
                PlayerId = this.playerId
            };
            var subject = new GameCreate.RequestHandler(context);

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

            var game = await context.Games.SingleAsync(x => x.GameId == response.GameId);

            game.Status.Should().Be(GameStatus.Waiting);
        }
Пример #5
0
        public async Task Should_return_created_game()
        {
            var context = DbContextFactory.CreateTripleTriadContext();
            var command = new GameCreate.Request()
            {
                PlayerId = this.playerId
            };
            var subject = new GameCreate.RequestHandler(context);

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

            Func <Task <Game> > act = async() => await context.Games.SingleAsync(x => x.GameId == response.GameId);

            act.Should().NotThrow();
        }
Пример #6
0
        public async Task Should_have_correct_new_game_data()
        {
            var context = DbContextFactory.CreateTripleTriadContext();
            var command = new GameCreate.Request()
            {
                PlayerId = this.playerId
            };
            var subject = new GameCreate.RequestHandler(context);

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

            var game = await context.Games.SingleAsync(x => x.GameId == response.GameId);

            var expectedGameData = "{'Log':[],'Rules':[]}";

            JToken.DeepEquals(JObject.Parse(game.Data), JObject.Parse(expectedGameData))
            .Should()
            .BeTrue();
        }