public void CreatePregunta_WhenCalledWithNull_ReturnsBadRequestResult()
        {
            //Arrange
            _controller = new PreguntasController(_logger, _asignacionInfoRepository);

            everisapi.API.Models.PreguntaCreateDto preguntaEntity = null;

            mockRepository.Setup(r => r.AsignacionExiste(It.IsAny <int>())).Returns(true);
            mockRepository.Setup(r => r.SaveChanges()).Returns(true);

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

            //Assert
            Assert.IsType <BadRequestResult>(okResult);
        }
        public void CreatePregunta_WhenCalledThrowException_ReturnsStatusCodeResult()
        {
            //Arrange
            _controller = new PreguntasController(_logger, _asignacionInfoRepository);

            var preguntaEntity = new everisapi.API.Models.PreguntaCreateDto {
                Pregunta  = "Pregunta 1",
                Respuesta = true
            };

            mockRepository.Setup(r => r.AsignacionExiste(It.IsAny <int>())).Returns(true);
            mockRepository.Setup(r => r.SaveChanges()).Throws(new Exception());

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

            //Assert
            Assert.IsType <ObjectResult>(okResult);
        }
        public void CreatePregunta_WhenCalledRespuestaFalse_ReturnsOkResult()
        {
            //Arrange
            _controller = new PreguntasController(_logger, _asignacionInfoRepository);

            var preguntaEntity = new everisapi.API.Models.PreguntaCreateDto {
                Pregunta  = "Pregunta 1",
                Respuesta = false
            };

            mockRepository.Setup(r => r.AsignacionExiste(It.IsAny <int>())).Returns(true);
            mockRepository.Setup(r => r.SaveChanges()).Returns(true);

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

            //Assert
            Assert.IsType <CreatedAtRouteResult>(okResult);
        }
        public void CreatePregunta_WhenCalledInvalidModel_ReturnsBadRequestResult()
        {
            //Arrange
            _controller = new PreguntasController(_logger, _asignacionInfoRepository);
            _controller.ModelState.AddModelError("error", "some error");

            var preguntaEntity = new everisapi.API.Models.PreguntaCreateDto {
                Pregunta  = "Pregunta 1",
                Respuesta = true
            };

            mockRepository.Setup(r => r.AsignacionExiste(It.IsAny <int>())).Returns(true);
            mockRepository.Setup(r => r.SaveChanges()).Returns(true);

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

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