コード例 #1
0
ファイル: HomeController.cs プロジェクト: hanserikb/Weather
 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);
 }
コード例 #2
0
        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");
        }
コード例 #3
0
        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");
        }