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()); }
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)); } }