public async Task HandleAsync_ReturnsFileContent() { // Arrange var authorization = new AuthorizationBuilder().AllowInternalAreaAccess().Build(); var dataAccess = A.Fake<IGetDataReturnSubmissionEeeChangesCsvDataAccess>(); var csvWriter = A.Fake<ICsvWriter<DataReturnSubmissionEeeChangesCsvData>>(); var handler = new GetDataReturnSubmissionEeeChangesCsvHandler(authorization, dataAccess, csvWriter); var currentSubmissionId = Guid.NewGuid(); var previousSubmissionId = Guid.NewGuid(); var request = new GetDataReturnSubmissionEeeChangesCsv(currentSubmissionId, previousSubmissionId); A.CallTo(() => csvWriter.Write(A<IEnumerable<DataReturnSubmissionEeeChangesCsvData>>._)) .Returns("CsvData"); // Act var result = await handler.HandleAsync(request); // Assert A.CallTo(() => dataAccess.GetChanges(currentSubmissionId, previousSubmissionId)) .MustHaveHappened(); A.CallTo(() => csvWriter.Write(A<IEnumerable<DataReturnSubmissionEeeChangesCsvData>>._)) .MustHaveHappened(); Assert.NotEmpty(result.FileContent); Assert.Equal("CsvData", result.FileContent); }
public async Task HandleAsync_ReturnsFileContent() { // Arrange var authorization = new AuthorizationBuilder().AllowInternalAreaAccess().Build(); var dataAccess = A.Fake <IGetDataReturnSubmissionEeeChangesCsvDataAccess>(); var csvWriter = A.Fake <ICsvWriter <DataReturnSubmissionEeeChangesCsvData> >(); var handler = new GetDataReturnSubmissionEeeChangesCsvHandler(authorization, dataAccess, csvWriter); var currentSubmissionId = Guid.NewGuid(); var previousSubmissionId = Guid.NewGuid(); var request = new GetDataReturnSubmissionEeeChangesCsv(currentSubmissionId, previousSubmissionId); A.CallTo(() => csvWriter.Write(A <IEnumerable <DataReturnSubmissionEeeChangesCsvData> > ._)) .Returns("CsvData"); // Act var result = await handler.HandleAsync(request); // Assert A.CallTo(() => dataAccess.GetChanges(currentSubmissionId, previousSubmissionId)) .MustHaveHappened(); A.CallTo(() => csvWriter.Write(A <IEnumerable <DataReturnSubmissionEeeChangesCsvData> > ._)) .MustHaveHappened(); Assert.NotEmpty(result.FileContent); Assert.Equal("CsvData", result.FileContent); }
public async Task <ActionResult> DownloadDataReturnSubmissionEeeChanges(Guid currentSubmission, Guid previousSubmission) { CSVFileData csvFileData; using (IWeeeClient client = apiClient()) { var request = new GetDataReturnSubmissionEeeChangesCsv(currentSubmission, previousSubmission); csvFileData = await client.SendAsync(User.GetAccessToken(), request); } byte[] data = new UTF8Encoding().GetBytes(csvFileData.FileContent); return(File(data, "text/csv", CsvFilenameFormat.FormatFileName(csvFileData.FileName))); }
public async Task<ActionResult> DownloadDataReturnSubmissionEeeChanges(Guid currentSubmission, Guid previousSubmission) { CSVFileData csvFileData; using (IWeeeClient client = apiClient()) { var request = new GetDataReturnSubmissionEeeChangesCsv(currentSubmission, previousSubmission); csvFileData = await client.SendAsync(User.GetAccessToken(), request); } byte[] data = new UTF8Encoding().GetBytes(csvFileData.FileContent); return File(data, "text/csv", CsvFilenameFormat.FormatFileName(csvFileData.FileName)); }