public async Task LogPosition() { // Arrange var logPositionRequest = new LogPositionRequest() { GameId = 5, TeamId = 6, Latitude = 45.36, Longitude = 2.361, }; A.CallTo(() => _gameService.GetGameById(logPositionRequest.GameId)) .Returns(new Game() { Id = logPositionRequest.GameId }); A.CallTo(() => _teamService.GetTeamById(logPositionRequest.TeamId)) .Returns(new Team() { Id = logPositionRequest.TeamId }); // Act var result = await _target.LogPosition(logPositionRequest); // Assert A.CallTo(() => _gameService.GetGameById(logPositionRequest.GameId)).MustHaveHappened(); A.CallTo(() => _teamService.GetTeamById(logPositionRequest.TeamId)) .MustHaveHappened(); A.CallTo(() => _actionService.AddGameAction(A <GameAction> .That.Matches(ga => CheckGameActionLogPosition(ga, logPositionRequest)))).MustHaveHappened(); Check.That(result).IsInstanceOf <OkResult>(); A.CallTo(() => _hubContext.Clients.All.SendCoreAsync(A <string> ._, A <object[]> ._, A <CancellationToken> ._)).MustHaveHappened(); }
public override async Task Begin(ITurnContext turnContext) { var state = turnContext.GetConversationState <ImageHuntState>(); if (state.Status != Status.Started) { LogInfo <ImageHuntState>(turnContext, "Game not started"); await turnContext.End(); return; } state.CurrentLatitude = turnContext.Activity.Location.Latitude; state.CurrentLongitude = turnContext.Activity.Location.Longitude; _logger.LogInformation($"Received position: [lat:{state.CurrentLatitude}, lng:{state.CurrentLongitude}"); await base.Begin(turnContext); var logPositionRequest = new LogPositionRequest() { GameId = state.GameId, TeamId = state.TeamId, Latitude = state.CurrentLatitude, Longitude = state.CurrentLongitude }; await _actionWebService.LogPosition(logPositionRequest); //await turnContext.ReplyActivity( // $"J'ai enregistré votre nouvelle position {state.CurrentLatitude}, {state.CurrentLongitude}"); await turnContext.End(); }
private bool CheckGameActionLogPosition(GameAction ga, LogPositionRequest logPositionRequest) { Check.That(ga.Game.Id).Equals(logPositionRequest.GameId); Check.That(ga.Team.Id).Equals(logPositionRequest.TeamId); Check.That(ga.Action).Equals(Action.SubmitPosition); Check.That(ga.Latitude).Equals(logPositionRequest.Latitude); Check.That(ga.Longitude).Equals(logPositionRequest.Longitude); return(true); }
public async Task LogPosition(LogPositionRequest logPositionRequest, CancellationToken cancellationToken = default(CancellationToken)) { using (var content = new MultipartFormDataContent()) { content.Add(new StringContent(logPositionRequest.GameId.ToString()), "gameId"); content.Add(new StringContent(logPositionRequest.TeamId.ToString()), "teamId"); content.Add(new StringContent(logPositionRequest.Latitude.ToString()), "latitude"); content.Add(new StringContent(logPositionRequest.Longitude.ToString()), "longitude"); var result = await PostAsync <string>($"{_httpClient.BaseAddress}api/Action/LogPosition/", content, cancellationToken); } }
public async Task <IActionResult> LogPosition(LogPositionRequest logPositionRequest) { _logger.LogInformation($"Received position gameId: {logPositionRequest.GameId}, teamId: {logPositionRequest.TeamId}, [{logPositionRequest.Latitude}, {logPositionRequest.Longitude}]"); var gameAction = new GameAction() { Action = Action.SubmitPosition, Game = _gameService.GetGameById(logPositionRequest.GameId), Team = _teamService.GetTeamById(logPositionRequest.TeamId), Longitude = logPositionRequest.Longitude, Latitude = logPositionRequest.Latitude, DateOccured = DateTime.Now }; _actionService.AddGameAction(gameAction); await NotifyClientsForGameAction(gameAction); return(Ok()); }
public async Task LogPosition() { // Arrange var logPositionRequest = new LogPositionRequest() { GameId = 1, TeamId = 1, Latitude = 45.26, Longitude = 4.63 }; var httpResponse = new HttpResponseMessage() { Content = new StringContent("OK") }; A.CallTo(_fakeHttpMessageHandler) .Where(x => x.Method.Name == "PostAsync") .WithReturnType <Task <HttpResponseMessage> >() .Returns(httpResponse); // Act await _target.LogPosition(logPositionRequest); // Assert }