Exemplo n.º 1
0
        public bool RegistrerBruker(Registrer innBruker)
        {
            if (EmailDb(innBruker))
            {
                return(false);
            }

            byte[] passordDb = lagHash(innBruker.BekreftPassord);

            var nyBruker = new dbBruker()
            {
                Passord       = passordDb,
                Fornavn       = innBruker.Fornavn,
                Etternavn     = innBruker.Etternavn,
                Email         = innBruker.Email,
                Telefonnummer = innBruker.Telefonnummer
            };

            using (var db = new Dbkontekst())
            {
                try
                {
                    db.Brukere.Add(nyBruker);
                    db.SaveChanges();
                    return(true);
                }
                catch (Exception feil)
                {
                    return(false);
                }
            }
        }
Exemplo n.º 2
0
 public bool EmailDb(Registrer innBruker)
 {   //Sjekker om bruker er i db
     using (var db = new Dbkontekst())
     {
         dbBruker funnetBruker = db.Brukere.FirstOrDefault
                                     (b => b.Email == innBruker.Email);
         if (funnetBruker == null)
         {
             return(false);
         }
         else
         {
             return(true);
         }
     }
 }
Exemplo n.º 3
0
 public bool BrukerIdb(LogInn innBruker)
 {   //Sjekker om bruker er i db
     using (var db = new Dbkontekst())
     {
         byte[]   passordDb    = lagHash(innBruker.Passord);
         dbBruker funnetBruker = db.Brukere.FirstOrDefault
                                     (b => b.Passord == passordDb && b.Email == innBruker.Brukernavn);
         if (funnetBruker == null)
         {
             return(false);
         }
         else
         {
             return(true);
         }
     }
 }
Exemplo n.º 4
0
        public void SettInnMal_OK()
        {
            var _mock = new Mock <InterfaceDbTVakt>();

            MalerSkjema maler = new MalerSkjema()
            {
                ProsjektId = 1,
                startTid   = "12:15",
                sluttTid   = "13.15"
            };
            var brukernavn = new dbBruker();


            _mock.Setup(x => x.RegistrerMal(maler, brukernavn.Email)).Returns(true);
            _mock.Verify(framework => framework.RegistrerMal(maler, brukernavn.Email), Times.AtMostOnce());

            InterfaceDbTVakt lovable = _mock.Object;
            var actual = lovable.RegistrerMal(maler, brukernavn.Email);

            Assert.AreEqual(true, actual);
        }
Exemplo n.º 5
0
        public BrukerTest()
        {
            // Lager mock som vi kan gjøre spørringer mot

            List <BrukerListe> brukere = new List <BrukerListe>
            {
                new BrukerListe()
                {
                    Brukernavn = "*****@*****.**", ProsjektDeltakerId = 1, Admin = false, Navn = "Mats"
                },
                new BrukerListe()
                {
                    Brukernavn = "*****@*****.**", ProsjektDeltakerId = 2, Admin = true, Navn = "Gordo"
                }
            };
            List <dbBruker> brukereDB = new List <dbBruker>
            {
                new dbBruker
                {
                    BrukerId = 1, Email = "*****@*****.**"
                },
                new dbBruker
                {
                    BrukerId = 2, Email = "*****@*****.**"
                },
                new dbBruker
                {
                    BrukerId = 3, Email = "*****@*****.**"
                }
            };
            List <Vakt> vakterDB = new List <Vakt>
            {
                new Vakt {
                    ProsjektId = 1, start = Convert.ToDateTime("22.12.2012 16.43"), end = Convert.ToDateTime("22.12.2012 16.43"), title = "Dagvakt", Beskrivelse = "Opplæring"
                },
                new Vakt {
                    ProsjektId = 2, start = Convert.ToDateTime("22.12.2012 16.43"), end = Convert.ToDateTime("22.12.2012 16.43"), title = "Dagvakt", Beskrivelse = "Opplæring"
                },
                new Vakt {
                    ProsjektId = 1, BrukerId = 1, start = Convert.ToDateTime("22.12.2012 16.43"), end = Convert.ToDateTime("22.12.2012 16.43"), title = "Dagvakt", Beskrivelse = "Opplæring"
                }
            };
            List <Prosjektdeltakelse> deltakelser = new List <Prosjektdeltakelse>
            {
                new Prosjektdeltakelse()
                {
                    BrukerId = 1, ProsjektId = 1, ProsjektDeltakerId = 1, Admin = false
                },
                new Prosjektdeltakelse()
                {
                    BrukerId = 2, ProsjektId = 1, ProsjektDeltakerId = 2, Admin = false
                }
            };
            List <Prosjekt> prosjekter = new List <Prosjekt>
            {
                new Prosjekt()
                {
                    ProsjektId = 1, EierId = 1
                },
                new Prosjekt()
                {
                    ProsjektId = 2, EierId = 2
                }
            };

            // Mock the Products Repository using Moq
            Mock <InterfaceDbTBruker>   mockProductRepository         = new Mock <InterfaceDbTBruker>();
            Mock <InterfaceDbTProsjekt> mockProductRepositoryProsjekt = new Mock <InterfaceDbTProsjekt>();



            mockProductRepository.Setup(mr => mr.HentBrukere(It.IsAny <int>(), It.IsAny <string>()))
            .Returns(
                (int i, string u) =>
            {
                var deltakels = deltakelser.Where(x => x.ProsjektId == i).ToList();
                List <BrukerListe> testliste = new List <BrukerListe>();
                foreach (var del in deltakels)
                {
                    testliste.Add(new BrukerListe()
                    {
                        ProsjektId = del.ProsjektId, ProsjektDeltakerId = del.ProsjektDeltakerId, Admin = del.Admin
                    });
                }
                return(testliste);
            });

            mockProductRepository.Setup(mr => mr.GiBrukerAdminTilgang(It.IsAny <Sjef>(), It.IsAny <string>()))
            .Returns(
                (Sjef s, string u) =>
            {
                if (!this.mockProductRepositoryProsjekt.ErEier(u, s.ProsjektId))
                {
                    return(false);
                }
                var AdminTilgang = deltakelser.FirstOrDefault(p => p.ProsjektId == s.ProsjektId && p.BrukerId == s.BrukerId);
                if (AdminTilgang == null)
                {
                    return(false);
                }
                try
                {
                    AdminTilgang.Admin = true;
                    return(true);
                }
                catch (Exception feil)
                {
                    return(false);
                }
            });



            mockProductRepository.Setup(mr => mr.RegistrerBruker(It.IsAny <Registrer>()))
            .Returns(
                (Registrer r) =>
            {
                if (this.mockProductRepository.EmailDb(r))
                {
                    return(false);
                }
                var algoritme = System.Security.Cryptography.SHA256.Create();
                var innData   = System.Text.Encoding.ASCII.GetBytes(r.BekreftPassord);
                var passordDb = algoritme.ComputeHash(innData);

                var nyBruker = new dbBruker()
                {
                    Passord       = passordDb,
                    Fornavn       = r.Fornavn,
                    Etternavn     = r.Etternavn,
                    Email         = r.Email,
                    Telefonnummer = r.Telefonnummer
                };

                using (var db = new Dbkontekst())
                {
                    try
                    {
                        db.Brukere.Add(nyBruker);
                        db.SaveChanges();
                        return(true);
                    }
                    catch (Exception feil)
                    {
                        return(false);
                    }
                }
            });

            mockProductRepository.Setup(mr => mr.EmailDb(It.IsAny <Registrer>()))
            .Returns(
                (Registrer r) =>
            {
                dbBruker funnetBruker = brukereDB.FirstOrDefault
                                            (b => b.Email == r.Email);
                if (funnetBruker == null)
                {
                    return(false);
                }
                else
                {
                    return(true);
                }
            });



            mockProductRepository.Setup(mr => mr.HentVakter(It.IsAny <string>(), It.IsAny <int>()))
            .Returns(
                (string u, int i) =>
            {
                int id = this.mockProductRepositoryProsjekt.BrukerId(u);

                List <Timeliste> pros = (from p in vakterDB
                                         where p.BrukerId == id && p.ProsjektId == i
                                         select
                                         new Timeliste()
                {
                    ProsjektId = p.ProsjektId,
                    PeriodeStart = p.start,
                    PeriodeSlutt = p.end
                }).ToList();

                return(pros);
            });
            mockProductRepository.Setup(mr => mr.FjernAdminTilgang(It.IsAny <Sjef>(), It.IsAny <string>()))
            .Returns(
                (Sjef s, string u) =>
            {
                if (!this.mockProductRepositoryProsjekt.ErEier(u, s.ProsjektId))
                {
                    return(false);
                }
                try
                {
                    var AdminTilgang   = deltakelser.FirstOrDefault(p => p.ProsjektId == s.ProsjektId && p.BrukerId == s.BrukerId);
                    AdminTilgang.Admin = false;

                    return(true);
                }
                catch (Exception feil)
                {
                    return(false);
                }
            });


            mockProductRepositoryProsjekt.Setup(mr => mr.ErEier(It.IsAny <string>(), It.IsAny <int>()))
            .Returns(
                (string u, int i) =>
            {
                var bId    = this.mockProductRepositoryProsjekt.BrukerId(u);
                var TestOk = (from x in prosjekter
                              where x.EierId == bId && x.ProsjektId == i
                              select x.EierId).SingleOrDefault();
                bool ok = false;
                if (TestOk != 0)
                {
                    ok = true;
                    return(ok);
                }
                return(ok);
            });

            mockProductRepositoryProsjekt.Setup(mr => mr.ErAdmin(It.IsAny <string>(), It.IsAny <int>()))
            .Returns(
                (string u, int i) =>
            {
                var okAdmin = false;
                var bId     = this.mockProductRepositoryProsjekt.BrukerId(u);
                var TestOk  = (from x in deltakelser
                               where x.ProsjektId == i && x.BrukerId == bId
                               select x.Admin).SingleOrDefault();

                if (TestOk != false)
                {
                    okAdmin = true;
                    return(okAdmin);
                }
                return(okAdmin);
            });

            mockProductRepositoryProsjekt.Setup(mr => mr.BrukerId(It.IsAny <string>()))
            .Returns(
                (string u) =>
            {
                int userId = (from x in brukereDB
                              where x.Email == u
                              select x.BrukerId).SingleOrDefault();
                return(userId);
            });

            // Allows us to test saving a product

            // Complete the setup of our Mock Product Repository
            this.mockProductRepository         = mockProductRepository.Object;
            this.mockProductRepositoryProsjekt = mockProductRepositoryProsjekt.Object;
        }