示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }
示例#5
0
        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"]);
        }
示例#6
0
        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);
        }