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>())); }
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 })); }
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); }
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(); }
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(); }