public async Task <DancerResponse> Dancing(float latitude, float longitude) { var weather = await GetWeather(latitude, longitude); var random = new Random(); var randomBirds = random.Next(100) < 10; var dancer = new DancerResponse() { Lat = latitude, Lng = longitude, HasBirds = randomBirds, Weather = new WeatherResponse() { WindDirection = WindDirection.WindDegreesToDirection(weather.Wind.Deg), WindDegree = weather.Wind.Deg, WindSpeed = weather.Wind.Speed }, HasDangerDanger = IsDangerDanger(weather), HasNoFlyZone = await _noFlyingBusiness.IsInNoFlyZone(latitude, longitude), MaxHeight = 1000, }; return(dancer); }
public void GetDancer_GivenUserDoesNotExist_ReturnsActionResultWithDancerResponse() { var dancer = new Dancer { AuthenticationId = "auth_id_1" }; dancer = _fixture._context.Dancers.Add(dancer).Entity; _fixture._context.SaveChanges(); var expectedDancerResponse = new DancerResponse { AuthenticationId = dancer.AuthenticationId, Id = dancer.Id }; var actionResult = _dancersController.GetDancer("invalid_id"); Assert.IsType <NotFoundResult>(actionResult.Result); }
public async Task Post_GivenUserDoesNotExist_Returns_CreatedActionResultWithNewUser() { _authorizationService.GetUserId().Returns("user_id"); var dancerRequest = new DancerRequest(); var expectedDancerResponse = new DancerResponse { AuthenticationId = "user_id", DdrCode = "573", State = "n/a" }; var actionResult = await _dancersController.Post(dancerRequest); var createdResult = Assert.IsType <CreatedResult>(actionResult.Result); var id = Guid.Parse(createdResult.Location.Substring(createdResult.Location.LastIndexOf("/") + 1)); expectedDancerResponse.Id = id; var dancerResponse = Assert.IsAssignableFrom <DancerResponse>(createdResult.Value); Assert.Equal(expectedDancerResponse, dancerResponse); }
public void GetDancer_GivenAuthIdExists_ReturnsActionResultWithDancerResponse() { var dancer = new Dancer { AuthenticationId = "auth_id_1" }; dancer = _fixture._context.Dancers.Add(dancer).Entity; _fixture._context.SaveChanges(); var expectedDancerResponse = new DancerResponse { AuthenticationId = dancer.AuthenticationId, Id = dancer.Id }; var actionResult = _dancersController.GetDancer(dancer.AuthenticationId); var okObjectResult = Assert.IsType <OkObjectResult>(actionResult.Result); var dancerResponse = Assert.IsAssignableFrom <DancerResponse>(okObjectResult.Value); Assert.Equal(expectedDancerResponse, dancerResponse); }