public void Arrange() { _transactionDownloadViewModel = new TransactionDownloadViewModel { GetTransactionsDownloadQuery = new GetTransactionsDownloadQuery { StartDate = new MonthYear { Month = "1", Year = "2000" }, EndDate = new MonthYear { Month = "1", Year = "2018" } } }; _owinWrapper = new Mock <IAuthenticationService>(); _mediator = new Mock <IMediator>(); _orchestrator = new Mock <EmployerAccountTransactionsOrchestrator>(); _formatter = new Mock <ITransactionFormatter>(); _mediator.Setup(m => m.SendAsync(It.IsAny <GetTransactionsDownloadQuery>())) .ReturnsAsync(new GetTransactionsDownloadResponse { MimeType = ExpectedMimeType, FileExtension = ExpectedFileExtension, FileData = ExpectedFileData }); _formatter.Setup(x => x.GetFileData(It.IsAny <List <TransactionDownloadLine> >())).Returns(new byte[] { 1, 2, 3, 4 }); _formatter.Setup(x => x.MimeType).Returns("txt/csv"); _formatter.Setup(x => x.DownloadFormatType).Returns(DownloadFormatType.CSV); _controller = new EmployerAccountTransactionsController( _owinWrapper.Object, _orchestrator.Object, Mock.Of <IMapper>(), _mediator.Object, Mock.Of <ILog>()); }
public async Task <ActionResult> TransactionsDownload(TransactionDownloadViewModel model) { var response = await _mediator.SendAsync(model.GetTransactionsDownloadQuery); return(File(response.FileData, response.MimeType, $"esfaTransactions_{DateTime.Now:yyyyMMddHHmmss}.{response.FileExtension}")); }