public HttpResponseMessage AddCertificate( [FromBody] CertificateCreateModel model, [FromUri] string sessionKey) { var responseMsg = this.PerformOperationAndHandleExceptions(() => { this.ValidateCertificateName(model.Name); this.ValidateCertificateUrl(model.Url); var user = this.GetUserBySessionKey(sessionKey); var certificate = new Certificate() { Name = model.Name, Url = model.Url }; user.Certificates.Add(certificate); this.db.Users.Update(user); this.db.SaveChanges(); var returnData = new CertificateModel() { Id = certificate.Id, Name = certificate.Name }; var response = this.Request.CreateResponse(HttpStatusCode.Created, returnData); return(response); }); return(responseMsg); }
public void AddCertificate_WhenNameIsNull_ShouldReturnBadRequest() { using (new TransactionScope()) { this.db.Users.Add(user); this.db.SaveChanges(); var certificate = new CertificateCreateModel() { Url = "asd" }; var response = this.httpServer.CreatePostRequest( string.Format("/api/certificates/add?sessionKey={0}", this.user.SessionKey), certificate); Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode); } }
public void AddCertificate_WhenDataIsValid_ShouldSaveInDatabase() { using (new TransactionScope()) { this.db.Users.Add(user); this.db.SaveChanges(); var certificate = new CertificateCreateModel() { Name = "asd", Url = "asd" }; var response = this.httpServer.CreatePostRequest( string.Format("/api/certificates/add?sessionKey={0}", this.user.SessionKey), certificate); Assert.AreEqual(HttpStatusCode.Created, response.StatusCode); var returnedData = this.GetCertificateModelFromResponse(response); Assert.IsNotNull(returnedData); Assert.AreEqual(0, this.user.Certificates.Count()); } }