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); }
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); }
public BrukerBLL(InterfaceDbTBruker moqs) { _repository = moqs; }
public BrukerBLL() { _repository = new DbTransaksjonerBruker(); }
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; }
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; }