예제 #1
0
        public void GetProyectosUsuario_WhenCalledNoExitUser_ReturnNotFound()
        {
            //Arrange
            _controller = new ProyectosController(_logger, _userInfoRepository);

            var proyectosDto = new List <everisapi.API.Models.ProyectoDto>()
            {
                new everisapi.API.Models.ProyectoDto {
                    Nombre     = "Proyecto prueba 1",
                    UserNombre = "fmoreno"
                },
                new everisapi.API.Models.ProyectoDto {
                    Nombre     = "Proyecto prueba 2",
                    UserNombre = "fmoreno"
                }
            };

            mockRepository.Setup(r => r.UserExiste(It.IsAny <string>())).Returns(false);
            mockRepository.Setup(r => r.GetProyectosDeUsuario(It.IsAny <string>())).Returns(proyectosDto);

            //Act
            var okResult = _controller.GetProyectosUsuario("fmoreno");

            //Assert
            Assert.IsType <NotFoundResult>(okResult);
        }
예제 #2
0
        public void GetFullProyectos_WhenThrowException_ReturnStatusCode()
        {
            //Arrange
            _controller = new ProyectosController(_logger, _userInfoRepository);
            mockRepository.Setup(r => r.GetFullProyectos()).Throws(new Exception());

            //Act
            var okResult = _controller.GetFullProyectos();

            //Assert
            Assert.IsType <ObjectResult>(okResult);
        }
        public void ProyectosController_ModificarProyecto()
        {
            HelperTestSistema.LimpiarArchivoBD();
            HelperTestSistema.IniciarServidor();

            //Generamos los proyectos de ejemplo directamente sobre la base de datos
            Bugtracker bugtracker    = new Bugtracker();
            var        proyectosTest = HelperInstanciacionProyectos.GetProyectos(2);

            bugtracker.AgregarProyecto(proyectosTest[0]);
            bugtracker.AgregarProyecto(proyectosTest[1]);


            using (IContextoProceso contexto = new ContextoProceso(HelperTestSistema.ObjectFactory))
            {
                contexto.ContenedorObjetos.Store(bugtracker);
            }

            //Reiniciamos la conexion a la base de datos
            HelperTestSistema.ReiniciarConexion();

            var controller = new ProyectosController(HelperTestSistema.ObjectFactory);
            //obtenemos los proyectos y reiniciamos la conexion
            var listadoProyectosBD = controller.Get();

            HelperTestSistema.ReiniciarConexion();

            //obtenemos el primer proyecto y lo modificamos
            var proyectoBD = listadoProyectosBD.ToList()[0];

            proyectoBD.Descripcion = "Proyecto de prueba 1 modificado";

            //modificamos el proyecto en la BD a traves del controller y reiniciamos la conexion
            controller.Put(proyectoBD);
            HelperTestSistema.ReiniciarConexion();

            //limpiamos las variables para garantizar que las instancias quedan limpias
            listadoProyectosBD = null;

            //Obtenemos los proyectos nuevamentes
            listadoProyectosBD = controller.Get();
            var otroProyectoBD = listadoProyectosBD.ToList()[0];

            HelperTestSistema.FinalizarServidor();

            //Asserts

            //La cantidad de proyectos debe ser 2 (ya que solo se modifico un proyecto)
            Assert.AreEqual(2, listadoProyectosBD.ToList().Count);
            //El primer proyecto debe tener la descripcion modificada
            Assert.AreEqual("Proyecto de prueba 1 modificado", listadoProyectosBD.ToList()[0].Descripcion);
            Assert.AreEqual("Proyecto de prueba 2", listadoProyectosBD.ToList()[1].Descripcion);
        }
        public void ObtenerProyectosTest()
        {
            // Arrange
            var db     = new DbContextDatos(GetInMemoryRepository());
            var _param = new ProyectosController(db);

            // Act
            var respuesta = _param.GetProyecto().Result as OkObjectResult;

            // Assert
            Assert.IsType <List <Proyectos> >(respuesta.Value);
        }
예제 #5
0
        public void GetProyectoUsuario_WhenThrowException_ReturnStatusCode()
        {
            //Arrange
            _controller = new ProyectosController(_logger, _userInfoRepository);
            mockRepository.Setup(r => r.UserExiste(It.IsAny <string>())).Returns(true);
            mockRepository.Setup(r => r.GetOneProyecto(It.IsAny <string>(), It.IsAny <int>())).Throws(new Exception());

            //Act
            var okResult = _controller.GetProyectoUsuario("fmoreno", 1);

            //Assert
            Assert.IsType <ObjectResult>(okResult);
        }
예제 #6
0
        public void GetProyecto_WhenCalledNoExitProject_ReturnNotFound()
        {
            //Arrange
            _controller = new ProyectosController(_logger, _userInfoRepository);

            everisapi.API.Entities.ProyectoEntity proyectoEntity = null;

            mockRepository.Setup(r => r.GetFullProject(It.IsAny <int>())).Returns(proyectoEntity);

            //Act
            var okResult = _controller.GetProyecto(1);

            //Assert
            Assert.IsType <NotFoundResult>(okResult);
        }
예제 #7
0
        public void GetProyectoUsuario_WhenCalledNoExitProject_ReturnNotFound()
        {
            //Arrange
            _controller = new ProyectosController(_logger, _userInfoRepository);

            everisapi.API.Models.ProyectoDto proyectoDto = null;

            mockRepository.Setup(r => r.UserExiste(It.IsAny <string>())).Returns(true);
            mockRepository.Setup(r => r.GetOneProyecto(It.IsAny <string>(), It.IsAny <int>())).Returns(proyectoDto);

            //Act
            var okResult = _controller.GetProyectoUsuario("fmoreno", 1);

            //Assert
            Assert.IsType <NotFoundResult>(okResult);
        }
예제 #8
0
        public void AddTeam_WhenCalled_ReturnStatusCode()
        {
            //Arrange
            _controller = new ProyectosController(_logger, _userInfoRepository);

            var proyecto = new everisapi.API.Models.Equipos {
                Id     = 1,
                Nombre = "Proyecto prueba 1",
            };

            mockRepository.Setup(r => r.AddTeam(proyecto)).Throws(new Exception());

            //Act
            var okResult = _controller.AddTeam(proyecto);

            //Assert
            Assert.IsType <ObjectResult>(okResult);
        }
예제 #9
0
        public void GetProyecto_WhenCalled_ReturnOkResult()
        {
            //Arrange
            _controller = new ProyectosController(_logger, _userInfoRepository);

            var proyectoDto = new everisapi.API.Entities.ProyectoEntity {
                Id         = 1,
                Nombre     = "Proyecto prueba 1",
                UserNombre = "fmoreno"
            };

            mockRepository.Setup(r => r.GetFullProject(It.IsAny <int>())).Returns(proyectoDto);

            //Act
            var okResult = _controller.GetProyecto(1);

            //Assert
            Assert.IsType <OkObjectResult>(okResult);
        }
예제 #10
0
        public void DeleteProyecto_WhenNotExitProject_ReturnsBadRequest()
        {
            //Arrange
            _controller = new ProyectosController(_logger, _userInfoRepository);

            var proyecto = new everisapi.API.Models.ProyectoDto {
                Id         = 1,
                Nombre     = "Proyecto prueba 1",
                UserNombre = "fmoreno"
            };

            mockRepository.Setup(r => r.ProyectoExiste(It.IsAny <int>())).Returns(false);
            mockRepository.Setup(r => r.DeleteProj(It.IsAny <everisapi.API.Entities.ProyectoEntity>())).Returns(true);

            //Act
            var okResult = _controller.DeleteProyecto(proyecto);

            //Assert
            Assert.IsType <BadRequestResult>(okResult);
        }
예제 #11
0
        public void DeleteProyecto_GivenInvalidModel_ReturnsBadRequest()
        {
            //Arrange
            _controller = new ProyectosController(_logger, _userInfoRepository);
            _controller.ModelState.AddModelError("error", "some error");

            var proyecto = new everisapi.API.Models.ProyectoDto {
                Id         = 1,
                Nombre     = "Proyecto prueba 1",
                UserNombre = "fmoreno"
            };

            mockRepository.Setup(r => r.ProyectoExiste(It.IsAny <int>())).Returns(true);
            mockRepository.Setup(r => r.DeleteProj(It.IsAny <everisapi.API.Entities.ProyectoEntity>())).Returns(true);

            //Act
            var okResult = _controller.DeleteProyecto(proyecto);

            //Assert
            Assert.IsType <BadRequestObjectResult>(okResult);
        }
예제 #12
0
        public void AddProj_WhenThrowException_ReturnStatusCode()
        {
            //Arrange
            _controller = new ProyectosController(_logger, _userInfoRepository);

            var proyecto = new everisapi.API.Models.ProyectoCreateUpdateDto {
                Id         = 1,
                Nombre     = "Proyecto prueba 1",
                UserNombre = "fmoreno"
            };

            mockRepository.Setup(r => r.ProyectoExiste(It.IsAny <int>())).Returns(false);
            mockRepository.Setup(r => r.UserExiste(It.IsAny <string>())).Returns(true);
            mockRepository.Setup(r => r.AddProj(It.IsAny <everisapi.API.Entities.ProyectoEntity>())).Throws(new Exception());

            //Act
            var okResult = _controller.AddProyecto(proyecto);

            //Assert
            Assert.IsType <ObjectResult>(okResult);
        }
예제 #13
0
        public void GetProyectoUsuario_WhenCalled_ReturnOkResult()
        {
            //Arrange
            _controller = new ProyectosController(_logger, _userInfoRepository);

            var proyectoDto = new everisapi.API.Models.ProyectoDto {
                Id     = 1,
                Nombre = "Proyecto prueba 1",

                UserNombre = "fmoreno"
            };

            mockRepository.Setup(r => r.UserExiste(It.IsAny <string>())).Returns(true);
            mockRepository.Setup(r => r.GetOneProyecto(It.IsAny <string>(), It.IsAny <int>())).Returns(proyectoDto);

            //Act
            var okResult = _controller.GetProyectoUsuario("fmoreno", 1);

            //Assert
            Assert.IsType <OkObjectResult>(okResult);
        }
예제 #14
0
        public void UpdateProyecto_WhenCalled_ReturnOkResult()
        {
            //Arrange
            _controller = new ProyectosController(_logger, _userInfoRepository);

            var proyecto = new everisapi.API.Models.ProyectoCreateUpdateDto {
                Id         = 1,
                Nombre     = "Proyecto prueba 1",
                UserNombre = "fmoreno"
            };

            mockRepository.Setup(r => r.ProyectoExiste(It.IsAny <int>())).Returns(true);
            mockRepository.Setup(r => r.UserExiste(It.IsAny <string>())).Returns(true);
            mockRepository.Setup(r => r.AlterProj(It.IsAny <everisapi.API.Entities.ProyectoEntity>())).Returns(true);

            //Act
            var okResult = _controller.UpdateProyecto(proyecto);

            //Assert
            Assert.IsType <OkObjectResult>(okResult);
        }
예제 #15
0
        public void GetAllAssessments_WhenCalled_ReturnOkResult()
        {
            //Arrange
            _controller = new ProyectosController(_logger, _userInfoRepository);

            var assessmentEntities = new List <everisapi.API.Entities.AssessmentEntity>()
            {
                new everisapi.API.Entities.AssessmentEntity {
                    AssessmentName = "Assessment 1"
                },
                new everisapi.API.Entities.AssessmentEntity {
                    AssessmentName = "Assessment 2"
                }
            };

            mockRepository.Setup(r => r.GetAllAssessments()).Returns(assessmentEntities);

            //Act
            var okResult = _controller.GetAllAssessments();

            //Assert
            Assert.IsType <OkObjectResult>(okResult);
        }
예제 #16
0
        public void GetFullProyectos_WhenCalled_ReturnOkResult()
        {
            //Arrange
            _controller = new ProyectosController(_logger, _userInfoRepository);

            var proyectosDto = new List <everisapi.API.Models.ProyectoDto>()
            {
                new everisapi.API.Models.ProyectoDto {
                    Nombre = "Proyecto prueba 1"
                },
                new everisapi.API.Models.ProyectoDto {
                    Nombre = "Proyecto prueba 2"
                }
            };

            mockRepository.Setup(r => r.GetFullProyectos()).Returns(proyectosDto);

            //Act
            var okResult = _controller.GetFullProyectos();

            //Assert
            Assert.IsType <OkObjectResult>(okResult);
        }
예제 #17
0
        public void GetAllNotTestProjects_WhenCalled_ReturnOkResult()
        {
            //Arrange
            _controller = new ProyectosController(_logger, _userInfoRepository);

            var proyectosEntities = new List <everisapi.API.Entities.ProyectoEntity>()
            {
                new everisapi.API.Entities.ProyectoEntity {
                    Nombre = "Proyecto prueba 1"
                },
                new everisapi.API.Entities.ProyectoEntity {
                    Nombre = "Proyecto prueba 2"
                }
            };

            mockRepository.Setup(r => r.GetAllNotTestProjects()).Returns(proyectosEntities);

            //Act
            var okResult = _controller.GetAllNotTestProjects();

            //Assert
            Assert.IsType <OkObjectResult>(okResult);
        }
예제 #18
0
        public void ProyectosController_NuevoProyecto()
        {
            HelperTestSistema.LimpiarArchivoBD();
            HelperTestSistema.IniciarServidor();

            //Obtenemos los proyectos de prueba
            var proyectoDto = HelperInstanciacionProyectos.GetProyectos(1)[0];

            // Hacemos post del proyecto
            var controller = new ProyectosController(HelperTestSistema.ObjectFactory);

            controller.Post(proyectoDto);

            //Reiniciamos la conexion para simular los postbacks
            HelperTestSistema.ReiniciarConexion();

            //Solicitamos los proyectos al controller
            var proyectos = controller.Get();

            //Obtenemos el listado de objetos bugtracker del sistema a ver si hay uno solo
            int cantidadBugtrackers = 0;

            using (IContextoProceso contexto = HelperTestSistema.ObjectFactory.Create <IContextoProceso>())
            {
                cantidadBugtrackers = (from Bugtracker b in contexto.ContenedorObjetos select b).Count();
            }


            HelperTestSistema.ReiniciarConexion();
            HelperTestSistema.FinalizarServidor();

            //Asserts
            //Deberia haber una unica instancia del bugtracker
            Assert.AreEqual(1, cantidadBugtrackers);
            //El nombre del proyecto deberia ser Proyecto 1
            Assert.AreEqual("Proyecto 1", proyectos.ToList()[0].Nombre);
        }
예제 #19
0
        public void ProyectosController_ListarProyectos()
        {
            HelperTestSistema.LimpiarArchivoBD();
            HelperTestSistema.IniciarServidor();

            //Obtenemos los proyectos de prueba
            Bugtracker bugtracker    = new Bugtracker();
            var        proyectosTest = HelperInstanciacionProyectos.GetProyectos(2);

            bugtracker.AgregarProyecto(proyectosTest[0]);
            bugtracker.AgregarProyecto(proyectosTest[1]);

            //Guardamos los proyectos de prueba directamente en la base de datos
            using (IContextoProceso contextoProceso = new ContextoProceso(HelperTestSistema.ObjectFactory))
            {
                contextoProceso.ContenedorObjetos.Store(bugtracker);
            }
            //Reiniciamos la conexion a la base de datos
            HelperTestSistema.ReiniciarConexion();

            //Traemos los proyectos registrados desde el controller
            var controller         = new ProyectosController(HelperTestSistema.ObjectFactory);
            var proyectosResultado = controller.Get();

            HelperTestSistema.FinalizarServidor();


            //Asserts
            //Assert.Inconclusive( "Refactorizar y terminar este test" );
            //La cantidad de proyectos registrados deben ser 2
            Assert.AreEqual(2, proyectosResultado.ToList().Count());
            //El primer proyecto se debe llamar proyecto 1
            Assert.AreEqual("Proyecto 1", proyectosResultado.ToList()[0].Nombre);
            //El segundo proyecto se debe llamar proyecto 2
            Assert.AreEqual("Proyecto 2", proyectosResultado.ToList()[1].Nombre);
        }