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}"));
        }