public async Task AddWeather_ReturnsSuccessfulResponse() { // Arrange & Act var testWeather = GetTestWeather(); var mockRepo = new Mock <IWeatherRepository>(); mockRepo.Setup(repo => repo.Add(It.IsAny <WeatherObservation>())) .Returns(Task.CompletedTask) .Verifiable(); var controller = new WeatherForecastController(mockRepo.Object); var newWeather = new WeatherObservationDto { Date = testWeather.Date, Summary = testWeather.Summary, TemperatureC = testWeather.TemperatureC }; // Act var result = await controller.Post(newWeather); // Assert Assert.IsType <OkResult>(result); mockRepo.Verify(); }
public async Task <ActionResult> Post(WeatherObservationDto dto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var weatherObservation = new WeatherObservation { Date = dto.Date, TemperatureC = dto.TemperatureC, Summary = dto.Summary }; await _weatherRepository.Add(weatherObservation); return(Ok()); }