public async Task CreateDocumentFromFile() { messageHandler.AddResponse(new Uri("https://test.io/api/documents"), DefaultResponseDocumentJson); var fileBytes = Encoding.UTF8.GetBytes("This is a file"); var expectedFileContents = Convert.ToBase64String(fileBytes); messageHandler.RequestSent += req => { var body = req.Content.ReadAsAsync <DocumentRequest>().Result; Assert.NotNull(body); Assert.That(body.DocumentType, Is.EqualTo(DocumentType.Docx)); Assert.That(body.Html, Is.Null); Assert.That(body.FileContents, Is.EqualTo(expectedFileContents)); }; var request = new FileDocumentRequest("Test", fileBytes, DocumentType.Docx); var document = await client.CreateDocumentAsync(request); Assert.NotNull(document); Assert.That(document.Name, Is.EqualTo("Test")); }
public async Task CreateDocumentFromFileOnDisk() { messageHandler.AddResponse(new Uri("https://test.io/api/documents"), DefaultResponseDocumentJson); var fileBytes = Encoding.UTF8.GetBytes("This is a file"); const string path = "D:\\path\\to\\file.docx"; FileHelper.ExistsFunc = p => p.Equals(path); FileHelper.FileReadFunc = p => fileBytes; var expectedFileContents = Convert.ToBase64String(fileBytes); messageHandler.RequestSent += req => { var body = req.Content.ReadAsAsync <DocumentRequest>().Result; Assert.NotNull(body); Assert.That(body.DocumentType, Is.EqualTo(DocumentType.Docx)); Assert.That(body.Html, Is.Null); Assert.That(body.FileContents, Is.EqualTo(expectedFileContents)); Assert.That(body.Folder, Is.EqualTo("contracts")); Assert.That(body.OutputType, Is.EqualTo(DocumentOutputType.Email)); Assert.That(body.OutputName, Is.EqualTo("From {$FirstName}")); Assert.That(body.Name, Is.EqualTo("Test")); }; var request = new FileDocumentRequest("Test", path, DocumentType.Docx, DocumentOutputType.Email) { Folder = "contracts", OutputName = "From {$FirstName}" }; var document = await client.CreateDocumentAsync(request); Assert.NotNull(document); Assert.That(document.Name, Is.EqualTo("Test")); }