Beispiel #1
0
        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");
        }
Beispiel #2
0
        public async Task <IActionResult> Download(Download.Query query)
        {
            var model = await _mediator.SendAsync(query);

            return(File(model.FileContents, "application/zip", "Documents.zip"));
        }