Exemplo n.º 1
0
        public void TestCreateReturnView()
        {
            var controller = new ProductoController(null, null);

            var view = controller.Create();

            Assert.IsInstanceOf(typeof(ViewResult), view);
            Assert.AreEqual("Create", view.ViewName);
        }
Exemplo n.º 2
0
        public void TestPostCreateCallStoreMethodFromRepository()
        {
            var producto = new Producto();

            var repositoryMock = new Mock<InterfaceProducto>();

            var validatorMock = new Mock<ProductoValidator>();

            validatorMock.Setup(o => o.Pass(producto)).Returns(true);

            repositoryMock.Setup(o => o.Store(producto));

            var controller = new ProductoController(repositoryMock.Object, validatorMock.Object);

            var redirect = controller.Create(producto, null);

            repositoryMock.Verify(o => o.Store(producto), Times.Once());
        }
Exemplo n.º 3
0
        public void TestPostCreateOKReturnRedirect()
        {
            var producto = new Producto();

            var repositoryMock = new Mock<InterfaceProducto>();

            repositoryMock.Setup(o => o.Store(new Producto()));

            var validatorMock = new Mock<ProductoValidator>();

            validatorMock.Setup(o => o.Pass(producto)).Returns(true);

            var controller = new ProductoController(repositoryMock.Object, validatorMock.Object);

            var redirect = (RedirectToRouteResult)controller.Create(producto, null);

            Assert.IsInstanceOf(typeof(RedirectToRouteResult), redirect);
        }
Exemplo n.º 4
0
        public void TestPostCreateReturnViewWithErrorsWhenValidationFail()
        {
            var producto = new Producto { };

            var mock = new Mock<ProductoValidator>();

            mock.Setup(o => o.Pass(producto)).Returns(false);

            var controller = new ProductoController(null, mock.Object);

            var view = controller.Create(producto, null);

            Assert.IsInstanceOf(typeof(ViewResult), view);
        }