public void EditView_True() { // Arrange - create the controller PositionController target = new PositionController(mock.Object); // Act - call the action method var result = target.Edit(2); // Assert - check the result Assert.AreEqual("", ((ViewResult)result).ViewName); }
public void EditGet_CanEdit_ValidPosition() { // Arrange - create the controller PositionController target = new PositionController(mock.Object); // Act - call the action method var result = target.Edit(2); // Assert - check the result Assert.IsInstanceOf(typeof(ViewResult), result); Assert.AreEqual("", ((ViewResult)result).ViewName); Assert.IsNotNull(((ViewResult)result).ViewData.Model); }
public void EditGet_CannotEdit_InvalidPosition() { // Arrange - create the controller PositionController target = new PositionController(mock.Object); // Act - call the action method var result = target.Edit(15); Position position = mock.Object.Positions.Where(m => m.PositionID == 150).FirstOrDefault(); // Assert - check the result Assert.IsInstanceOf(typeof(HttpNotFoundResult), result); Assert.IsNull(position); Assert.AreEqual(404, ((HttpNotFoundResult)result).StatusCode); }
public void EditPost_CannotEdit_InvalidPosition() { // Arrange - create the controller Position position = new Position(); PositionController target = new PositionController(mock.Object); // Act - call the action method target.ModelState.AddModelError("error", "error"); var result = target.Edit(position); string data = (string)(new Microsoft.VisualStudio.TestTools.UnitTesting.PrivateObject(((JsonResult)result).Data, "error")).Target; // Assert - check the result mock.Verify(m => m.SavePosition(position), Times.Never); //Assert.AreEqual(false, ((ViewResult)result).ViewData.ModelState.IsValid); Assert.IsInstanceOf(typeof(JsonResult), result); Assert.AreEqual("", data); //Assert.IsInstanceOf(typeof(Position), ((ViewResult)result).ViewData.Model); }
public void EditPost_CanEdit_ValidPosition() { // Arrange - create the controller PositionController target = new PositionController(mock.Object); Position position = new Position { PositionID = 6, TitleEn = "Software developer", TitleUk = "Розробник програмного забезпечення" }; // Act - call the action method var result = target.Edit(position); // Assert - check the result Assert.IsInstanceOf(typeof(RedirectToRouteResult), result); Assert.IsFalse(((RedirectToRouteResult)result).Permanent); Assert.AreEqual("Home", ((RedirectToRouteResult)result).RouteValues["controller"]); Assert.AreEqual("PUView", ((RedirectToRouteResult)result).RouteValues["action"]); mock.Verify(m => m.SavePosition(position), Times.Once); Assert.AreEqual(3, ((RedirectToRouteResult)result).RouteValues["tab"]); }
public void EditPost_ValidModelConcurrency_ErrorReturned() { //Arrange PositionController controller = new PositionController(mock.Object); string modelError = "The record you attempted to edit " + "was modified by another user after you got the original value. The " + "edit operation was canceled."; Position position = mock.Object.Positions.Where(p => p.PositionID == 1).FirstOrDefault(); mock.Setup(m => m.SavePosition(position)).Throws(new DbUpdateConcurrencyException()); //Act var result = controller.Edit(position); string data = (string)(new Microsoft.VisualStudio.TestTools.UnitTesting.PrivateObject(((JsonResult)result).Data, "error")).Target; //Assert mock.Verify(d => d.SavePosition(position), Times.Once()); Assert.AreEqual(typeof(JsonResult), result.GetType()); Assert.AreEqual(modelError, data); }