public async Task CreateZipAsync_SystemTest_NewZip() { var zipPath = @"TestContainer\Create.zip"; if (File.Exists(zipPath)) { File.Delete(zipPath); } var cancellationToken = CancellationToken.None; var outputFileName = "Create.zip"; var container = "TestContainer"; var fileNames = new List <string> { "TestFile1.csv", "TestFile2.csv", "TestFile3.csv" }; var fileService = new FileSystemFileService(); var zipArchivieService = new ZipArchiveService(); await NewService(fileService, zipArchivieService).CreateZipAsync(outputFileName, fileNames, container, cancellationToken); using (Stream stream = new FileStream(zipPath, FileMode.Open)) { var count = new ZipArchive(stream, ZipArchiveMode.Read).Entries.Count; count.Should().Be(3); } }
public async Task GenerateAsync() { // Arrange var cancellationToken = CancellationToken.None; var contextMock = new Mock <IReportServiceContext>(); contextMock.SetupGet(c => c.Container).Returns(@"C:\Temp"); contextMock.SetupGet(c => c.CollectionYear).Returns(1920); contextMock.SetupGet(c => c.ReturnPeriod).Returns(1); var dateTimeProvider = new Mock <IDateTimeProvider>(); dateTimeProvider.Setup(sm => sm.GetNowUtc()).Returns(DateTime.Now); IFileNameService fileNameService = new FileNameService(dateTimeProvider.Object); IFileService fileService = new FileSystemFileService(); ICsvFileService csvService = new CsvFileService(fileService); var loggerMock = new Mock <ILogger>(); IFcsRepositoryService fcsRepositoryService = new FcsRepositoryService("(local);Database=FCS;User Id=User;Password=Password1;Encrypt=True;"); ISummarisedActualsRepositoryService summarisedActualsRepositoryService = new SummarisedActualsRepositoryService("data source=(local);initial catalog=SummarisedActuals;User Id=User;Password=Password1;Encrypt=True;"); IPeriodSummaryDataProvider periodSummaryDataProvider = new PeriodSummaryDataProvider(summarisedActualsRepositoryService, fcsRepositoryService, loggerMock.Object); var periodSummaryReport = new PeriodSummaryReport(fileNameService, csvService, null, periodSummaryDataProvider, loggerMock.Object); // Act var result = await periodSummaryReport.GenerateAsync(contextMock.Object, cancellationToken); // Assert result.Should().NotBeNull(); }
public async Task CreateZipAsync_SystemTest_UpdateZip() { var cancellationToken = CancellationToken.None; var outputFileName = "Update.zip"; var container = "TestContainer"; var fileNames = new List <string> { "TestFile1.csv", "TestFile2.csv", "TestFile3.csv" }; var fileService = new FileSystemFileService(); var zipArchivieService = new ZipArchiveService(); int countBefore; int countAfter; using (Stream stream = new FileStream(@"TestContainer\Update.zip", FileMode.Open)) { countBefore = new ZipArchive(stream, ZipArchiveMode.Read).Entries.Count; } await NewService(fileService, zipArchivieService).CreateZipAsync(outputFileName, fileNames, container, cancellationToken); using (Stream stream = new FileStream(@"TestContainer\Update.zip", FileMode.Open)) { countAfter = new ZipArchive(stream, ZipArchiveMode.Read).Entries.Count; } countBefore.Should().Be(1); countAfter.Should().Be(3); }
public async Task GenerateReport_ThreeFundingYears() { var ukprn = 12345678; var jobid = 1; var reportFolder = "FundingSummaryTestThreeYears"; TestFixture(reportFolder, ukprn, jobid); var esfJobContext = new Mock <IEsfJobContext>(); var sourceFile = new Mock <ISourceFileModel>(); var wrapper = new SupplementaryDataWrapper(); var cancellationToken = CancellationToken.None; var testModels = new List <IFundingSummaryReportTab> { new FundingSummaryReportTab { Title = FundingSummaryReportConstants.BodyTitle, TabName = "ConRef1", Header = TestHeader("ConRef1", 3), Body = TestBodyModels(3), Footer = TestFooter() }, new FundingSummaryReportTab { Title = FundingSummaryReportConstants.BodyTitle, TabName = "ConRef2", Header = TestHeader("ConRef2", 3), Body = TestBodyModels(3), Footer = TestFooter() } }; esfJobContext.Setup(x => x.UkPrn).Returns(ukprn); esfJobContext.Setup(x => x.JobId).Returns(jobid); esfJobContext.Setup(x => x.StartCollectionYearAbbreviation).Returns("20"); esfJobContext.Setup(x => x.CollectionYear).Returns(2021); esfJobContext.Setup(x => x.ReturnPeriod).Returns("R05"); esfJobContext.Setup(x => x.CurrentPeriod).Returns(5); esfJobContext.Setup(x => x.BlobContainerName).Returns(reportFolder); var modelBuilder = new Mock <IFundingSummaryReportModelBuilder>(); var renderService = new FundingSummaryReportRenderService(); var dateTimeProvider = new Mock <IDateTimeProvider>(); var fileService = new FileSystemFileService(); var excelFileService = new ExcelFileService(fileService); modelBuilder.Setup(x => x.Build(esfJobContext.Object, cancellationToken)).ReturnsAsync(testModels); await NewReport(modelBuilder.Object, renderService, dateTimeProvider.Object, excelFileService) .GenerateReport(esfJobContext.Object, sourceFile.Object, wrapper, cancellationToken); }