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);
        }
Ejemplo n.º 2
0
        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
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
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());
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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");
        }
Ejemplo n.º 7
0
 public EmployeeController()
 {
     _dataSource = new DummyRepo();
 }