示例#1
0
        public void Bruker_Er_I_DB_OK()
        {
            var _mock  = new Mock <InterfaceDbTBruker>();
            var Loggin = new LogInn()
            {
                Brukernavn = "*****@*****.**",
                Passord    = "Password123",
            };

            _mock.Setup(x => x.BrukerIdb(Loggin)).Returns(true);
            _mock.Verify(framework => framework.BrukerIdb(Loggin), Times.AtMostOnce());

            InterfaceDbTBruker lovable = _mock.Object;
            var actual = lovable.BrukerIdb(Loggin);

            Assert.AreEqual(true, actual);
        }
示例#2
0
        public void Hent_BrukerInfo_Moq()
        {
            var _mock = new Mock <InterfaceDbTBruker>();

            var info = new List <Profil>()
            {
                new Profil()
                {
                    id        = 1,
                    Fornavn   = "mats",
                    Etternavn = "Løkken",
                    Email     = "*****@*****.**",
                    Adresse   = "Kirkeveien 67"
                }
            };

            _mock.Setup(x => x.HentBruker(It.IsAny <string>())).Returns(info);
            _mock.Verify(framework => framework.HentBruker("*****@*****.**"), Times.AtMostOnce());

            InterfaceDbTBruker lovable = _mock.Object;
            var actual = lovable.HentBruker("*****@*****.**");

            Assert.AreEqual(info, actual);
        }
示例#3
0
 public BrukerBLL(InterfaceDbTBruker moqs)
 {
     _repository = moqs;
 }
示例#4
0
 public BrukerBLL()
 {
     _repository = new DbTransaksjonerBruker();
 }
示例#5
0
 public BrukerBLL(InterfaceDbTBruker moqs)
 {
     _repository = moqs;
 }
示例#6
0
 public BrukerBLL()
 {
     _repository = new DbTransaksjonerBruker();
 }
示例#7
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;
        }
示例#8
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;
        }