public void JaarOvergangUitvoerenTest() { // ARRANGE // Vrij veel voorbereiding voor een vrij flauwe test. var ribbeloff = new OfficieleAfdeling { ID = 1, LeefTijdTot = 7, LeefTijdVan = 6, Naam = "Ribbel" }; var groep = new ChiroGroep { ID = 10, GroepsWerkJaar = new List <GroepsWerkJaar>() }; var gwj = new GroepsWerkJaar { WerkJaar = 2010, Groep = groep }; groep.GroepsWerkJaar.Add(gwj); var afdjaar1 = new AfdelingsJaar { ID = 1, GeboorteJaarVan = 2003, GeboorteJaarTot = 2004, OfficieleAfdeling = ribbeloff }; var afd1 = new Afdeling { ID = 2, AfdelingsJaar = new List <AfdelingsJaar> { afdjaar1 }, ChiroGroep = groep }; afdjaar1.Afdeling = afd1; groep.Afdeling.Add(afd1); gwj.AfdelingsJaar.Add(afdjaar1); var newafdjaar = new AfdelingDetail { AfdelingID = afd1.ID, AfdelingsJaarID = afdjaar1.ID, GeboorteJaarVan = DateTime.Today.Year - 10, GeboorteJaarTot = DateTime.Today.Year - 8, OfficieleAfdelingID = ribbeloff.ID, Geslacht = GeslachtsType.Gemengd }; var officieleAfdelingenRepo = new DummyRepo <OfficieleAfdeling>(new[] { ribbeloff }); // ACT var target = Factory.Maak <JaarOvergangManager>(); var teActiveren = new List <AfdelingsJaarDetail> { newafdjaar }; target.JaarOvergangUitvoeren(teActiveren, groep, officieleAfdelingenRepo); // ASSERT Assert.AreEqual(groep.GroepsWerkJaar.Count, 2); Assert.AreEqual(groep.GroepsWerkJaar.OrderByDescending(gwjr => gwjr.WerkJaar).First().AfdelingsJaar.Count, 1); }
public void CategorieVerwijderenMetPersoonForceer() { // ARRANGE #region testdata var groep = new ChiroGroep(); var categorie = new Categorie { ID = 1, Groep = groep }; groep.Categorie.Add(categorie); var gelieerdePersoon = new GelieerdePersoon { Groep = groep }; groep.GelieerdePersoon.Add(gelieerdePersoon); categorie.GelieerdePersoon.Add(gelieerdePersoon); gelieerdePersoon.Categorie.Add(categorie); #endregion #region dependency injection var categorieenRepo = new DummyRepo <Categorie>(new List <Categorie> { categorie }); var repositoryProviderMock = new Mock <IRepositoryProvider>(); repositoryProviderMock.Setup(src => src.RepositoryGet <Categorie>()) .Returns(categorieenRepo); Factory.InstantieRegistreren(repositoryProviderMock.Object); #endregion // ACT var groepenService = Factory.Maak <GroepenService>(); // Verwijder categorie door te forceren groepenService.CategorieVerwijderen(categorie.ID, true); // ASSERT Assert.IsNull(categorieenRepo.ByID(categorie.ID)); // categorie weg }
public void ContactInstellenSaveTest() { // ARRANGE var groepsWerkJaar = new GroepsWerkJaar { Groep = new ChiroGroep { ID = 1 }, }; var bivak = new Uitstap { ID = 2, IsBivak = true, GroepsWerkJaar = groepsWerkJaar, }; var deelnemer = new Deelnemer { ID = 3, Uitstap = bivak, GelieerdePersoon = new GelieerdePersoon { Persoon = new Persoon() } }; groepsWerkJaar.Uitstap.Add(bivak); // mock data acces var deelnemersRepoMock = new DummyRepo <Deelnemer>(new List <Deelnemer> { deelnemer }); var repositoryProviderMock = new Mock <IRepositoryProvider>(); repositoryProviderMock.Setup(src => src.RepositoryGet <Deelnemer>()) .Returns(deelnemersRepoMock); Factory.InstantieRegistreren(repositoryProviderMock.Object); // ACT var target = Factory.Maak <UitstappenService>(); target.ContactInstellen(deelnemer.ID); // ASSERT Assert.IsFalse(deelnemersRepoMock.SaveCount == 0); }
public void BewarenTest() { // ARRANGE var groepsWerkJaar = new GroepsWerkJaar { Groep = new ChiroGroep { ID = 1 } }; var uitstapInfo = new UitstapInfo { IsBivak = true }; var gwjRepo = new DummyRepo <GroepsWerkJaar>(new List <GroepsWerkJaar> { groepsWerkJaar }); // mock synchronisatie voor kipadmin var bivakSyncMock = new Mock <IBivakSync>(); bivakSyncMock.Setup(src => src.Bewaren(It.IsAny <Uitstap>())) // controleer of het bivak bewaard werd voor de sync. .Callback((() => Assert.AreNotEqual(0, gwjRepo.SaveCount))) .Verifiable(); Factory.InstantieRegistreren(bivakSyncMock.Object); // mock data acces var repositoryProviderMock = new Mock <IRepositoryProvider>(); repositoryProviderMock.Setup(src => src.RepositoryGet <GroepsWerkJaar>()) .Returns(gwjRepo); Factory.InstantieRegistreren(repositoryProviderMock.Object); // ACT var target = Factory.Maak <UitstappenService>(); target.Bewaren(groepsWerkJaar.Groep.ID, uitstapInfo); // ASSERT bivakSyncMock.Verify(src => src.Bewaren(It.IsAny <Uitstap>()), Times.AtLeastOnce()); }
public void LedenInProbeerPeriodeNietSyncen() { // ARRANGE const int huidigWerkjaar = 2014; DateTime vandaagZoGezegd = new DateTime(2015, 02, 23); // We hebben 1 leidster, die nog in haar probeerperiode zit. var leidster = new Leiding { ID = 1, EindeInstapPeriode = vandaagZoGezegd.AddDays(7), GelieerdePersoon = new GelieerdePersoon { ID = 2, Persoon = new Persoon { ID = 3, VoorNaam = "Kelly", Naam = "Pfaff" } }, GroepsWerkJaar = new GroepsWerkJaar { ID = 4, WerkJaar = huidigWerkjaar } }; // De repository bevat enkel deze leidster. var ledenRepo = new DummyRepo <Lid>(new List <Lid> { leidster }); // Repositoryprovidermock opzetten var repoProviderMock = new Mock <IRepositoryProvider>(); repoProviderMock.Setup(src => src.RepositoryGet <Lid>()).Returns(ledenRepo); // Mock voor personenSync var personenSyncMock = new Mock <IPersonenSync>(); personenSyncMock.Setup( src => src.MembershipRegistreren(It.Is <Lid>(l => l.ID == leidster.ID))).Verifiable(); // Meer mocks. var groepsWerkJaarManagerMock = new Mock <IGroepsWerkJarenManager>(); groepsWerkJaarManagerMock.Setup(src => src.HuidigWerkJaarNationaal()).Returns(huidigWerkjaar); groepsWerkJaarManagerMock.Setup(src => src.Vandaag()).Returns(vandaagZoGezegd); // Mocks registeren Factory.InstantieRegistreren(repoProviderMock.Object); Factory.InstantieRegistreren(personenSyncMock.Object); Factory.InstantieRegistreren(groepsWerkJaarManagerMock.Object); // ACT var target = Factory.Maak <MembershipMaintenance>(); target.MembershipsMaken(); // ASSERT personenSyncMock.Verify( src => src.MembershipRegistreren(It.Is <Lid>(l => l.ID == leidster.ID)), Times.Never); }
public ActionResult <string> ProcessOrder2(string ordertype) { _logger.LogInformation("ProcessOrder2 called"); CommandTransactionManager ctm = new CommandTransactionManager(_logger); try { //Update Stock UpdateStockCTransactionClient updateStockclient = new UpdateStockCTransactionClient(_logger); updateStockclient.Name = "stock"; var stockoutput = ctm.ExecuteInTransaction(updateStockclient, new Dictionary <string, object> { { "Quantity", 5 } }); //Check ordertype Dictionary <string, object> customeroutput = null; if (ordertype == "buy") { UpdateWeBuyCTransactionClient updateTotalBuyClient = new UpdateWeBuyCTransactionClient(_logger, "UpdateCustomerTotalBuy"); customeroutput = ctm.ExecuteInTransaction(updateTotalBuyClient, null); } else { UpdateWeSellCTransactionClient updateTotalSellClient = new UpdateWeSellCTransactionClient(_logger, "UpdateCustomerTotalSell"); customeroutput = ctm.ExecuteInTransaction(updateTotalSellClient, null); } //Do some non tractional service call stuff _logger.LogInformation("Non Tractional Call"); try { DummyRepo.UpdateOrder(true); } catch (Exception ex) { //Exception in non transaction part, will throw RepositoryException exception //We method try catch block for handing throw; } //Back again transactional stuff VoucherCTransactionClient voucherRedeemClient = new VoucherCTransactionClient(_logger, "VocherRedeemClient"); //Taking customer key from customer service output string customerkey = ""; if (customeroutput.ContainsKey("CustomerKey")) { customerkey = (string)customeroutput["CustomerKey"]; } ctm.ExecuteInTransaction(voucherRedeemClient, new Dictionary <string, object> { { "Voucher2", "abc" }, { "OrderNumber", "KR34342" }, { "CustomerKey", customerkey } }, "VoucherRedeeem"); } catch (TransactionExecutionException isEx) { return("Order processing failed, but rollback were successful"); } catch (InconsistantStateException isEx) { return("Order processing failed, code flow error"); } catch (RollbackFailedException rlbckEx) { return("Order processing failed, system in incosistant state"); } catch (RepositoryException repoEx) { //Since there is exception in the non transactional part //I need to maually call RollBack(); ctm.RollBack(); return("Order processing failed, but rollback were successful"); } catch (Exception ex) { throw; } return("Order processed successfully"); }
public EmployeeController() { _dataSource = new DummyRepo(); }