public void HandleApkRequestWithSteekproef() { var pubMock = new Mock <IEventPublisher>(MockBehavior.Strict); pubMock.Setup(x => x.Publish(It.IsAny <DomainEvent>())); var service = new ApkEventService(_options, pubMock.Object); long id = -1; using (var context = new OnderhoudBeheerContext(_options)) using (var repo = new OnderhoudsopdrachtRepository(context)) { id = repo.Insert(new Onderhoudsopdracht() { Kenteken = "AA-BB-11", HasApk = true, Kilometerstand = 100, OnderhoudsBeschrijving = "Achterlicht links vervangen", OpdrachtAangemaakt = DateTime.UtcNow, OpdrachtStatus = OpdrachtStatussen.Aangemeld().StatusId, OpdrachtStatusBeschrijving = OpdrachtStatussen.Aangemeld().Beschrijving, Bestuurder = "Rob", TelefoonNrBestuurder = "1232323" }); } var apkEvent = new ApkAfgemeldEvent(); apkEvent.CorrelationID = new Guid(); apkEvent.HasSteekProef = true; apkEvent.Kenteken = "12-12-12"; apkEvent.SteekProefDatum = new DateTime(2016, 12, 12); apkEvent.TimeStamp = new DateTime(); apkEvent.RoutingKey = "test"; apkEvent.OnderhoudsBeurtId = id; service.HandlerApkEvent(apkEvent); pubMock.Verify(x => x.Publish(It.IsAny <DomainEvent>()), Times.Once); using (var context = new OnderhoudBeheerContext(_options)) using (var repo = new OnderhoudsopdrachtRepository(context)) { var opdracht = repo.Find(id); Assert.AreEqual(OpdrachtStatussen.Klaargemeld().StatusId, opdracht.OpdrachtStatus); Assert.AreEqual(OpdrachtStatussen.Klaargemeld().Beschrijving, opdracht.OpdrachtStatusBeschrijving); } }
public void OpdrachtStatussenMethodsReturnExpected() { // Arrange - Act var aangemeld = OpdrachtStatussen.Aangemeld(); var klaarGemeld = OpdrachtStatussen.Klaargemeld(); var afgemeld = OpdrachtStatussen.Afgemeld(); var afgehandeld = OpdrachtStatussen.Afgehandeld(); // Assert Assert.AreEqual(10, aangemeld.StatusId); Assert.AreEqual("Aangemeld", aangemeld.Beschrijving); Assert.AreEqual(20, klaarGemeld.StatusId); Assert.AreEqual("Klaar gemeld", klaarGemeld.Beschrijving); Assert.AreEqual(30, afgemeld.StatusId); Assert.AreEqual("Afgemeld", afgemeld.Beschrijving); Assert.AreEqual(100, afgehandeld.StatusId); Assert.AreEqual("Afgehandeld", afgehandeld.Beschrijving); }
/// <summary> /// /// </summary> /// <param name="onderhoudCommand"></param> public void AddOnderhoudsopdracht(CreateOnderhoudCommand onderhoudCommand) { // Map onderhoudCommand to a valid Onderhoudsopdracht entity var opdracht = new Onderhoudsopdracht { HasApk = onderhoudCommand.HasApk, Kenteken = onderhoudCommand.Kenteken, Kilometerstand = onderhoudCommand.Kilometerstand, OnderhoudsBeschrijving = onderhoudCommand.OnderhoudsBeschrijving, OpdrachtAangemaakt = onderhoudCommand.OpdrachtAangemaakt, OpdrachtStatus = OpdrachtStatussen.Aangemeld().StatusId, OpdrachtStatusBeschrijving = OpdrachtStatussen.Aangemeld().Beschrijving, Bestuurder = onderhoudCommand.Bestuurder, TelefoonNrBestuurder = onderhoudCommand.TelefoonNrBestuurder }; // Persist data using repository and store key after insert var opdrachtId = _onderhoudsopdrachtRepository.Insert(opdracht); // Map opdracht to OnderhoudsopdrachtCreatedEvent var opdrachtCreatedEvent = new OnderhoudsopdrachtCreatedEvent { RoutingKey = "Minor.Case2.MaRoWo.OnderhoudsBeheer.OnderhoudsopdrachtCreated", TimeStamp = DateTime.UtcNow, CorrelationID = Guid.NewGuid(), OnderhoudsBeurtId = opdrachtId, HasApk = opdracht.HasApk, Kenteken = opdracht.Kenteken, Kilometerstand = opdracht.Kilometerstand, OnderhoudsBeschrijving = opdracht.OnderhoudsBeschrijving, OpdrachtAangemaakt = opdracht.OpdrachtAangemaakt, OpdrachtStatus = opdracht.OpdrachtStatus, OpdrachtStatusBeschrijving = opdracht.OpdrachtStatusBeschrijving, Bestuurder = opdracht.Bestuurder, TelefoonNrBestuurder = opdracht.TelefoonNrBestuurder }; // Publish event "OnderhoudCreatedEvent" _eventPublisher.Publish(opdrachtCreatedEvent); }