示例#1
0
        public void CreateOnderhoudsopdrachtProcessesCommandTest()
        {
            // Arrange
            var autoRepositoryMock      = new Mock <IRepository <Auto, long> >(MockBehavior.Strict);
            var onderhoudRepositoryMock = new Mock <IRepository <Onderhoudsopdracht, long> >(MockBehavior.Strict);
            var publisherMock           = new Mock <IEventPublisher>(MockBehavior.Strict);

            autoRepositoryMock.Setup(x => x.Find(It.IsAny <long>())).Returns(new Auto()
            {
                Id = 1
            });
            onderhoudRepositoryMock.Setup(x => x.Insert(It.IsAny <Onderhoudsopdracht>())).Returns(1);
            publisherMock.Setup(x => x.Publish(It.IsAny <DomainEvent>()));

            var target = new Services.AutoService(autoRepositoryMock.Object, onderhoudRepositoryMock.Object, publisherMock.Object);

            // Act
            target.CreateOnderhoudsopdracht(new Onderhoudsopdracht()
            {
                Kilometerstand = 1234
            });

            // Assert
            onderhoudRepositoryMock.Verify(x => x.Insert(It.IsAny <Onderhoudsopdracht>()), Times.Once());
            publisherMock.Verify(x => x.Publish(It.IsAny <DomainEvent>()), Times.Once());
        }
示例#2
0
 public IActionResult CreateOnderhoudsopdracht([FromBody] Onderhoudsopdracht onderhoudsopdracht)
 {
     if (!ModelState.IsValid)
     {
         var error = new ErrorMessage(ErrorTypes.BadRequest, "Modelstate Invalide");
         return(BadRequest(error));
     }
     try
     {
         onderhoudsopdracht = _service.CreateOnderhoudsopdracht(onderhoudsopdracht);
         return(Ok(onderhoudsopdracht));
     }
     catch (Exception e)
     {
         ExceptionEventPublisher.PublishException(e);
         var error = new ErrorMessage(ErrorTypes.Unknown,
                                      $"Onbekende fout met volgende Command: AutoId:{onderhoudsopdracht.Auto.Id}, kilometerstand:{onderhoudsopdracht.Kilometerstand} {e}");
         return(BadRequest(error));
     }
 }