public void Controller_Avatar_Update_Get_Should_Return_New_Model() { // Arrange (from create) AvatarItemController controller = new AvatarItemController(); var context = CreateMoqSetupForCookie(); controller.ControllerContext = new ControllerContext(context, new RouteData(), controller); var data = new AvatarItemModel { Description = "description", Id = "abc", Name = "Name", Uri = "picture" }; // create test avatar var result = (RedirectToRouteResult)controller.Create(data); // Check that the item is created (from create) var resultAvatar = AvatarItemBackend.Instance.Read("abc"); Assert.AreEqual(data.Id, resultAvatar.Id, TestContext.TestName); // Act var updateResult = controller.Update(data.Id) as ViewResult; resultAvatar = updateResult.Model as AvatarItemModel; // Assert Assert.AreNotEqual(null, resultAvatar.Id, TestContext.TestName); // Reset the Avatars AvatarItemBackend.Instance.Reset(); }
public void Controller_Avatar_Update_Post_InValid_Should_Return_Error_Page() { /// <summary> /// This Test calls the Update, but passes null data /// The controller will return a redirect to the error home page /// So the test needs to cast the return to a redirect, and then check that it got to the home error page /// </summary> // Arrange AvatarItemController controller = new AvatarItemController(); var context = CreateMoqSetupForCookie(); controller.ControllerContext = new ControllerContext(context, new RouteData(), controller); // Act var result = (RedirectToRouteResult)controller.Update((AvatarItemModel)null); // Assert Assert.AreEqual("Error", result.RouteValues["action"], TestContext.TestName); }
public void Controller_Avatar_Update_Post_InValid_Model_Should_Return_Error() { // Arrange var controller = new AvatarItemController(); var data = new AvatarItemModel { Description = "description" }; // Make a model error then try to send it as a Avatar controller.ModelState.AddModelError("test", "test"); var context = CreateMoqSetupForCookie(); controller.ControllerContext = new ControllerContext(context, new RouteData(), controller); // Act ViewResult result = controller.Update(data) as ViewResult; // Assert Assert.AreEqual(controller.ModelState.IsValid, false, TestContext.TestName); }
public void Controller_Avatar_Update_Post_Valid_Data_Should_Pass() { // Arrange var controller = new AvatarItemController(); var data = new AvatarItemModel(); // Add to the backend AvatarItemBackend.Instance.Create(data); data.Description = "Updated Description"; var context = CreateMoqSetupForCookie(); controller.ControllerContext = new ControllerContext(context, new RouteData(), controller); // Act ViewResult result = controller.Update(data) as ViewResult; var dataResult = AvatarItemBackend.Instance.Read(data.Id); AvatarItemBackend.Instance.Reset(); // Assert Assert.AreEqual(data.Description, dataResult.Description, TestContext.TestName); }
public void Controller_Avatar_Update_Post_Invalid_Null_Id_Should_Return_Model() { // Arrange AvatarItemController controller = new AvatarItemController(); var data = new AvatarItemModel { Description = "description", Id = null, Name = "Name", Uri = "picture" }; var context = CreateMoqSetupForCookie(); controller.ControllerContext = new ControllerContext(context, new RouteData(), controller); // Act ViewResult result = controller.Update(data) as ViewResult; var resultAvatar = result.Model as AvatarItemModel; // Assert Assert.AreEqual(data.Description, resultAvatar.Description, TestContext.TestName); }