public HttpResponseMessage Post(ProsjektrequestSkjema reqInn) { string UserName = User.Identity.Name; if (ModelState.IsValid) { bool ok = _ProsjektBLL.LeggTilBrukerRequest(reqInn, UserName); if (ok) { var response = Request.CreateResponse(HttpStatusCode.Created, reqInn); string uri = Url.Link("DefaultApi", null); response.Headers.Location = new Uri(uri); return response; } return new HttpResponseMessage() { StatusCode = HttpStatusCode.NotFound, Content = new StringContent("Kunne ikke sende melding") }; } return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); }
public bool LeggTilBrukerRequest(ProsjektrequestSkjema pReq, string brukernavn) { int bId = BrukerId(brukernavn); int bIdTil = BrukerId(pReq.TilBruker); int pId = pReq.ProsjektId; if (!ErAdmin(brukernavn, pReq.ProsjektId) && !ErEier(brukernavn, pReq.ProsjektId)) { return false; } if (bIdTil == 0) { return false; } var nyRequest = new Prosjektrequest() { BrukerIdFra = bId, BrukerIdTil = bIdTil, ProsjektId = pId, Akseptert = false, Sendt = DateTime.Now }; using (var db = new Dbkontekst()) { try { db.Prosjektrequester.Add(nyRequest); db.SaveChanges(); return true; } catch (Exception feil) { return false; } } }
public bool LeggTilBrukerRequest(ProsjektrequestSkjema pReq, string brukernavn) { return _repository.LeggTilBrukerRequest(pReq, brukernavn); }
public void Legg_Til_Bruker_Request_OK_Admin() { ProsjektrequestSkjema p = new ProsjektrequestSkjema(); p.ProsjektId = 1; p.TilBruker = "*****@*****.**"; bool testProduct = this.mockProductRepository.LeggTilBrukerRequest(p, "*****@*****.**"); Assert.IsTrue(testProduct); }
public void Legg_Til_Bruker_Request_False_Bruker_finnesIkke() { ProsjektrequestSkjema p = new ProsjektrequestSkjema(); p.ProsjektId = 1; p.TilBruker = "*****@*****.**"; bool testProduct = this.mockProductRepository.LeggTilBrukerRequest(p, "*****@*****.**"); Assert.IsFalse(testProduct); }
public void Post_RegistrerProsjektReq_bad_request() { var commandBus = new Mock<IProsjektLogikk>(); commandBus.Setup(c => c.LeggTilBrukerRequest(It.IsAny<ProsjektrequestSkjema>(), 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", "ProsjektreqApi" } }); var controller = new ProsjektreqApiController(commandBus.Object) { Request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/api/ProsjektreqApi/") { Properties = { { HttpPropertyKeys.HttpConfigurationKey, httpConfiguration }, { HttpPropertyKeys.HttpRouteDataKey, httpRouteData } } } }; // Act var pros = new ProsjektrequestSkjema(); pros.TilBruker = ""; // The ASP.NET pipeline doesn't run, so validation don't run. controller.ModelState.AddModelError("TilBruker", "mock error message"); var response = controller.Post(pros); // Assert Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode); }
public void Post_RegistrerProsjektReq_NOT_FOUND() { ProsjektrequestSkjema nyReq = new ProsjektrequestSkjema() { ProsjektId = 1, TilBruker = "*****@*****.**" }; ProsjektrequestSkjema nyReq1 = new ProsjektrequestSkjema() { ProsjektId = 1, TilBruker = "*****@*****.**" }; var commandBus = new Mock<IProsjektLogikk>(); commandBus.Setup(c => c.LeggTilBrukerRequest(nyReq, 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", "ProsjektreqApi" } }); var controller = new ProsjektreqApiController(commandBus.Object) { Request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/api/ProsjektreqApi/") { Properties = { { HttpPropertyKeys.HttpConfigurationKey, httpConfiguration }, { HttpPropertyKeys.HttpRouteDataKey, httpRouteData } } } }; // Act var response = controller.Post(nyReq1); // Assert Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode); }
public void Post_RegistrerProsjektReq_Ok() { ProsjektrequestSkjema nyReq = new ProsjektrequestSkjema() { ProsjektId = 1, TilBruker = "*****@*****.**" }; var commandBus = new Mock<IProsjektLogikk>(); commandBus.Setup(c => c.LeggTilBrukerRequest(It.IsAny<ProsjektrequestSkjema>(), 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", "ProsjektreqApi" } }); var controller = new ProsjektreqApiController(commandBus.Object) { Request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/api/ProsjektreqApi/") { Properties = { { HttpPropertyKeys.HttpConfigurationKey, httpConfiguration }, { HttpPropertyKeys.HttpRouteDataKey, httpRouteData } } } }; // Act var response = controller.Post(nyReq); // Assert Assert.AreEqual(HttpStatusCode.Created, response.StatusCode); // var newCategory = JsonConvert.DeserializeObject<CategoryModel>(response.Content.ReadAsStringAsync().Result); Assert.AreEqual(string.Format("http://localhost/api/ProsjektreqApi"), response.Headers.Location.ToString()); }