public void GetRespuestas_WhenCalled_ReturnOkResult()
        {
            //Arrange
            _controller = new RespuestaController(_logger, _respuestasInfoRepository);

            var respuestasEntities = new List <everisapi.API.Entities.RespuestaEntity>()
            {
                new everisapi.API.Entities.RespuestaEntity {
                    Id           = 1,
                    PreguntaId   = 1,
                    Estado       = 1,
                    EvaluacionId = 1
                },
                new everisapi.API.Entities.RespuestaEntity {
                    Id           = 2,
                    PreguntaId   = 2,
                    Estado       = 2,
                    EvaluacionId = 1
                }
            };

            mockRepository.Setup(r => r.GetRespuestas()).Returns(respuestasEntities);

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

            //Assert
            Assert.IsType <OkObjectResult>(okResult);
        }
        public void DeleteRespuesta_WhenRespuestaIsNull_ReturnNotFound()
        {
            //Arrange
            _controller = new RespuestaController(_logger, _respuestasInfoRepository);

            //Act
            var okResult = _controller.DeleteRespuesta(RespuestaDelete: null);

            //Assert
            Assert.IsType <NotFoundResult>(okResult);
        }
        public void GetRespuestas_WhenThrowException_ReturnStatusCode()
        {
            //Arrange
            _controller = new RespuestaController(_logger, _respuestasInfoRepository);

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

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

            //Assert
            Assert.IsType <ObjectResult>(okResult);
        }
        public void GetPreguntasNivelOrganizadas_WhenCalled_ReturnOkResult()
        {
            //Arrange
            _controller = new RespuestaController(_logger, _respuestasInfoRepository);

            mockRepository.Setup(r => r.GetPreguntasNivelOrganizadas(1, 1, 1)).Returns(new List <everisapi.API.Models.SectionConAsignacionesDto>());

            //Act
            var okResult = _controller.GetPreguntasNivelOrganizadas(1, 1, 1);

            //Assert
            Assert.IsType <OkObjectResult>(okResult);
        }
        public void GetRespuestasConNotasConAssessments_WhenCalled_ReturnOkResult()
        {
            //Arrange
            _controller = new RespuestaController(_logger, _respuestasInfoRepository);

            mockRepository.Setup(r => r.GetRespuestasConNotas(1, 1)).Returns(new List <everisapi.API.Models.RespuestaConNotasDto>());

            //Act
            var okResult = _controller.GetRespuestasConNotasConAssessments(idevaluacion: 1, assessmentid: 1);

            //Assert
            Assert.IsType <OkObjectResult>(okResult);
        }
        public void UpdateRespuestasAsignacion_WhenCalled_ReturnOkResult()
        {
            //Arrange
            _controller = new RespuestaController(_logger, _respuestasInfoRepository);

            mockRepository.Setup(r => r.UpdateRespuestasAsignacion(1, 1)).Returns(true);

            //Act
            var okResult = _controller.UpdateRespuestasAsignacion(1, 1);

            //Assert
            Assert.IsType <OkObjectResult>(okResult);
        }
        public void GetSectionsDeProyectoYPregunta_WhenThrowException_ReturnStatusCode()
        {
            //Arrange
            _controller = new RespuestaController(_logger, _respuestasInfoRepository);

            mockRepository.Setup(r => r.GetRespuestasFromAsigEval(1, 1)).Throws(new Exception());

            //Act
            var okResult = _controller.GetSectionsDeProyectoYPregunta(1, 1);

            //Assert
            Assert.IsType <ObjectResult>(okResult);
        }
        public void GetRespuesta_WhenGetRespuestaNull_ReturnNotFoundResult()
        {
            //Arrange
            _controller = new RespuestaController(_logger, _respuestasInfoRepository);

            everisapi.API.Entities.RespuestaEntity respuesta = null;

            mockRepository.Setup(r => r.GetRespuesta(1)).Returns(respuesta);

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

            //Assert
            Assert.IsType <NotFoundResult>(okResult);
        }
        public void DeleteRespuesta_WhenExitRespuesta_ReturnBadRequestResult()
        {
            //Arrange
            _controller = new RespuestaController(_logger, _respuestasInfoRepository);

            var respuestasDto = new everisapi.API.Models.RespuestaDto {
                Id           = 1,
                PreguntaId   = 1,
                Estado       = 1,
                EvaluacionId = 1
            };

            mockRepository.Setup(r => r.ExiteRespuesta(1)).Returns(true);

            //Act
            var okResult = _controller.DeleteRespuesta(RespuestaDelete: respuestasDto);

            //Assert
            Assert.IsType <BadRequestResult>(okResult);
        }
        public void AddRespuesta_WhenCalled_ReturnBadRequest()
        {
            //Arrange
            _controller = new RespuestaController(_logger, _respuestasInfoRepository);

            var respuestasDto = new everisapi.API.Models.RespuestaDto {
                Id           = 1,
                PreguntaId   = 1,
                Estado       = 1,
                EvaluacionId = 1
            };

            mockRepository.Setup(r => r.AddRespuesta(It.IsAny <everisapi.API.Models.RespuestaDto>())).Returns(false);

            //Act
            var okResult = _controller.AddRespuesta(RespuestaAdd: respuestasDto);

            //Assert
            Assert.IsType <BadRequestResult>(okResult);
        }
        public void DeleteRespuesta_WhenThrowException_ReturnStatusCode()
        {
            //Arrange
            _controller = new RespuestaController(_logger, _respuestasInfoRepository);

            var respuestasDto = new everisapi.API.Models.RespuestaDto {
                Id           = 1,
                PreguntaId   = 1,
                Estado       = 1,
                EvaluacionId = 1
            };

            mockRepository.Setup(r => r.ExiteRespuesta(1)).Returns(true);
            mockRepository.Setup(r => r.DeleteRespuesta(It.IsAny <everisapi.API.Models.RespuestaDto>())).Throws(new Exception());

            //Act
            var okResult = _controller.DeleteRespuesta(RespuestaDelete: respuestasDto);

            //Assert
            Assert.IsType <ObjectResult>(okResult);
        }
        public void AlterRespuestas_WhenNotExitRespuesta_ReturnNotFound()
        {
            //Arrange
            _controller = new RespuestaController(_logger, _respuestasInfoRepository);

            var respuestasEntity = new everisapi.API.Models.RespuestaConUserDto {
                Id           = 1,
                PreguntaId   = 1,
                Estado       = 1,
                EvaluacionId = 1,
                UserName     = "******"
            };

            mockRepository.Setup(r => r.ExiteRespuesta(1)).Returns(false);

            //Act
            var okResult = _controller.AlterRespuesta(RespuestaUpdate: respuestasEntity);

            //Assert
            Assert.IsType <NotFoundResult>(okResult);
        }
        public void AlterRespuestas_WhenThrowException_ReturnStatusCode()
        {
            //Arrange
            _controller = new RespuestaController(_logger, _respuestasInfoRepository);

            var respuestasEntity = new everisapi.API.Models.RespuestaConUserDto {
                Id           = 1,
                PreguntaId   = 1,
                Estado       = 1,
                EvaluacionId = 1,
                UserName     = "******"
            };

            mockRepository.Setup(r => r.ExiteRespuesta(1)).Throws(new Exception());

            //Act
            var okResult = _controller.AlterRespuesta(RespuestaUpdate: respuestasEntity);

            //Assert
            Assert.IsType <ObjectResult>(okResult);
        }
        public void DeleteRespuesta_GivenInvalidModel_ReturnsBadRequest()
        {
            //Arrange
            _controller = new RespuestaController(_logger, _respuestasInfoRepository);

            _controller.ModelState.AddModelError("error", "some error");

            var respuestasDto = new everisapi.API.Models.RespuestaDto {
                Id           = 1,
                PreguntaId   = 1,
                Estado       = 1,
                EvaluacionId = 1
            };

            //Act
            mockRepository.Setup(r => r.ExiteRespuesta(1)).Returns(true);
            // mockRepository.Setup(r => r.DeleteRespuesta(It.IsAny<everisapi.API.Models.RespuestaDto>())).Returns(true);

            var okResult = _controller.DeleteRespuesta(RespuestaDelete: respuestasDto);

            //Assert
            Assert.IsType <BadRequestObjectResult>(okResult);
        }
        public void AlterRespuesta_WhenCalled_ReturnOkResult()
        {
            //Arrange
            _controller = new RespuestaController(_logger, _respuestasInfoRepository);

            var respuestasEntity = new everisapi.API.Models.RespuestaConUserDto {
                Id           = 1,
                PreguntaId   = 1,
                Estado       = 1,
                EvaluacionId = 1,
                UserName     = "******"
            };

            mockRepository.Setup(r => r.ExiteRespuesta(1)).Returns(true);
            mockRepository.Setup(r => r.UpdateRespuesta(respuestasEntity)).Returns(true);
            mockRepository.Setup(r => r.SaveChanges()).Returns(true);

            //Act
            var okResult = _controller.AlterRespuesta(RespuestaUpdate: respuestasEntity);

            //Assert
            Assert.IsType <OkObjectResult>(okResult);
        }
        public void AlterRespuestas_GivenInvalidModel_ReturnsBadRequest()
        {
            //Arrange
            _controller = new RespuestaController(_logger, _respuestasInfoRepository);

            _controller.ModelState.AddModelError("error", "some error");

            var respuestasEntity = new everisapi.API.Models.RespuestaConUserDto {
                Id           = 1,
                PreguntaId   = 1,
                Estado       = 1,
                EvaluacionId = 1,
                UserName     = "******"
            };

            //Act
            mockRepository.Setup(r => r.ExiteRespuesta(1)).Returns(true);
            mockRepository.Setup(r => r.UpdateRespuesta(respuestasEntity)).Returns(true);

            var okResult = _controller.AlterRespuesta(RespuestaUpdate: respuestasEntity);

            //Assert
            Assert.IsType <BadRequestObjectResult>(okResult);
        }