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; } } }
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); }
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; }