public async Task ShouldMatchDownloadedContractString() { var addedContract = await AlreadyInDatabaseContract(modifyFieldsForContract : x => x.ContractString = SampleContractString); var query = new Download.Query() { ContractId = addedContract.Id, VersionNumber = addedContract.VersionNumber }; var contractFileStreamResult = await Send(query); contractFileStreamResult.ContentType.ShouldBe(MediaTypeNames.Text.Plain); contractFileStreamResult.FileStream.ToString().ShouldBe((new MemoryStream(Encoding.UTF8.GetBytes(SampleContractString)).ToString())); contractFileStreamResult.FileDownloadName.ShouldBe($"{addedContract.Id}_{addedContract.VersionNumber}.txt"); }
public async Task <IActionResult> Download(Download.Query query) { var model = await _mediator.SendAsync(query); return(File(model.FileContents, "application/zip", "Documents.zip")); }