public void Post_Legg_til_prosjekt_NOT_FOUND() { var pros = new Prosjekt(); pros.Arbeidsplass = ""; var commandBus = new Mock <IProsjektLogikk>(); commandBus.Setup(c => c.RegistrerProsjekt(pros, "test")).Returns(false); // Mapper.CreateMap<CategoryFormModel, CreateOrUpdateCategoryCommand>(); var httpConfiguration = new HttpConfiguration(); WebApiConfig.Register(httpConfiguration); var httpRouteData = new HttpRouteData(httpConfiguration.Routes["DefaultApi"], new HttpRouteValueDictionary { { "controller", "ProsjektApi" } }); var controller = new ProsjektApiController(commandBus.Object) { Request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/api/ProsjektApi/") { Properties = { { HttpPropertyKeys.HttpConfigurationKey, httpConfiguration }, { HttpPropertyKeys.HttpRouteDataKey, httpRouteData } } } }; // Act var response = controller.Post(pros); // Assert Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode); }
public void RegistrerProsjekt_UgyldigBruker_False() { Prosjekt p = new Prosjekt(); bool testProduct = this.mockProductRepository.RegistrerProsjekt(p, "*****@*****.**"); Assert.IsFalse(testProduct); }
public void Post_Legg_til_prosjekt_Bad_Request() { var commandBus = new Mock <IProsjektLogikk>(); commandBus.Setup(c => c.RegistrerProsjekt(It.IsAny <Prosjekt>(), It.IsAny <string>())).Returns(true); // Mapper.CreateMap<CategoryFormModel, CreateOrUpdateCategoryCommand>(); var httpConfiguration = new HttpConfiguration(); WebApiConfig.Register(httpConfiguration); var httpRouteData = new HttpRouteData(httpConfiguration.Routes["DefaultApi"], new HttpRouteValueDictionary { { "controller", "ProsjektApi" } }); var controller = new ProsjektApiController(commandBus.Object) { Request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/api/ProsjektApi/") { Properties = { { HttpPropertyKeys.HttpConfigurationKey, httpConfiguration }, { HttpPropertyKeys.HttpRouteDataKey, httpRouteData } } } }; // Act var pros = new Prosjekt(); pros.Arbeidsplass = ""; // The ASP.NET pipeline doesn't run, so validation don't run. controller.ModelState.AddModelError("Arbeidsplass", "mock error message"); var response = controller.Post(pros); // Assert Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode); }
public bool taLedigVakt(int id, string brukernavn) { var dbt = new DbTransaksjonerProsjekt(); var db = new Dbkontekst(); try { // finn personen i databasen Vakt taVakt = db.Vakter.FirstOrDefault(p => p.VaktId == id); VaktRequest nyRequest = new VaktRequest(); // oppdater vakt fra databasen var pId = taVakt.ProsjektId; Prosjekt prosjekt = db.Prosjekter.FirstOrDefault(p => p.ProsjektId == pId); nyRequest.VaktId = taVakt.VaktId; nyRequest.Sendt = DateTime.Now; nyRequest.BrukerIdFra = dbt.BrukerId(brukernavn); nyRequest.BrukerIdTil = prosjekt.EierId; nyRequest.ProsjektId = prosjekt.ProsjektId; db.Vaktrequester.Add(nyRequest); db.SaveChanges(); return(true); } catch (Exception feil) { return(false); } }
public void PUT_Endre_Prosjekt_NOT_found() { var commandBus = new Mock <IProsjektLogikk>(); Prosjekt test = null; commandBus.Setup(c => c.EndreProsjekt(test, It.IsAny <string>())).Returns(false); // Mapper.CreateMap<CategoryFormModel, CreateOrUpdateCategoryCommand>(); var httpConfiguration = new HttpConfiguration(); WebApiConfig.Register(httpConfiguration); var httpRouteData = new HttpRouteData(httpConfiguration.Routes["DefaultApi"], new HttpRouteValueDictionary { { "controller", "ProsjektApi" } }); var controller = new ProsjektApiController(commandBus.Object) { Request = new HttpRequestMessage(HttpMethod.Put, "http://localhost/api/ProsjektApi/") { Properties = { { HttpPropertyKeys.HttpConfigurationKey, httpConfiguration }, { HttpPropertyKeys.HttpRouteDataKey, httpRouteData } } } }; // The ASP.NET pipeline doesn't run, so validation don't run. var response = controller.Put(test); // Assert commandBus.Verify(e => e.EndreProsjekt(test, "brukernavn"), Times.Never); Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode); // Act }
public void RegistrerProsjekt_Tom_False() { Prosjekt p = new Prosjekt(); p.Arbeidsplass = ""; bool testProduct = this.mockProductRepository.RegistrerProsjekt(p, "*****@*****.**"); Assert.IsFalse(testProduct); }
public bool Oppdater(Prosjekt prosjekt) { Prosjekt p = Get(prosjekt.ProsjektNr); if (p != null) { p.Intern = prosjekt.Intern; p.ProsjektNavn = prosjekt.ProsjektNavn; p.Brukere = prosjekt.Brukere; return(true); } return(false); }
public bool Slett(Prosjekt prosjekt) { bool suksess = _dataSource.Prosjekter.Remove(prosjekt); if (suksess) { var prosjektBrukere = _dataSource.Brukere.Where(bruker => (bruker.Prosjekter != null && bruker.Prosjekter.Contains(prosjekt))); foreach (var bruker in prosjektBrukere) { bruker.Prosjekter.Remove(prosjekt); } } return(suksess); }
public ActionResult LeggTilProsjekt(ProsjekterModel Model) { Prosjekt NyttProsjekt = new Prosjekt(); NyttProsjekt.Kunde = Model.Kunde.Trim(); NyttProsjekt.Navn = Model.Prosjektnavn.Trim(); NyttProsjekt.Beskrivelse = Model.Beskrivelse.Trim(); NyttProsjekt.Fra = short.Parse(DateTime.Now.Year.ToString()); NyttProsjekt.Til = short.Parse(DateTime.Now.Year.ToString()); NyttProsjekt.Avsluttet = false; db.Prosjekt.Add(NyttProsjekt); db.SaveChanges(); return(RedirectToAction("Index", "Prosjekter")); }
public HttpResponseMessage Postprosjekt(Prosjekt prosjekt) { if (prosjekt != null) { bool suksess = _prosjektRepository.LeggTil(prosjekt); if (suksess) { HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, prosjekt); response.Headers.Location = new Uri(Url.Link("GetProsjektMedId", new { id = prosjekt.ProsjektNr })); return(response); } } return(Request.CreateResponse(HttpStatusCode.BadRequest)); }
public void PutProsjekt_naarProsjektMedIdFinnes_skalReturnere_HttpStatusOk() { // Arrange var prosjekt = new Prosjekt { Intern = true, ProsjektNavn = "ProsjektNavn", ProsjektNr = 1 }; // Act using (var response = SendHttpRequest(HttpMethod.Put, "api/prosjekter/" + prosjekt.ProsjektNr, prosjekt)) { // Assert response.StatusCode.ShouldEqual(HttpStatusCode.OK); } }
public HttpResponseMessage PutBruker(int id, Prosjekt prosjekt) { if (id == prosjekt.ProsjektNr) { bool suksess = _prosjektRepository.Oppdater(prosjekt); if (suksess) { return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateResponse(HttpStatusCode.NotFound)); } } return(Request.CreateResponse(HttpStatusCode.BadRequest)); }
public ActionResult SlettProsjekt(SlettProsjektModel Model) { var Item = from a in db.Prosjekt where a.ProsjektId.Equals(Model.Id) select a; Prosjekt ValgtProsjekt = Item.FirstOrDefault(); ICollection <TekniskProfil> Profiler = ValgtProsjekt.TekniskProfil; ICollection <Medlem> Medlemmer = ValgtProsjekt.Medlem; db.Medlem.RemoveRange(Medlemmer); db.TekniskProfil.RemoveRange(Profiler); db.Prosjekt.Remove(ValgtProsjekt); db.SaveChanges(); return(RedirectToAction("Index", "Prosjekter")); }
public ActionResult LeggTilProfil(LeggTilTekniskProfilModel Model) { var Data = from a in db.Prosjekt where a.ProsjektId.Equals(Model.ProsjektId) select a; Prosjekt Pro = Data.FirstOrDefault(); TekniskProfil NyTekniskProfil = new TekniskProfil(); NyTekniskProfil.Navn = Model.ProfilNavn; NyTekniskProfil.Elementer = ""; Pro.TekniskProfil.Add(NyTekniskProfil); db.SaveChanges(); return(RedirectToAction("Index", "TekniskeProfiler")); }
public void PostProsjekt_naarProsjektHarRikitigFormat_skalReturnere_HttpStatusCreatedOgOpprettetProsjektr() { // Arrange var prosjekt = new Prosjekt { Intern = true, ProsjektNavn = "ProsjektNavn5", ProsjektNr = 5 }; // Act using (var response = SendHttpRequest(HttpMethod.Post, "api/prosjekter", prosjekt)) { // Assert response.StatusCode.ShouldEqual(HttpStatusCode.Created); var opprettetProsjekt = GetContent <Prosjekt>(response); opprettetProsjekt.ShouldEqual(prosjekt); } }
public bool EndreProsjekt(Prosjekt EndreProsjekt, string brukernavn) { Dbkontekst db = new Dbkontekst(); if (!ErEier(brukernavn, EndreProsjekt.ProsjektId)) { return(false); } try { var NyEndreProsjekt = db.Prosjekter.FirstOrDefault(p => p.ProsjektId == EndreProsjekt.ProsjektId); NyEndreProsjekt.Arbeidsplass = EndreProsjekt.Arbeidsplass; db.SaveChanges(); return(true); } catch (Exception feil) { return(false); } }
public HttpResponseMessage Post(Prosjekt prosjektInn) { string userName = User.Identity.Name; if (ModelState.IsValid) { bool ok = _ProsjektBLL.RegistrerProsjekt(prosjektInn, userName); if (ok) { var response = Request.CreateResponse(HttpStatusCode.Created, prosjektInn); string uri = Url.Link("DefaultApi", new { id = prosjektInn.ProsjektId }); response.Headers.Location = new Uri(uri); return(response); } return(new HttpResponseMessage() { StatusCode = HttpStatusCode.NotFound, Content = new StringContent("Kunne ikke sette inn i databasen") }); } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); }
public HttpResponseMessage Put(Prosjekt EndreProsjekt) { string userName = User.Identity.Name; if (ModelState.IsValid) { bool ok = _ProsjektBLL.EndreProsjekt(EndreProsjekt, userName); if (ok) { return(new HttpResponseMessage() { StatusCode = HttpStatusCode.OK, }); } return(new HttpResponseMessage() { StatusCode = HttpStatusCode.NotFound, Content = new StringContent("Kunne ikke sette inn databasen") }); } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); }
public bool RegistrerProsjekt(Prosjekt innProsjekt, string brukernavn) { Dbkontekst dbs = new Dbkontekst(); int userId = BrukerId(brukernavn); if (innProsjekt.Arbeidsplass == "" || userId == 0) { return(false); } var nyProsjekt = new Prosjekt() { Arbeidsplass = innProsjekt.Arbeidsplass, EierId = userId }; var nyProsjektDeltakelse = new Prosjektdeltakelse() { BrukerId = userId, Medlemsdato = DateTime.Now, ProsjektId = nyProsjekt.ProsjektId }; using (var db = new Dbkontekst()) { try { db.Prosjekter.Add(nyProsjekt); db.Prosjektdeltakelser.Add(nyProsjektDeltakelse); db.SaveChanges(); return(true); } catch (Exception feil) { return(false); } } }
public void PUT_Endre_Prosjekt_Ok() { Prosjekt vakter = new Prosjekt() { Arbeidsplass = "test", EierId = 1 }; var commandBus = new Mock <IProsjektLogikk>(); commandBus.Setup(c => c.EndreProsjekt(It.IsAny <Prosjekt>(), It.IsAny <string>())).Returns(true); // Mapper.CreateMap<CategoryFormModel, CreateOrUpdateCategoryCommand>(); var httpConfiguration = new HttpConfiguration(); WebApiConfig.Register(httpConfiguration); var httpRouteData = new HttpRouteData(httpConfiguration.Routes["DefaultApi"], new HttpRouteValueDictionary { { "controller", "ProsjektApi" } }); var controller = new ProsjektApiController(commandBus.Object) { Request = new HttpRequestMessage(HttpMethod.Put, "http://localhost/api/ProsjektApi/") { Properties = { { HttpPropertyKeys.HttpConfigurationKey, httpConfiguration }, { HttpPropertyKeys.HttpRouteDataKey, httpRouteData } } } }; // Act var response = controller.Put(vakter); // Assert Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); // var newCategory = JsonConvert.DeserializeObject<CategoryModel>(response.Content.ReadAsStringAsync().Result); }
public void PUT_Endre_Prosjekt_Bad_request() { var commandBus = new Mock <IProsjektLogikk>(); commandBus.Setup(c => c.EndreProsjekt(It.IsAny <Prosjekt>(), It.IsAny <string>())).Returns(true); // Mapper.CreateMap<CategoryFormModel, CreateOrUpdateCategoryCommand>(); var httpConfiguration = new HttpConfiguration(); WebApiConfig.Register(httpConfiguration); var httpRouteData = new HttpRouteData(httpConfiguration.Routes["DefaultApi"], new HttpRouteValueDictionary { { "controller", "ProsjektApi" } }); var controller = new ProsjektApiController(commandBus.Object) { Request = new HttpRequestMessage(HttpMethod.Put, "http://localhost/api/ProsjektApi/") { Properties = { { HttpPropertyKeys.HttpConfigurationKey, httpConfiguration }, { HttpPropertyKeys.HttpRouteDataKey, httpRouteData } } } }; Prosjekt eProsj = new Prosjekt(); eProsj.Arbeidsplass = ""; // The ASP.NET pipeline doesn't run, so validation don't run. controller.ModelState.AddModelError("start", "mock error message"); var response = controller.Put(eProsj); // Assert commandBus.Verify(e => e.EndreProsjekt(eProsj, "brukernavn"), Times.Never); Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode); // Act }
public bool LeggTil(Prosjekt prosjekt) { _dataSource.Prosjekter.Add(prosjekt); return(true); }
public bool RegistrerProsjekt(Prosjekt innProsjekt, string brukernavn) { return(_repository.RegistrerProsjekt(innProsjekt, brukernavn)); }
public bool EndreProsjekt(Prosjekt EndreProsjekt, string brukernavn) { return(_repository.EndreProsjekt(EndreProsjekt, brukernavn)); }
private Data() { var bruker1 = new Bruker { AnsattNummer = 1, BrukerId = "bruker1", EpostAdr = "*****@*****.**", FulltNavn = "Bruker1", KontoNummer = 123456789L }; var bruker2 = new Bruker { AnsattNummer = 2, BrukerId = "bruker2", EpostAdr = "*****@*****.**", FulltNavn = "Bruker2", KontoNummer = 234567890L }; var bruker3 = new Bruker { AnsattNummer = 3, BrukerId = "bruker3", EpostAdr = "*****@*****.**", FulltNavn = "Bruker3", KontoNummer = 345678901L }; var prosjekt1 = new Prosjekt { Intern = true, ProsjektNr = 1, ProsjektNavn = "Intern Prosjekt 1" }; var prosjekt2 = new Prosjekt { Intern = false, ProsjektNr = 2, ProsjektNavn = "Ekstern Prosjekt 1" }; var prosjekt3 = new Prosjekt { Intern = false, ProsjektNr = 3, ProsjektNavn = "Ekstern Prosjekt 2" }; bruker1.Prosjekter = new Collection <Prosjekt> { prosjekt1, prosjekt2 }; bruker2.Prosjekter = new Collection <Prosjekt> { prosjekt2 }; bruker3.Prosjekter = new Collection <Prosjekt>(); prosjekt1.Brukere = new Collection <Bruker> { bruker1 }; prosjekt2.Brukere = new Collection <Bruker> { bruker1, bruker2 }; prosjekt3.Brukere = new Collection <Bruker>(); _brukere = new Collection <Bruker> { bruker1, bruker2, bruker3 }; _prosjekter = new Collection <Prosjekt> { prosjekt1, prosjekt2, prosjekt3 }; }
public VaktTest() { // Lager mocks som vi kan gjøre spørringer mot List <Vaktkalender> vakter = new List <Vaktkalender> { // new Vaktkalender {ProsjektId = 1, start = Convert.ToDateTime("22.12.2012 16.43"),end = Convert.ToDateTime("22.12.2012 16.43"),title = "Dagvakt",Beskrivelse = "Opplæring"}, // new Vaktkalender {ProsjektId = 2, start = Convert.ToDateTime("22.12.2012 16.43"),end = Convert.ToDateTime("22.12.2012 16.43"),title = "Dagvakt",Beskrivelse = "Opplæring" }, //new Vaktkalender {ProsjektId = 3, Brukernavn = "", start = Convert.ToDateTime("22.12.2012 16.43"),end = Convert.ToDateTime("22.12.2012 16.43"),title = "Dagvakt",Beskrivelse = "Opplæring"} }; List <VaktRequest> vaktReq = new List <VaktRequest> { new VaktRequest { BrukerIdTil = 1, BrukerIdFra = 2, MeldingId = 1, VaktId = 1, ProsjektId = 1, } }; List <Vakt> vakterDB = new List <Vakt> { new Vakt { VaktId = 1, 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 = 3, BrukerId = 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 = 3, BrukerId = 0, Ledig = true, start = Convert.ToDateTime("22.12.2012 16.43"), end = Convert.ToDateTime("22.12.2012 16.43"), title = "Dagvakt", Beskrivelse = "Opplæring" } }; List <Maler> maler = new List <Maler> { new Maler { ProsjektId = 1, startTid = "07.15", sluttTid = "14.15", Tittel = "dagvakt" } }; List <dbBruker> bruker = new List <dbBruker> { new dbBruker { BrukerId = 1, Email = "*****@*****.**" }, new dbBruker { BrukerId = 2, Email = "*****@*****.**" }, new dbBruker { BrukerId = 3, Email = "*****@*****.**" } }; List <Prosjekt> prosjekter = new List <Prosjekt> { new Prosjekt() { ProsjektId = 1, EierId = 1 }, new Prosjekt() { ProsjektId = 2, EierId = 2 } }; List <Prosjektdeltakelse> deltakelser = new List <Prosjektdeltakelse> { new Prosjektdeltakelse { ProsjektDeltakerId = 1, BrukerId = 1, ProsjektId = 1, Admin = false, Medlemsdato = Convert.ToDateTime("22.12.2012 16.43") }, new Prosjektdeltakelse { ProsjektDeltakerId = 2, BrukerId = 2, ProsjektId = 1, Admin = true, Medlemsdato = Convert.ToDateTime("22.12.2012 16.43") }, new Prosjektdeltakelse { ProsjektDeltakerId = 3, BrukerId = 3, ProsjektId = 1, Admin = false, Medlemsdato = Convert.ToDateTime("22.12.2012 16.43") } }; Mock <InterfaceDbTProsjekt> mockProductRepositoryProsjekt = new Mock <InterfaceDbTProsjekt>(); Mock <InterfaceDbTVakt> mockProductRepository = new Mock <InterfaceDbTVakt>(); List <Vakt> myFilteredFoos = null; mockProductRepository.Setup(mr => mr.hentAlleVakter(It.IsAny <int>(), It.IsAny <string>())) .Callback((int i, string u) => myFilteredFoos = vakterDB.Where(x => x.ProsjektId == i).ToList()) .Returns(() => { List <Vaktkalender> testliste = new List <Vaktkalender>(); foreach (var vakt in myFilteredFoos) { testliste.Add(new Vaktkalender() { ProsjektId = vakt.ProsjektId, start = vakt.start, end = vakt.end, title = vakt.title, Beskrivelse = vakt.Beskrivelse }); } return(testliste); }); List <Maler> malene = null; mockProductRepository.Setup(mr => mr.hentAlleMaler(It.IsAny <int>(), It.IsAny <string>())) .Callback((int i, string u) => malene = maler.Where(x => x.ProsjektId == i).ToList()) .Returns(() => { List <VisMaler> testliste = new List <VisMaler>(); foreach (var mal in malene) { testliste.Add(new VisMaler() { ProsjektId = mal.ProsjektId, startTid = mal.startTid, sluttTid = mal.sluttTid, Tittel = mal.Tittel }); } return(testliste); }); mockProductRepository.Setup(mr => mr.visVaktRequester(It.IsAny <string>())) .Returns( (string u) => { int id = this.mockProductRepositoryProsjekt.BrukerId(u); List <VaktRequestMelding> req = (from p in vaktReq from b in bruker from s in vakterDB where p.BrukerIdTil == id && p.BrukerIdFra == b.BrukerId && p.VaktId == s.VaktId select new VaktRequestMelding() { MeldingId = p.MeldingId, ProsjektId = p.ProsjektId, FraBruker = b.Email, Melding = " vil ta vakten: ", VaktId = p.VaktId, Tid = p.Sendt, TilBruker = u }).ToList(); return(req); }); mockProductRepository.Setup(mr => mr.requestOk(It.IsAny <int>())) .Returns( (int i) => { try { var Requester = vaktReq.FirstOrDefault(p => p.MeldingId == i); var OppdaterVakt = vakterDB.FirstOrDefault(p => p.VaktId == Requester.VaktId); OppdaterVakt.BrukerId = Requester.BrukerIdFra; OppdaterVakt.Ledig = false; OppdaterVakt.color = "#3A87AD"; vaktReq.Remove(Requester); return(true); } catch (Exception feil) { return(false); } }); mockProductRepository.Setup(mr => mr.hentAlleLedigeVakter(It.IsAny <int>(), It.IsAny <string>())) .Callback((int i, string u) => myFilteredFoos = vakterDB.Where(x => x.ProsjektId == i && x.BrukerId == 0).ToList()) .Returns(() => { List <Vaktkalender> testliste = new List <Vaktkalender>(); foreach (var vakt in myFilteredFoos) { testliste.Add(new Vaktkalender() { ProsjektId = vakt.ProsjektId, Ledig = vakt.Ledig, start = vakt.start, end = vakt.end, title = vakt.title, Beskrivelse = vakt.Beskrivelse }); } return(testliste); }); mockProductRepository.Setup(mr => mr.hentAlleVakterForBruker(It.IsAny <string>())) .Returns((string u) => { var user = bruker.Where(x => x.Email == u).Single(); int id = user.BrukerId; myFilteredFoos = vakterDB.Where(x => x.BrukerId == id).ToList(); List <Vaktkalender> testliste = new List <Vaktkalender>(); foreach (var vakt in myFilteredFoos) { testliste.Add(new Vaktkalender() { ProsjektId = vakt.ProsjektId, Brukernavn = user.Email, Ledig = vakt.Ledig, start = vakt.start, end = vakt.end, title = vakt.title, Beskrivelse = vakt.Beskrivelse }); } return(testliste); }); mockProductRepository.Setup(mr => mr.SlettVakt(It.IsAny <int>(), It.IsAny <string>())) .Returns((int i, string u) => { var slettVakt = vakterDB.FirstOrDefault(p => p.VaktId == i); if (!this.mockProductRepositoryProsjekt.ErAdmin(u, slettVakt.ProsjektId) && !this.mockProductRepositoryProsjekt.ErEier(u, slettVakt.ProsjektId)) { return(false); } try { vakterDB.Remove(slettVakt); return(true); } catch (Exception feil) { return(false); } }); mockProductRepository.Setup(mr => mr.LedigVakt(It.IsAny <Vaktskjema>())) .Returns((Vaktskjema i) => { if (i.BrukerId == 0) { return(true); } return(false); }); mockProductRepository.Setup(mr => mr.taLedigVakt(It.IsAny <int>(), It.IsAny <string>())) .Returns((int i, string u) => { try { // finn personen i databasen Vakt taVakt = vakterDB.FirstOrDefault(p => p.VaktId == i); VaktRequest nyRequest = new VaktRequest(); // oppdater vakt fra databasen var pId = taVakt.ProsjektId; Prosjekt prosjekt = prosjekter.FirstOrDefault(p => p.ProsjektId == pId); nyRequest.VaktId = taVakt.VaktId; nyRequest.Sendt = DateTime.Now; nyRequest.BrukerIdFra = this.mockProductRepositoryProsjekt.BrukerId(u); nyRequest.BrukerIdTil = prosjekt.EierId; nyRequest.ProsjektId = prosjekt.ProsjektId; vaktReq.Add(nyRequest); return(true); } catch (Exception feil) { return(false); } }); mockProductRepository.Setup(mr => mr.VakterProsjekt(It.IsAny <int>())) .Returns((int i) => { var eventer = (from k in vakterDB where k.ProsjektId == i select k ).ToList(); return(eventer); }); mockProductRepository.Setup(mr => mr.RegistrerVakt(It.IsAny <Vaktskjema>(), It.IsAny <string>())).Returns( (Vaktskjema vakt, string u) => { if (!this.mockProductRepositoryProsjekt.ErAdmin(u, vakt.ProsjektId) && !this.mockProductRepositoryProsjekt.ErEier(u, vakt.ProsjektId)) { return(false); } Vakt nyVakt = new Vakt(); nyVakt.ProsjektId = vakt.ProsjektId; nyVakt.BrukerId = vakt.ProsjektId; string start = vakt.start + " " + vakt.startTid; IFormatProvider culture = System.Threading.Thread.CurrentThread.CurrentCulture; DateTime dt1 = DateTime.ParseExact(start, "dd.MM.yyyy H:mm", culture, System.Globalization.DateTimeStyles.AssumeLocal); DateTime dt2; string end = ""; if (vakt.end != null) { end = vakt.end + " " + vakt.endTid; dt2 = DateTime.ParseExact(end, "dd.MM.yyyy H:mm", culture, System.Globalization.DateTimeStyles.AssumeLocal); } else { end = vakt.start + " " + vakt.endTid; dt2 = DateTime.ParseExact(end, "dd.MM.yyyy H:mm", culture, System.Globalization.DateTimeStyles.AssumeLocal); } nyVakt.start = dt1; nyVakt.end = dt2; int result = DateTime.Compare(dt1, dt2); if (result > 0 || result == 0) { return(false); } else { vakterDB.Add(nyVakt); } return(true); }); mockProductRepository.Setup(mr => mr.EndreVakt(It.IsAny <Vaktskjema>(), It.IsAny <string>())).Returns( (Vaktskjema vakt, string u) => { if (!this.mockProductRepositoryProsjekt.ErAdmin(u, vakt.ProsjektId) && !this.mockProductRepositoryProsjekt.ErEier(u, vakt.ProsjektId)) { return(false); } var NyEndreVakt = vakterDB.FirstOrDefault(p => p.VaktId == vakt.Vaktid); string start = vakt.start + " " + vakt.startTid; string end; IFormatProvider culture = System.Threading.Thread.CurrentThread.CurrentCulture; DateTime dt1 = DateTime.ParseExact(start, "dd.MM.yyyy H:mm", culture, System.Globalization.DateTimeStyles.AssumeLocal); DateTime dt2; if (vakt.end != "" && vakt.endDato == true) { end = vakt.end + " " + vakt.endTid; dt2 = DateTime.ParseExact(end, "dd.MM.yyyy H:mm", culture, System.Globalization.DateTimeStyles.AssumeLocal); } else { end = vakt.start + " " + vakt.endTid; dt2 = DateTime.ParseExact(end, "dd.MM.yyyy H:mm", culture, System.Globalization.DateTimeStyles.AssumeLocal); } int result = DateTime.Compare(dt1, dt2); if (result > 0 || result == 0) { return(false); } if (!this.mockProductRepositoryProsjekt.ErAdmin(u, NyEndreVakt.ProsjektId) && !this.mockProductRepositoryProsjekt.ErEier(u, NyEndreVakt.ProsjektId)) { return(false); } try { NyEndreVakt.Beskrivelse = vakt.Beskrivelse; NyEndreVakt.BrukerId = vakt.BrukerId; NyEndreVakt.start = dt1; NyEndreVakt.end = dt2; NyEndreVakt.title = vakt.title; if (this.mockProductRepository.LedigVakt(vakt)) { NyEndreVakt.Ledig = true; NyEndreVakt.color = "#5CB85C"; } else { NyEndreVakt.Ledig = false; NyEndreVakt.color = "#3A87AD"; } 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 bruker where x.Email == u select x.BrukerId).SingleOrDefault(); return(userId); }); // Complete the setup of our Mock Product Repository this.mockProductRepositoryProsjekt = mockProductRepositoryProsjekt.Object; this.mockProductRepository = mockProductRepository.Object; }
public ProsjektTest() { // Lager mocks som vi kan gjøre spørringer mot var req = new List <Prosjektrequest>() { new Prosjektrequest() { ProsjektId = 1, BrukerIdFra = 1, BrukerIdTil = 2, MeldingId = 1, Sendt = Convert.ToDateTime("22.12.2012 16.43") }, new Prosjektrequest() { ProsjektId = 2, BrukerIdFra = 2, BrukerIdTil = 1, MeldingId = 1, Sendt = Convert.ToDateTime("22.12.2012 16.43") } }; List <dbBruker> bruker = new List <dbBruker> { new dbBruker { BrukerId = 1, Email = "*****@*****.**" }, new dbBruker { BrukerId = 2, Email = "*****@*****.**" }, new dbBruker { BrukerId = 3, Email = "*****@*****.**" } }; List <Prosjekt> prosjekter = new List <Prosjekt> { new Prosjekt() { ProsjektId = 1, EierId = 1 }, new Prosjekt() { ProsjektId = 2, EierId = 2 } }; List <Prosjektdeltakelse> deltakelser = new List <Prosjektdeltakelse> { new Prosjektdeltakelse { ProsjektDeltakerId = 1, BrukerId = 1, ProsjektId = 1, Admin = false, Medlemsdato = Convert.ToDateTime("22.12.2012 16.43") }, new Prosjektdeltakelse { ProsjektDeltakerId = 2, BrukerId = 2, ProsjektId = 1, Admin = true, Medlemsdato = Convert.ToDateTime("22.12.2012 16.43") }, new Prosjektdeltakelse { ProsjektDeltakerId = 3, BrukerId = 3, ProsjektId = 1, Admin = false, Medlemsdato = Convert.ToDateTime("22.12.2012 16.43") } }; var reqMelding = new List <ProsjektrequestMelding>() { new ProsjektrequestMelding() { ProsjektId = 1, FraBruker = "*****@*****.**", TilBruker = "*****@*****.**", Melding = "", Prosjektnavn = "Bunnpris", MeldingId = 1, Tid = Convert.ToDateTime("22.12.2012 16.43") } }; Mock <InterfaceDbTProsjekt> mockProductRepository = new Mock <InterfaceDbTProsjekt>(); bool ok = false; mockProductRepository.Setup(mr => mr.ErEier(It.IsAny <string>(), It.IsAny <int>())) .Returns( (string u, int i) => { var bId = this.mockProductRepository.BrukerId(u); var TestOk = (from x in prosjekter where x.EierId == bId && x.ProsjektId == i select x.EierId).SingleOrDefault(); if (TestOk != 0) { ok = true; return(ok); } return(ok); }); mockProductRepository.Setup(mr => mr.ErAdmin(It.IsAny <string>(), It.IsAny <int>())) .Returns( (string u, int i) => { var okAdmin = false; var bId = this.mockProductRepository.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); }); mockProductRepository.Setup(mr => mr.BrukerId(It.IsAny <string>())) .Returns( (string u) => { int userId = (from x in bruker where x.Email == u select x.BrukerId).SingleOrDefault(); return(userId); }); mockProductRepository.Setup(mr => mr.BrukerNavn(It.IsAny <int>())) .Returns( (int i) => { var brukernavn = (from x in bruker where x.BrukerId == i select x.Email).SingleOrDefault(); return(brukernavn); }); mockProductRepository.Setup(mr => mr.SjekkTilgangProsjekt(It.IsAny <string>())) .Returns( (string u) => { int BrukerId = this.mockProductRepository.BrukerId(u); List <ProsjektVis> pros = (from p in deltakelser from s in prosjekter where p.BrukerId == BrukerId && p.ProsjektId == s.ProsjektId select new ProsjektVis() { Id = p.ProsjektId, }).ToList(); return(pros); }); mockProductRepository.Setup(mr => mr.VisRequesterForProsjekt(It.IsAny <int>(), It.IsAny <string>())) .Returns( (int i, string u) => { var tilganger = this.mockProductRepository.SjekkTilgangProsjekt(u); var eventer = (from k in req from s in tilganger where k.ProsjektId == i && k.ProsjektId == s.Id select new ProsjektrequestMelding { MeldingId = k.MeldingId, TilBruker = this.mockProductRepository.BrukerNavn(k.BrukerIdTil), Tid = k.Sendt, ProsjektId = k.ProsjektId }).ToList(); return(eventer); }); mockProductRepository.Setup(mr => mr.VisRequester(It.IsAny <string>())) .Returns( (string u) => { int id = this.mockProductRepository.BrukerId(u); List <ProsjektrequestMelding> pros = (from p in req from b in bruker from s in prosjekter where p.BrukerIdTil == id && p.BrukerIdFra == b.BrukerId && p.ProsjektId == s.ProsjektId select new ProsjektrequestMelding() { ProsjektId = p.ProsjektId, FraBruker = b.Email, Melding = " har invitert deg til å bli medlem av: ", Tid = p.Sendt, TilBruker = u }).ToList(); return(pros); }); mockProductRepository.Setup(mr => mr.HentProsjekter(It.IsAny <string>())) .Returns( (string u) => { int id = this.mockProductRepository.BrukerId(u); List <ProsjektVis> pros = (from p in deltakelser from s in prosjekter where p.BrukerId == id && p.ProsjektId == s.ProsjektId select new ProsjektVis() { Id = p.ProsjektId, Arbeidsplass = s.Arbeidsplass }).ToList(); return(pros); }); mockProductRepository.Setup(mr => mr.SlettBrukerFraProsjekt(It.IsAny <string>(), It.IsAny <int>())) .Returns( (string u, int i) => { var SlettProsjekt = deltakelser.FirstOrDefault(p => p.ProsjektDeltakerId == i); var sjekkEier = prosjekter.FirstOrDefault(p => p.EierId == SlettProsjekt.BrukerId && p.ProsjektId == SlettProsjekt.ProsjektId); if (sjekkEier != null) { return(false); // kan ikke slette eier fra prosjekt } if (this.mockProductRepository.ErAdmin(u, SlettProsjekt.ProsjektId) == true || this.mockProductRepository.ErEier(u, SlettProsjekt.ProsjektId) == true) { try { deltakelser.Remove(SlettProsjekt); return(true); } catch (Exception feil) { return(false); } } return(false); }); mockProductRepository.Setup(mr => mr.RegistrerProsjekt(It.IsAny <Prosjekt>(), It.IsAny <string>())) .Returns( (Prosjekt p, string u) => { int userId = this.mockProductRepository.BrukerId(u); if (p.Arbeidsplass == "" || userId == 0) { return(false); } var nyProsjekt = new Prosjekt() { Arbeidsplass = p.Arbeidsplass, EierId = userId }; var nyProsjektDeltakelse = new Prosjektdeltakelse() { BrukerId = userId, Medlemsdato = DateTime.Now, ProsjektId = nyProsjekt.ProsjektId }; try { prosjekter.Add(nyProsjekt); deltakelser.Add(nyProsjektDeltakelse); return(true); } catch (Exception feil) { return(false); } }); mockProductRepository.Setup(mr => mr.LeggTilBrukerRequest(It.IsAny <ProsjektrequestSkjema>(), It.IsAny <string>())) .Returns( (ProsjektrequestSkjema p, string u) => { int bId = this.mockProductRepository.BrukerId(u); int bIdTil = this.mockProductRepository.BrukerId(p.TilBruker); int pId = p.ProsjektId; if (!this.mockProductRepository.ErAdmin(u, p.ProsjektId) && !this.mockProductRepository.ErEier(u, p.ProsjektId)) { return(false); } if (bIdTil == 0) { return(false); } var nyRequest = new Prosjektrequest() { BrukerIdFra = bId, BrukerIdTil = bIdTil, ProsjektId = pId, Akseptert = false, Sendt = DateTime.Now }; try { req.Add(nyRequest); return(true); } catch (Exception feil) { return(false); } }); mockProductRepository.Setup(mr => mr.RegistrerProsjektdeltakelse(It.IsAny <ProsjektrequestMelding>(), It.IsAny <string>())) .Returns( (ProsjektrequestMelding p, string u) => { int id = this.mockProductRepository.BrukerId(u); IEnumerable <ProsjektDeltakelseOverforing> prosjektReq = from prosj in req from b in bruker from s in prosjekter where prosj.BrukerIdTil == id && prosj.BrukerIdFra == b.BrukerId && prosj.ProsjektId == p.ProsjektId select new ProsjektDeltakelseOverforing() { BrukerId = prosj.BrukerIdTil, ProsjektId = prosj.ProsjektId }; var prosjektD = new Prosjektdeltakelse(); foreach (var a in prosjektReq) { prosjektD.BrukerId = a.BrukerId; prosjektD.ProsjektId = a.ProsjektId; prosjektD.Medlemsdato = DateTime.Now; } try { deltakelser.Add(prosjektD); this.mockProductRepository.SlettRequest(prosjektD.ProsjektId, u); return(true); } catch (Exception feil) { return(false); } }); /* * * */ this.mockProductRepository = mockProductRepository.Object; }