public void CreatePost_Should_Return_Error_If_No_Name_Is_Provided() { // Arrange FakeLocationService service = new FakeLocationService(); controller.LocationService = service; var model = getViewModel(); model.CurrentDisplaySetting = true; model.Zoom = "5"; model.MapType = "ROADMAP"; var userService = new Mock <IUserService>(); userService.Setup(us => us.GetUser(It.IsAny <string>())).Returns(new User() { UserID = 1 }); var controllerContext = new Mock <ControllerContext>(); controllerContext.SetupGet(cc => cc.HttpContext.User.Identity.Name).Returns("UserName1"); controller.UserService = userService.Object; controller.ControllerContext = controllerContext.Object; // Act var result = controller.Create(model) as ViewResult; // Assert Assert.IsNotNull(result); Assert.IsTrue(result.ViewData.ModelState.Count > 0); Assert.IsFalse(((FakeLocationService)controller.LocationService).addNewDisplaySetingWasCalled); }
public void CreatePOST_Should_Pass_Apropriate_Model_ToServiceLayer() { // Arrange FakeLocationService service = new FakeLocationService(); controller.LocationService = service; var model = getViewModel(); var userService = new Mock <IUserService>(); userService.Setup(us => us.GetUser(It.IsAny <string>())).Returns(new User() { UserID = 1 }); var controllerContext = new Mock <ControllerContext>(); controllerContext.SetupGet(cc => cc.HttpContext.User.Identity.Name).Returns("UserName1"); controller.UserService = userService.Object; controller.ControllerContext = controllerContext.Object; // Act var result = controller.Create(model) as RedirectToRouteResult; // Assert Assert.IsNotNull(result); Assert.IsTrue(result.RouteValues["Action"].Equals("Details")); Assert.IsTrue(((FakeLocationService)controller.LocationService).addLocationWasCalled); var location = ((FakeLocationService)controller.LocationService).passedParameter as Location; Assert.IsNotNull(location); Assert.IsTrue(location.CreatedBy == 1); }
public void CreatePost_Should_Call_Service_Layer_ForNew_DisplaySetting_if_chosen_to_createNewDisplaySetting() { // Arrange FakeLocationService service = new FakeLocationService(); controller.LocationService = service; var model = getViewModel(); model.CurrentDisplaySetting = true; model.Zoom = "5"; model.MapType = "ROADMAP"; model.DisplayName = "New Display"; var userService = new Mock <IUserService>(); userService.Setup(us => us.GetUser(It.IsAny <string>())).Returns(new User() { UserID = 1 }); var controllerContext = new Mock <ControllerContext>(); controllerContext.SetupGet(cc => cc.HttpContext.User.Identity.Name).Returns("UserName1"); controller.UserService = userService.Object; controller.ControllerContext = controllerContext.Object; // Act var result = controller.Create(model) as RedirectToRouteResult; // Assert Assert.IsNotNull(result); Assert.IsTrue(result.RouteValues["Action"].Equals("Details")); Assert.IsTrue(((FakeLocationService)controller.LocationService).addNewDisplaySetingWasCalled); Assert.IsTrue(((FakeLocationService)controller.LocationService).CalledFirst == "display"); var displaySetting = ((FakeLocationService)controller.LocationService).passedDisplaySetting as LocationDisplaySetting; Assert.IsNotNull(displaySetting); Assert.IsTrue(displaySetting.Zoom == "5"); }