예제 #1
0
        public void ViewEditPorId()
        {
            //Arrange
            var mockRepo = new Mock <IRepositorioPropietario>();

            //los métodos que se hagan mock, deben ser virtuales
            mockRepo.Setup(x => x.ObtenerPorId(1)).Returns(new Propietario {
                IdPropietario = 1
            });
            var mockConfig  = new Mock <IConfiguration>();
            var controlador = new PropietariosController(mockRepo.Object, mockConfig.Object);
            var httpContext = new DefaultHttpContext();
            var tempData    = new TempDataDictionary(httpContext, Mock.Of <ITempDataProvider>());

            controlador.TempData = tempData;

            //Act
            var res = controlador.Edit(1) as ViewResult;

            //Assert
            Assert.NotNull(res);
            mockRepo.Verify(x => x.ObtenerPorId(1), Times.Exactly(1), "No se llamó a repo.ObtenerPorId(id)");
            Assert.NotNull(res.Model);
            Assert.IsType <Propietario>(res.Model);
            Propietario p = res.Model as Propietario;

            Assert.Equal(1, p.IdPropietario);
            //Assert.Equal("Edit", res.ViewName);//no se puede porque devuelve View() sin parámetro
        }
예제 #2
0
        public void ViewEditPorId()
        {
            //Arrange
            var mockRepo = new Mock <IRepositorioPropietario>();

            //los métodos que se hagan mock, deben ser virtuales
            mockRepo.Setup(x => x.GetById(1)).Returns(
                new Propietario {
                IdPropietario = 1,
                Nombre        = "Pepe",
                Apellido      = "Perez"
            });
            var mockConfig  = new Mock <IConfiguration>();
            var controlador = new PropietariosController(mockRepo.Object);
            var httpContext = new DefaultHttpContext();
            var tempData    = new TempDataDictionary(httpContext, Mock.Of <ITempDataProvider>());

            controlador.TempData = tempData;

            //Act
            var res = controlador.Edit(1) as ViewResult;

            //Assert
            Assert.NotNull(res);
            mockRepo.Verify(x => x.GetById(1), Times.Exactly(1), "No se llamó a GetById exactamente 1 vez");
            Assert.NotNull(res.Model);
            Assert.IsType <Propietario>(res.Model);
            Propietario p = res.Model as Propietario;

            Assert.Equal(1, p.IdPropietario);
        }