/// <summary> /// /// </summary> /// <param name="e"></param> public void HandlerApkEvent(ApkAfgemeldEvent e) { using (var context = new OnderhoudBeheerContext(_options)) using (var repository = new OnderhoudsopdrachtRepository(context)) { var opdracht = repository.Find(e.OnderhoudsBeurtId); OpdrachtStatus newState = e.HasSteekProef ? OpdrachtStatussen.Klaargemeld() : OpdrachtStatussen.Afgemeld(); opdracht.OpdrachtStatus = newState.StatusId; opdracht.OpdrachtStatusBeschrijving = newState.Beschrijving; repository.Update(opdracht); var updateEvent = new OnderhoudsopdrachtUpdatedEvent() { RoutingKey = "Minor.Case2.MaRoWo.OnderhoudsBeheer.OnderhoudsopdrachtUpdated", TimeStamp = DateTime.UtcNow, CorrelationID = Guid.NewGuid(), OnderhoudsBeurtId = opdracht.Id, 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 }; _publisher.Publish(updateEvent); } }
public void OnderhoudsopdrachtRepositoryAddTest() { // Arrange - Act using (var repo = new OnderhoudsopdrachtRepository(new OnderhoudBeheerContext(_options))) { repo.Insert(new Onderhoudsopdracht() { Kenteken = "AA-BB-11", HasApk = true, Kilometerstand = 100, OnderhoudsBeschrijving = "Achterlicht links vervangen", OpdrachtAangemaakt = DateTime.UtcNow, Bestuurder = "Rob", TelefoonNrBestuurder = "0315-12356", OpdrachtStatus = 1, OpdrachtStatusBeschrijving = "Aangemeld" }); } // Assert using (var repo = new OnderhoudsopdrachtRepository(new OnderhoudBeheerContext(_options))) { Assert.AreEqual(1, repo.Count()); } }
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 FacadeToDomainService() { // Arrange var eventPublisherMock = new Mock <IEventPublisher>(MockBehavior.Strict); eventPublisherMock.Setup(x => x.Publish(It.IsAny <DomainEvent>())); using (var onderhoudsopdrachtRepo = new OnderhoudsopdrachtRepository(new OnderhoudBeheerContext(_options))) { var onderhoudsopdrachtService = new OnderhoudsopdrachtService(onderhoudsopdrachtRepo, eventPublisherMock.Object); var logServiceMock = new Mock <ILogService>(MockBehavior.Strict); logServiceMock.Setup(x => x.Log(It.IsAny <LogMessage>())); logServiceMock.Setup(x => x.LogException(It.IsAny <LogMessage>())); // Act // Facade receives valid CreateOnderhoudCommand var onderhoudController = new OnderhoudController(onderhoudsopdrachtService, logServiceMock.Object); // Post multiple CreateOnderhoudCommands to the controller using Post method foreach (var createOnderhoudCommand in _validCreateOnderhoudCommands) { // Post will pass CreateOnderhoudCommands to DomainService (OnderhoudsopdrachtService) onderhoudController.Post(createOnderhoudCommand); } // Results stored in database var storedInDatabase = onderhoudsopdrachtRepo.FindAll(); // Assert // Test if repository saved correct entity Assert.AreEqual(3, storedInDatabase.Count()); CollectionAssert.AllItemsAreNotNull(storedInDatabase.ToList()); // Check if all can be found by Id. Id's are starting at 1 and Database is re-created for every test. for (var i = 1; i < _validCreateOnderhoudCommands.Count + 1; i++) { var currentItem = storedInDatabase.Where(x => x.Id == i).FirstOrDefault(); Assert.IsNotNull(currentItem); } // Test if Publisher has been called exactly 3 times eventPublisherMock.Verify(x => x.Publish(It.IsAny <DomainEvent>()), Times.Exactly(_validCreateOnderhoudCommands.Count)); logServiceMock.Verify(x => x.Log(It.IsAny <LogMessage>()), Times.Never()); logServiceMock.Verify(x => x.LogException(It.IsAny <LogMessage>()), Times.Never()); } }
public void OnderhoudsopdrachtRepositoryUpdateTest() { // Arrange string updatedOnderhoudsBeschrijving = "Bijgewerkte OnderhoudsBeschrijving"; using (var repo = new OnderhoudsopdrachtRepository(new OnderhoudBeheerContext(_options))) { repo.Insert(new Onderhoudsopdracht() { Kenteken = "AA-BB-11", HasApk = true, Kilometerstand = 130, OnderhoudsBeschrijving = "Spoiler vervangen", OpdrachtAangemaakt = DateTime.UtcNow, Bestuurder = "Rob", TelefoonNrBestuurder = "0315-12356", OpdrachtStatus = 1, OpdrachtStatusBeschrijving = "Aangemeld" }); } // Act using (var repo = new OnderhoudsopdrachtRepository(new OnderhoudBeheerContext(_options))) { var item = repo.Find(1); item.Kenteken = "AA-BB-12"; item.OnderhoudsBeschrijving = updatedOnderhoudsBeschrijving; repo.Update(item); }; // Assert using (var repo = new OnderhoudsopdrachtRepository(new OnderhoudBeheerContext(_options))) { Assert.AreEqual(1, repo.Count()); Assert.AreEqual(updatedOnderhoudsBeschrijving, repo.Find(1).OnderhoudsBeschrijving); Assert.AreEqual("AA-BB-12", repo.Find(1).Kenteken); } }
public void OnderhoudsopdrachtRepositoryFindTest() { // Arrange string kenteken = "AA-BB-11"; bool isApk = true; int kilometerstand = 100; string onderhoudsBeschrijving = "Accu vervangen"; // Act using (var repo = new OnderhoudsopdrachtRepository(new OnderhoudBeheerContext(_options))) { repo.Insert(new Onderhoudsopdracht() { Kenteken = kenteken, HasApk = isApk, Kilometerstand = kilometerstand, OnderhoudsBeschrijving = onderhoudsBeschrijving, OpdrachtAangemaakt = DateTime.UtcNow, Bestuurder = "Rob", TelefoonNrBestuurder = "0315-12356", OpdrachtStatus = 1, OpdrachtStatusBeschrijving = "Aangemeld" }); } // Assert using (var repo = new OnderhoudsopdrachtRepository(new OnderhoudBeheerContext(_options))) { var result = repo.Find(1); Assert.AreEqual(1, result.Id); Assert.AreEqual(kenteken, result.Kenteken); Assert.AreEqual(isApk, result.HasApk); Assert.AreEqual(kilometerstand, result.Kilometerstand); Assert.AreEqual(onderhoudsBeschrijving, result.OnderhoudsBeschrijving); } }
public void OnderhoudsopdrachtRepositoryInsertReturnIncreasedTest() { // Arrange - Act long generatedId1 = -1; long generatedId2 = -1; long generatedId3 = -1; long generatedId4 = -1; using (var repo = new OnderhoudsopdrachtRepository(new OnderhoudBeheerContext(_options))) { generatedId1 = repo.Insert(new Onderhoudsopdracht() { Kenteken = "AA-BB-11", HasApk = true, Kilometerstand = 100, OnderhoudsBeschrijving = "Achterlicht links vervangen", OpdrachtAangemaakt = DateTime.UtcNow, Bestuurder = "Rob", TelefoonNrBestuurder = "0315-12356", OpdrachtStatus = 1, OpdrachtStatusBeschrijving = "Aangemeld" }); generatedId2 = repo.Insert(new Onderhoudsopdracht() { Kenteken = "AA-BB-11", HasApk = true, Kilometerstand = 100, OnderhoudsBeschrijving = "Achterlicht links vervangen", OpdrachtAangemaakt = DateTime.UtcNow, Bestuurder = "Rob", TelefoonNrBestuurder = "0315-12356", OpdrachtStatus = 1, OpdrachtStatusBeschrijving = "Aangemeld" }); generatedId3 = repo.Insert(new Onderhoudsopdracht() { Kenteken = "AA-BB-11", HasApk = true, Kilometerstand = 100, OnderhoudsBeschrijving = "Achterlicht links vervangen", OpdrachtAangemaakt = DateTime.UtcNow, Bestuurder = "Rob", TelefoonNrBestuurder = "0315-12356", OpdrachtStatus = 1, OpdrachtStatusBeschrijving = "Aangemeld" }); generatedId4 = repo.Insert(new Onderhoudsopdracht() { Kenteken = "AA-BB-11", HasApk = true, Kilometerstand = 100, OnderhoudsBeschrijving = "Achterlicht links vervangen", OpdrachtAangemaakt = DateTime.UtcNow, Bestuurder = "Rob", TelefoonNrBestuurder = "0315-12356", OpdrachtStatus = 1, OpdrachtStatusBeschrijving = "Aangemeld" }); } // Assert using (var repo = new OnderhoudsopdrachtRepository(new OnderhoudBeheerContext(_options))) { Assert.AreEqual(4, repo.Count()); CollectionAssert.AreEqual(new List <long> { generatedId1, generatedId2, generatedId3, generatedId4 }, repo.FindAll().Select(x => x.Id).ToList()); } }