public void TemplateEndToEndTest() { Assert.IsTrue(string.IsNullOrEmpty(RestSettings.Instance.EmailSubject) == false, "Set the email subject for the envelope"); var template = new Template { Login = _account }; byte[] doc1 = { 36, 45, 34, 67, 121, 87, 99, 32, 32, 32, 54, 54, 55, 56, 32 }; var names = new List<string>(); var docs = new List<byte[]>(); names.Add("test1.doc"); docs.Add(doc1); // add recipients var signers = new List<Signer>(); signers.Add(new Signer { email = "*****@*****.**", name = "test test", recipientId = "1", roleName = "signer1", routingOrder = "1" }); signers.Add(new Signer { recipientId = "2", roleName = "signer2", routingOrder = "1" }); var recipients = new Recipients { signers = signers.ToArray() }; template.Recipients = recipients; Assert.IsTrue(template.CreateTemplate(docs, names, "DocuSign.NET Client Unit Test Template")); Assert.IsNull(template.RestError); // Note that EnvelopeId for a template is the TemplateId... // start a new envelope var templateId = template.EnvelopeId; var envelope = new Envelope { Login = _account }; Assert.IsTrue(envelope.Create()); // add the template var templates = new List<string>(); templates.Add(template.EnvelopeId); Assert.IsTrue(envelope.AddTemplates(templates)); Assert.IsNull(template.RestError); // update recipients recipients.signers[1].name = "test test2"; recipients.signers[1].email = "*****@*****.**"; Assert.IsTrue(envelope.UpdateRecipients(recipients, false)); Assert.IsNull(template.RestError); // send envelope envelope.Status = "sent"; Assert.IsTrue(envelope.UpdateStatus()); Assert.IsNull(template.RestError); }
public void EmbeddedSigningViewTest() { // create a new envelope with 2 recipients var envelope = new Envelope { Login = _account }; byte[] doc1 = { 36, 45, 34, 67, 121, 87, 99, 32, 32, 32, 54, 54, 55, 56, 32 }; var signers = new List<Signer>(); // note we need to specify clientUserId signers.Add(new Signer { email = "*****@*****.**", name = "test1", recipientId = "1", routingOrder = "1", clientUserId = "1" }); signers.Add(new Signer { email = "*****@*****.**", name = "test2", recipientId = "2", routingOrder = "2", clientUserId = "2" }); envelope.Recipients = new Recipients { signers = signers.ToArray() }; Assert.IsTrue(envelope.Create(doc1, "test-self-signed.doc")); Assert.IsNull(envelope.RestError); // send it envelope.Status = "sent"; Assert.IsTrue(envelope.UpdateStatus()); Assert.IsNull(envelope.RestError); // get embedded signing views for 2 recipients string urlForfirstSigner = envelope.GetEmbeddedSignerView("www.docusign.com", signers.First()); Assert.IsNull(envelope.RestError); Assert.IsFalse(string.IsNullOrEmpty(urlForfirstSigner)); string urlForSecondSigner = envelope.GetEmbeddedSignerView("www.docusign.com", signers.Last()); // now, this one won't work until first one signed (which cannot happen in this test) // this is because second recpieint was set to sign only after the first one finished (routing order) Assert.IsTrue(string.IsNullOrEmpty(urlForSecondSigner)); }
public void AddEmailSubjectAndBlurbToExisitingEnvelopeAndVeryifyStatusTest() { var envelope = new Envelope { Login = _account }; byte[] doc1 = { 36, 45, 34, 67, 121, 87, 99, 32, 32, 32, 54, 54, 55, 56, 32 }; var signers = new List<Signer>(); signers.Add(new Signer { email = "*****@*****.**", name = "test2", recipientId = "1", routingOrder = "1" }); envelope.Recipients = new Recipients { signers = signers.ToArray()}; Assert.IsTrue(envelope.Create(doc1, "test-self-signed.doc")); Assert.IsNull(envelope.RestError); Assert.IsTrue(envelope.AddEmailInformation("DocuSign Client Tests Message", "DocuSign Client Tests Message")); Assert.IsNull(envelope.RestError); var time = envelope.GetStatus(envelope.EnvelopeId); Assert.AreEqual("created", envelope.Status); // envelope was created very recently... Assert.IsTrue(DateTime.Now.Subtract(time).Ticks < 10000); // send envelope envelope.Status = "sent"; envelope.UpdateStatus(); }