public ActionResult ForeCast(HomeIndexViewModel model) { try { if (ModelState.IsValid) { WeatherAppService service = new WeatherAppService(); model.WeatherDatas = this._service.GetWeatherDataByParams(model.Country, model.CountyName, model.LocationName); model.GeoName = this._service.GetGeoName(model.Country, model.CountyName, model.LocationName); if (Request.IsAjaxRequest()) { return PartialView("_ForeCast", model); } } } catch (Exception ex) { if (Request.IsAjaxRequest()) { this.Response.StatusCode = 400; return Content(ex.Message); } else { ModelState.AddModelError(String.Empty, ex.Message); } } return View("Index", model); }
public void IndexPost() { // Arrange HomeController controller = new HomeController(); HomeIndexViewModel viewModel = new HomeIndexViewModel(); viewModel.LocationName = "Kalmar"; // Fake ajax request Mock<ControllerContext> controllerContext = new Mock<ControllerContext>(); controllerContext.Setup(r => r.HttpContext.Request["X-Requested-With"]).Returns("XMLHttpRequest"); controller.ControllerContext = controllerContext.Object; // Act PartialViewResult result = controller.Index(viewModel) as PartialViewResult; HomeIndexViewModel newViewModel = result.Model as HomeIndexViewModel; Assert.IsTrue(result.ViewName == "_LocationResult", "Wrong view returned"); Assert.IsTrue(newViewModel.GeoNames.Count > 0, "No matches was found"); }
public void Forecast() { // Arrange HomeController controller = new HomeController(); // Faks ajax-request Mock<ControllerContext> controllerContext = new Mock<ControllerContext>(); controllerContext.Setup(r => r.HttpContext.Request["X-Requested-With"]).Returns("XMLHttpRequest"); controller.ControllerContext = controllerContext.Object; // Act HomeIndexViewModel viewModel = new HomeIndexViewModel(); viewModel.Country = "Sweden"; viewModel.CountyName = "Kalmar"; viewModel.LocationName = "Kalmar"; PartialViewResult result = controller.ForeCast(viewModel) as PartialViewResult; // Assert Assert.IsTrue(result.ViewName == "_ForeCast", "Returned partial view is not correct (_ForeCast)"); Assert.IsNotNull(result, "ViewResult is null"); }