public async Task SignatureRepositoryTestsUpdateSignatureWorksForValidInput() { var inputSignature = new Signature { Signer = new User { UserId = "007007", Name = "Bill" } }; var signatureRepository = new SignatureRepository(); Signature?addedSignature = await signatureRepository.AddSignature(inputSignature); bool initialSigningStatus = addedSignature.IsSigned; Assert.IsNotNull(addedSignature); var updateSignatureInput = new Signature { Id = addedSignature.Id, Signer = new User { UserId = "007007", Name = "Bill G" }, IsSigned = true, SignedDateTime = DateTime.UtcNow, Text = "Bill G" }; Signature?updatedSignature = await signatureRepository.UpdateSignature(updateSignatureInput); Assert.AreEqual(updateSignatureInput.Id, updatedSignature.Id); Assert.AreEqual(updatedSignature.SignedDateTime, updateSignatureInput.SignedDateTime); Assert.AreEqual(updatedSignature.Text, updateSignatureInput.Text); // Signer shouldn't be updated in SingatureRepository Assert.IsTrue(addedSignature.Signer.Equals(updateSignatureInput.Signer)); Assert.IsTrue(updatedSignature.IsSigned); Assert.AreNotEqual(updatedSignature.IsSigned, initialSigningStatus); }
public async Task SignatureRepositoryTestsUpdateSignatureThrowsApiExceptionForInvalidId() { var inputSignature = new Signature { Signer = new User { UserId = "007007", Name = "Bill" } }; var signatureRepository = new SignatureRepository(); await signatureRepository.UpdateSignature(inputSignature); }
public async Task SignatureRepositoryTestsAddSignatureCreatesNewGuid() { var inputSignatureId = Guid.NewGuid(); var inputSignature = new Signature { Id = inputSignatureId }; var signatureRepository = new SignatureRepository(); Signature?addedSignature = await signatureRepository.AddSignature(inputSignature); Assert.AreNotEqual(inputSignatureId, addedSignature.Id); Assert.IsFalse(addedSignature.IsSigned); }
public async Task SignatureRepositoryTestsGetSignatureThrowsApiExceptionForInvalidInput() { var inputSignature = new Signature { Signer = new User { UserId = "007007" } }; var signatureRepository = new SignatureRepository(); Signature?addedSignature = await signatureRepository.AddSignature(inputSignature); Assert.IsNotNull(addedSignature); await signatureRepository.GetSignature(Guid.NewGuid()); }
public async Task SignatureRepositoryTestsGetSignatureRetrievesMatchingRecordForValidInput() { var inputSignature = new Signature { Signer = new User { UserId = "007007", Name = "Bill" } }; var signatureRepository = new SignatureRepository(); Signature?addedSignature = await signatureRepository.AddSignature(inputSignature); Signature?retrievedSignature = await signatureRepository.GetSignature(addedSignature.Id); Assert.IsNotNull(retrievedSignature); Assert.AreEqual(addedSignature.Id, retrievedSignature.Id); Assert.IsTrue(addedSignature.Signer.Equals(retrievedSignature.Signer)); }
public async Task SignatureRepositoryTestsUpdateSignatureThrowsApiExceptionForSingingComplete() { var inputSignature = new Signature { Signer = new User { UserId = "007007", Name = "Bill" }, IsSigned = true }; var signatureRepository = new SignatureRepository(); Signature?addedSignature = await signatureRepository.AddSignature(inputSignature); Assert.IsNotNull(addedSignature); var updateSignatureInput = new Signature { Signer = new User { UserId = "007007", Name = "Bill" }, IsSigned = false }; await signatureRepository.UpdateSignature(updateSignatureInput); }
public HttpResponseMessage SendFromPDF(Guid id) { //Retrieve PDF PDF pdf = new PDFRepository().GetById(id); if (pdf == null) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "PDF id is not valid"); } //Check access rights for current user UserTicket ticket = TicketManager.getTicketFromContext(this.ControllerContext); if (!pdf.document.ownerCompany.userAffiliations.Any(x => x.user.id == ticket.user.id && (x.role.name.Equals("Ejer") || x.role.name.Equals("Admin")))) { return Request.CreateErrorResponse(HttpStatusCode.Forbidden, "User permission is not sufficient"); } if (pdf.signatures==null||pdf.signatures.Count==0) { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Number of recipients cannot be 0"); } SignatureRepository repo = new SignatureRepository(); foreach (Signature item in pdf.signatures) { string senderMessage; if (ticket.user.firstName != null && ticket.user.lastName != null) { senderMessage = ticket.user.firstName + " " + ticket.user.lastName + " fra " + item.pdf.document.ownerCompany.name + " har anmodet dig om at læse/underskrive dokumentet " + item.pdf.document.title + "."; } else { senderMessage = item.pdf.document.ownerCompany.name + " har anmodet dig om at læse/underskrive dokumentet " + item.pdf.document.title + "."; } NotificationManager.create(item.user, senderMessage, "http://webapp.bizdoc.dk/Underskrift/" + item.id); item.sendDate = DateTime.Now; repo.Update(item); } return Request.CreateResponse<PDF>(HttpStatusCode.OK, pdf); }
public HttpResponseMessage Get(Guid id) { var sig = new SignatureRepository().GetById(id); if (sig==null) { return Request.CreateErrorResponse(HttpStatusCode.NotFound, "Id is not valid"); } UserTicket ticket = TicketManager.getTicketFromContext(this.ControllerContext); if (sig.user.id!=ticket.user.id) { return Request.CreateErrorResponse(HttpStatusCode.Forbidden, "User permission is not sufficient"); } return Request.CreateResponse<Signature>(HttpStatusCode.OK, sig); }