public void FindVraagNull()
        {
            var vraagDTO = new VraagDTO
            {
                Id = 1,
                JsonCorrecteAntwoord    = "Correct",
                JsonMogelijkeAntwoorden = "Mogelijk",
                MaxScoreVraag           = 10,
                TypeVraagId             = 1,
                VraagStelling           = "Vraagstelling"
            };

            var response = new Response <VraagDTO> {
                DTO = vraagDTO
            };

            //Arrange
            var mockService = new Mock <IVragenService>();

            mockService.Setup(x => x.FindVraag(1)).Returns(response);
            var controller = new VragenController(mockService.Object);

            //Act
            var foundTeam = controller.GetById(5) as ObjectResult;

            //Assert
            Assert.IsInstanceOf(typeof(BadRequestObjectResult), foundTeam);
        }
        public void FindVraagCorrect()
        {
            var vraagDTO = new VraagDTO
            {
                Id = 1,
                JsonCorrecteAntwoord    = "Correct",
                JsonMogelijkeAntwoorden = "Mogelijk",
                MaxScoreVraag           = 10,
                TypeVraagId             = 1,
                VraagStelling           = "Vraagstelling"
            };

            var response = new Response <VraagDTO> {
                DTO = vraagDTO
            };

            //Arrange
            var mockService = new Mock <IVragenService>();

            mockService.Setup(x => x.FindVraag(1)).Returns(response);
            var controller = new VragenController(mockService.Object);

            //Act
            var foundVraag = controller.GetById(1) as ObjectResult;
            var entity     = foundVraag.Value as VragenViewModelReponse;

            //Assert
            Assert.That(entity.Id, Is.EqualTo(vraagDTO.Id));
            Assert.That(entity.JsonCorrecteAntwoord, Is.EqualTo(vraagDTO.JsonCorrecteAntwoord));
            Assert.That(entity.JsonMogelijkeAntwoorden, Is.EqualTo(vraagDTO.JsonMogelijkeAntwoorden));
            Assert.That(entity.MaxScoreVraag, Is.EqualTo(vraagDTO.MaxScoreVraag));
            Assert.That(entity.TypeVraagId, Is.EqualTo(vraagDTO.TypeVraagId));
            Assert.That(entity.VraagStelling, Is.EqualTo(vraagDTO.VraagStelling));
        }
        public void UpdateVraagNull()
        {
            var vraagDTO = new VraagDTO
            {
                Id = 1,
                JsonCorrecteAntwoord    = "Correct",
                JsonMogelijkeAntwoorden = "Mogelijk",
                MaxScoreVraag           = 10,
                TypeVraagId             = 1,
                VraagStelling           = "Vraagstelling"
            };

            var response = new Response <VraagDTO> {
                DTO = vraagDTO
            };

            //Arrange
            var mockService = new Mock <IVragenService>();

            mockService.Setup(x => x.Update(It.IsAny <VraagDTO>())).Returns(response);
            var controller = new VragenController(mockService.Object);

            //Assert
            Assert.IsInstanceOf <BadRequestObjectResult>(controller.Update(null));
        }
 public static VragenViewModelRequest MapVraagDTOToVraagViewModelRequest(VraagDTO vraagDTO)
 {
     if (vraagDTO == null)
     {
         throw new NullReferenceException("vraagDTO object is null");
     }
     return(new VragenViewModelRequest
     {
         //Id = vraagDTO.Id,
         MaxScoreVraag = vraagDTO.MaxScoreVraag,
         TypeVraagId = vraagDTO.TypeVraagId,
         VraagStelling = vraagDTO.VraagStelling,
         JsonCorrecteAntwoord = vraagDTO.JsonCorrecteAntwoord,
         JsonMogelijkeAntwoorden = vraagDTO.JsonMogelijkeAntwoorden
     });
 }
 public static Vraag MapVraagDTOToVraagModel(VraagDTO vraagDTO)
 {
     if (vraagDTO == null)
     {
         throw new NullReferenceException("VraagDTO is null");
     }
     return(new Vraag
     {
         Id = vraagDTO.Id,
         MaxScoreVraag = vraagDTO.MaxScoreVraag,
         //TypeVraag = (TypeVraag)vraagDTO.TypeVraagDTO,
         TypeVraagId = vraagDTO.TypeVraagId,
         VraagStelling = vraagDTO.VraagStelling,
         JsonCorrecteAntwoord = vraagDTO.JsonCorrecteAntwoord,
         JsonMogelijkeAntwoorden = vraagDTO.JsonMogelijkeAntwoorden,
     });
 }
        public void AddVraagCorrect()
        {
            var vraagDTO = new VraagDTO
            {
                Id = 1,
                JsonCorrecteAntwoord    = "Correct",
                JsonMogelijkeAntwoorden = "Mogelijk",
                MaxScoreVraag           = 10,
                TypeVraagId             = 1,
                VraagStelling           = "Vraagstelling"
            };

            var response = new Response <VraagDTO> {
                DTO = vraagDTO
            };

            //Arrange
            var mockService = new Mock <IVragenService>();

            mockService.Setup(x => x.AddVraag(It.IsAny <VraagDTO>())).Returns(response);
            var controller = new VragenController(mockService.Object);

            //Act
            var vraagViewModel = new VragenViewModelRequest
            {
                //Id = 1,
                JsonCorrecteAntwoord    = "Correct",
                JsonMogelijkeAntwoorden = "Mogelijk",
                MaxScoreVraag           = 10,
                TypeVraagId             = 1,
                VraagStelling           = "Vraagstelling"
            };

            var addVraag = controller.Create(vraagViewModel) as ObjectResult;
            var entity   = addVraag.Value as VragenViewModelReponse;

            //Assert
            Assert.DoesNotThrow(() => controller.Create(vraagViewModel));
            Assert.That(entity.Id, Is.EqualTo(vraagDTO.Id));
            Assert.That(entity.JsonCorrecteAntwoord, Is.EqualTo(vraagDTO.JsonCorrecteAntwoord));
            Assert.That(entity.JsonMogelijkeAntwoorden, Is.EqualTo(vraagDTO.JsonMogelijkeAntwoorden));
            Assert.That(entity.MaxScoreVraag, Is.EqualTo(vraagDTO.MaxScoreVraag));
            Assert.That(entity.TypeVraagId, Is.EqualTo(vraagDTO.TypeVraagId));
            Assert.That(entity.VraagStelling, Is.EqualTo(vraagDTO.VraagStelling));
        }
        public void UpdateVraagCorrect()
        {
            var vraag = new Vraag
            {
                Id            = 1,
                MaxScoreVraag = 10,
                //TypeVraag = TypeVraag.Meerkeuze,
                TypeVraagId             = 1,
                VraagStelling           = "Dit is de stelling van de vraag",
                JsonCorrecteAntwoord    = "JsonCorrecteAntwoord",
                JsonMogelijkeAntwoorden = "JsonMogelijkeAntwoorden"
            };

            //Arrange
            var unitOfWork = new Mock <IRondeVraagUnitOfWork>();

            unitOfWork.Setup(x => x.VraagRepository.Update(It.IsAny <Vraag>())).Returns(vraag);

            var vraagService = new VraagService(unitOfWork.Object);

            //Act
            var vraagDTO = new VraagDTO
            {
                Id            = 1,
                MaxScoreVraag = 10,
                //TypeVraagDTO = TypeVraagDTO.Meerkeuze,
                TypeVraagId             = 1,
                VraagStelling           = "Dit is de stelling van de vraag",
                JsonCorrecteAntwoord    = "JsonCorrecteAntwoord",
                JsonMogelijkeAntwoorden = "JsonMogelijkeAntwoorden"
            };

            vraagService.Update(vraagDTO);

            //Assert
            var response = vraagService.Update(vraagDTO);

            Assert.IsFalse(response.DidError);
            Assert.That(response.DTO.Id, Is.EqualTo(vraagDTO.Id));
            Assert.That(response.DTO.JsonCorrecteAntwoord, Is.EqualTo(vraagDTO.JsonCorrecteAntwoord));
            Assert.That(response.DTO.JsonMogelijkeAntwoorden, Is.EqualTo(vraagDTO.JsonMogelijkeAntwoorden));
            Assert.That(response.DTO.MaxScoreVraag, Is.EqualTo(vraagDTO.MaxScoreVraag));
            Assert.That(response.DTO.TypeVraagId, Is.EqualTo(vraagDTO.TypeVraagId));
            Assert.That(response.DTO.VraagStelling, Is.EqualTo(vraagDTO.VraagStelling));
        }
        public Response <VraagDTO> AddVraag(VraagDTO vraagDTO)
        {
            try
            {
                VraagValidation  validator = new VraagValidation();
                ValidationResult results   = validator.Validate(vraagDTO);

                if (results.IsValid)
                {
                    var vraag       = VraagMapper.MapVraagDTOToVraagModel(vraagDTO);
                    var vraagENtity = _rondeVraagUnitOfWork.VraagRepository.Add(vraag);

                    _rondeVraagUnitOfWork.Commmit();
                    var vraagEntityDTo = VraagMapper.MapVraagModelToVraagDTO(vraagENtity);
                    var response       = new Response <VraagDTO> {
                        DTO = vraagEntityDTo
                    };
                    return(response);
                }
                else
                {
                    return(new Response <VraagDTO> {
                        Errors = results.Errors.Select(x => new Error {
                            Type = ErrorType.ValidationError, Message = x.ErrorMessage
                        }).ToList()
                    });
                }
            }
            catch (Exception ex)
            {
                return(new Response <VraagDTO> {
                    Errors = new List <Error>()
                    {
                        new Error {
                            Type = ErrorType.Exception, Message = ex.Message
                        }
                    }
                });
            }
        }
        public void DeleteVraagCorrect()
        {
            var vraagDTO = new VraagDTO
            {
                Id = 1,
                JsonCorrecteAntwoord    = "Correct",
                JsonMogelijkeAntwoorden = "Mogelijk",
                MaxScoreVraag           = 10,
                TypeVraagId             = 1,
                VraagStelling           = "Vraagstelling"
            };

            var response = new Response <int> {
                DTO = 1
            };

            //Arrange
            var mockService = new Mock <IVragenService>();

            mockService.Setup(x => x.Delete(1)).Returns(response);
            var controller = new VragenController(mockService.Object);

            //Act
            var vraagViewModel = new VragenViewModelReponse
            {
                Id = 1,
                JsonCorrecteAntwoord    = "Correct",
                JsonMogelijkeAntwoorden = "Mogelijk",
                MaxScoreVraag           = 10,
                TypeVraagId             = 1,
                VraagStelling           = "Vraagstelling"
            };

            var deleteVraag = controller.Delete(vraagViewModel.Id) as ObjectResult;


            //Assert
            Assert.DoesNotThrow(() => controller.Delete(vraagViewModel.Id));
        }
        public void DeleteVraagCorrect()
        {
            var vraag = new Vraag
            {
                Id            = 1,
                MaxScoreVraag = 10,
                //TypeVraag = TypeVraag.Meerkeuze,
                TypeVraagId             = 1,
                VraagStelling           = "Dit is de stelling van de vraag",
                JsonCorrecteAntwoord    = "JsonCorrecteAntwoord",
                JsonMogelijkeAntwoorden = "JsonMogelijkeAntwoorden"
            };

            //Arrange
            var unitOfWork = new Mock <IRondeVraagUnitOfWork>();

            unitOfWork.Setup(x => x.VraagRepository.Remove(vraag.Id)).Returns(true);

            var vraagService = new VraagService(unitOfWork.Object);

            //Act
            var vraagDTO = new VraagDTO
            {
                Id            = 1,
                MaxScoreVraag = 10,
                //TypeVraagDTO = TypeVraagDTO.Meerkeuze,
                TypeVraagId             = 1,
                VraagStelling           = "Dit is de stelling van de vraag",
                JsonCorrecteAntwoord    = "JsonCorrecteAntwoord",
                JsonMogelijkeAntwoorden = "JsonMogelijkeAntwoorden"
            };

            //Assert
            var response = vraagService.Delete(vraagDTO.Id);

            Assert.IsFalse(response.DidError);
        }