public void RechtenMaarGeenGavGroepTest()
        {
            // ARRANGE

            var gebruikersRecht = new GebruikersRechtV2
            {
                Persoon = new Persoon {
                    ID = 1, AdNummer = 2
                },
                Groep = new ChiroGroep {
                    ID = 3
                },
                VervalDatum = DateTime.Now.AddDays(1)       // geldig tot morgen.
            };

            gebruikersRecht.Persoon.GebruikersRechtV2.Add(gebruikersRecht);
            gebruikersRecht.Groep.GebruikersRechtV2.Add(gebruikersRecht);

            var authenticatieManagerMock = new Mock <IAuthenticatieManager>();

            authenticatieManagerMock.Setup(mgr => mgr.AdNummerGet()).Returns(gebruikersRecht.Persoon.AdNummer);
            Factory.InstantieRegistreren(authenticatieManagerMock.Object);

            // ACT

            var  target = Factory.Maak <AutorisatieManager>();
            bool actual = target.IsGav(gebruikersRecht.Groep);

            // ASSERT

            Assert.IsFalse(actual);
        }
        /// <summary>
        /// Verlengt het gegeven <paramref name="gebruikersRecht"/> (indien mogelijk)
        /// </summary>
        /// <param name="gebruikersRecht">
        /// Te verlengen gebruikersrecht
        /// </param>
        public void Verlengen(GebruikersRechtV2 gebruikersRecht)
        {
            if (!gebruikersRecht.IsVerlengbaar)
            {
                // Als er gebruikersrecht is, maar dat is niet verlengbaar, dan gooien
                // we er een exception tegenaan.
                throw new FoutNummerException(FoutNummer.GebruikersRechtNietVerlengbaar,
                                              Resources.GebruikersRechtNietVerlengbaar);
            }

            gebruikersRecht.VervalDatum = NieuweVervalDatum();
        }
Ejemplo n.º 3
0
        public void RechtenAfnemenPermissiesTest()
        {
            // ARRANGE

            var gr = new GebruikersRechtV2();
            var gelieerdePersoon = new GelieerdePersoon
            {
                ID    = 1,
                Groep = new ChiroGroep {
                    ID = 3
                },
                Persoon = new Persoon {
                    ID = 2, GebruikersRechtV2 = new List <GebruikersRechtV2> {
                        gr
                    }
                }
            };

            gelieerdePersoon.Persoon.GelieerdePersoon.Add(gelieerdePersoon);

            gr.Groep   = gelieerdePersoon.Groep;
            gr.Persoon = gelieerdePersoon.Persoon;
            gelieerdePersoon.Persoon.GebruikersRechtV2.Add(gr);

            var repositoryProviderMock = new Mock <IRepositoryProvider>();

            repositoryProviderMock.Setup(src => src.RepositoryGet <Persoon>())
            .Returns(new DummyRepo <Persoon>(new List <Persoon> {
                gelieerdePersoon.Persoon
            }));
            repositoryProviderMock.Setup(src => src.RepositoryGet <GebruikersRechtV2>())
            .Returns(new DummyRepo <GebruikersRechtV2>(new List <GebruikersRechtV2> {
                gr
            }));

            Factory.InstantieRegistreren(repositoryProviderMock.Object);

            // ACT

            var target = Factory.Maak <GebruikersService>();

            target.RechtenAfnemen(gelieerdePersoon.Persoon.ID, new[] { gelieerdePersoon.Groep.ID });

            // ASSERT

            Assert.IsTrue(gr.VervalDatum <= DateTime.Now);
        }
        /// <summary>
        /// Zoekt het gebruikersrecht op van <paramref name="persoon"/> op <paramref name="groep"/>. Als dat nog niet
        /// bestaat, maak er een aan. Voeg de gevraagde permissies toe. De vervaldatum wordt vervangen door de
        /// standaardvervaldatum op dit moment.
        /// </summary>
        /// <param name="persoon">Persoon die gebruikersrechten moet krijgen.</param>
        /// <param name="groep">Groep waarvoor de persoon gebruikersrechten moet krijgen.</param>
        /// <param name="persoonlijkeGegevens">Permissies op persoonlijke gegevens.</param>
        /// <param name="groepsGegevens">Permissies op de gegevens van de groep.</param>
        /// <param name="personenInAfdeling">Permissies op de leden in de eigen afdeling.</param>
        /// <param name="personenInGroep">Permissies op alle personen van de eigen groep.</param>
        public void ToekennenOfWijzigen(Persoon persoon, Groep groep, Permissies persoonlijkeGegevens, Permissies groepsGegevens,
                                        Permissies personenInAfdeling, Permissies personenInGroep)
        {
            var gebruikersRecht = persoon.GebruikersRechtV2.FirstOrDefault(gr => gr.Groep.Equals(groep));

            if (gebruikersRecht == null)
            {
                gebruikersRecht = new GebruikersRechtV2 {
                    Groep = groep, Persoon = persoon
                };
                groep.GebruikersRechtV2.Add(gebruikersRecht);
                persoon.GebruikersRechtV2.Add(gebruikersRecht);
            }

            gebruikersRecht.PersoonsPermissies  |= persoonlijkeGegevens;
            gebruikersRecht.GroepsPermissies    |= groepsGegevens;
            gebruikersRecht.AfdelingsPermissies |= personenInAfdeling;
            gebruikersRecht.IedereenPermissies  |= personenInGroep;
            gebruikersRecht.VervalDatum          = NieuweVervalDatum();
        }
Ejemplo n.º 5
0
        public void WijzigenTest()
        {
            // ARRANGE

            var gelieerdePersoon = new GelieerdePersoon
            {
                ID    = 1,
                Groep = new ChiroGroep {
                    ID = 3
                },
                Persoon = new Persoon {
                    ID = 2
                }
            };

            gelieerdePersoon.Persoon.GelieerdePersoon.Add(gelieerdePersoon);

            var gebruikersrecht = new GebruikersRechtV2
            {
                Persoon     = gelieerdePersoon.Persoon,
                Groep       = gelieerdePersoon.Groep,
                VervalDatum = DateTime.Now.AddDays(-1)                          // gisteren vervallen
            };

            gebruikersrecht.Persoon.GebruikersRechtV2.Add(gebruikersrecht);

            // ACT

            var target = new GebruikersRechtenManager();

            target.ToekennenOfWijzigen(gelieerdePersoon.Persoon, gelieerdePersoon.Groep, Permissies.Bewerken,
                                       Permissies.Bewerken, Permissies.Bewerken, Permissies.Bewerken);

            // ASSERT

            Assert.IsTrue(gebruikersrecht.VervalDatum > DateTime.Now);
        }
Ejemplo n.º 6
0
 public bool IsGav(GebruikersRechtV2 gelieerdePersoon)
 {
     return(true);
 }
 /// <summary>
 /// Determines whether the specified gebruikersrecht is verlengbaar.
 /// </summary>
 /// <param name="gebruikersrecht">The gebruikersrecht.</param>
 /// <returns><c>true</c> if the specified gebruikersrecht is verlengbaar; otherwise, <c>false</c>.</returns>
 /// <remarks></remarks>
 public bool IsVerlengbaar(GebruikersRechtV2 gebruikersrecht)
 {
     throw new NotImplementedException();
 }
 public bool IsGav(GebruikersRechtV2 gelieerdePersoon)
 {
     throw new NotImplementedException();
 }
 /// <summary>
 /// Pas de vervaldatum van het gegeven <paramref name="gebruikersRecht"/> aan, zodanig dat
 /// het niet meer geldig is.  ZONDER TE PERSISTEREN.
 /// </summary>
 /// <param name="gebruikersRecht">
 /// Te vervallen gebruikersrecht
 /// </param>
 public void Intrekken(GebruikersRechtV2 gebruikersRecht)
 {
     Intrekken(new[] { gebruikersRecht });
 }
        public void RechtenMaarGeenPermissiesPersoonsAdresTest()
        {
            // ARRANGE

            var gebruikersRecht = new GebruikersRechtV2
            {
                Persoon = new Persoon {
                    ID = 1, AdNummer = 2
                },
                Groep = new ChiroGroep {
                    ID = 3
                },
                VervalDatum = DateTime.Now.AddDays(1)       // geldig tot morgen.
            };

            gebruikersRecht.Persoon.GebruikersRechtV2.Add(gebruikersRecht);
            gebruikersRecht.Groep.GebruikersRechtV2.Add(gebruikersRecht);

            var adres = new BelgischAdres {
                ID = 6
            };

            var gp1 = new GelieerdePersoon {
                ID = 4, Groep = gebruikersRecht.Groep, Persoon = new Persoon {
                    ID = 7
                }
            };
            var gp2 = new GelieerdePersoon {
                ID = 5, Groep = gebruikersRecht.Groep, Persoon = new Persoon {
                    ID = 8
                }
            };

            gp1.Persoon.GelieerdePersoon.Add(gp1);
            gp2.Persoon.GelieerdePersoon.Add(gp2);

            gebruikersRecht.Groep.GelieerdePersoon.Add(gp1);
            gebruikersRecht.Groep.GelieerdePersoon.Add(gp2);

            var pa1 = new PersoonsAdres {
                Persoon = gp1.Persoon, Adres = adres
            };
            var pa2 = new PersoonsAdres {
                Persoon = gp2.Persoon, Adres = adres
            };

            gp1.Persoon.PersoonsAdres.Add(pa1);
            gp2.Persoon.PersoonsAdres.Add(pa2);
            adres.PersoonsAdres.Add(pa1);
            adres.PersoonsAdres.Add(pa2);

            var authenticatieManagerMock = new Mock <IAuthenticatieManager>();

            authenticatieManagerMock.Setup(mgr => mgr.AdNummerGet()).Returns(gebruikersRecht.Persoon.AdNummer);
            Factory.InstantieRegistreren(authenticatieManagerMock.Object);

            // ACT

            var  target = Factory.Maak <AutorisatieManager>();
            bool actual = target.IsGav(new[] { pa1, pa2 });

            // ASSERT

            Assert.IsFalse(actual);
        }
        public void RechtenMaarGeenPermissiesLedenTest()
        {
            // ARRANGE

            var gebruikersRecht = new GebruikersRechtV2
            {
                Persoon = new Persoon {
                    ID = 1, AdNummer = 2
                },
                Groep = new ChiroGroep {
                    ID = 3
                },
                VervalDatum = DateTime.Now.AddDays(1)       // geldig tot morgen.
            };

            gebruikersRecht.Persoon.GebruikersRechtV2.Add(gebruikersRecht);
            gebruikersRecht.Groep.GebruikersRechtV2.Add(gebruikersRecht);

            var l1 = new Kind
            {
                ID = 6,
                GelieerdePersoon = new GelieerdePersoon {
                    ID = 4, Groep = gebruikersRecht.Groep
                },
                GroepsWerkJaar = new GroepsWerkJaar {
                    ID = 7, Groep = gebruikersRecht.Groep
                }
            };
            var l2 = new Kind
            {
                ID = 7,
                GelieerdePersoon = new GelieerdePersoon {
                    ID = 5, Groep = gebruikersRecht.Groep
                },
                GroepsWerkJaar = l1.GroepsWerkJaar
            };

            l1.GroepsWerkJaar.Lid.Add(l1);
            l1.GroepsWerkJaar.Lid.Add(l2);
            gebruikersRecht.Groep.GroepsWerkJaar.Add(l1.GroepsWerkJaar);

            l1.GelieerdePersoon.Lid.Add(l1);
            l2.GelieerdePersoon.Lid.Add(l2);
            gebruikersRecht.Groep.GelieerdePersoon.Add(l1.GelieerdePersoon);
            gebruikersRecht.Groep.GelieerdePersoon.Add(l2.GelieerdePersoon);


            var authenticatieManagerMock = new Mock <IAuthenticatieManager>();

            authenticatieManagerMock.Setup(mgr => mgr.AdNummerGet()).Returns(gebruikersRecht.Persoon.AdNummer);
            Factory.InstantieRegistreren(authenticatieManagerMock.Object);

            // ACT

            var  target = Factory.Maak <AutorisatieManager>();
            bool actual = target.IsGav(new[] { l1, l2 });

            // ASSERT

            Assert.IsFalse(actual);
        }
Ejemplo n.º 12
0
 public bool IsGav(GebruikersRechtV2 recht)
 {
     return(IsGav(recht.Groep));
 }