예제 #1
0
        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();
        }
예제 #2
0
        public void NoCollectionTypesReturnsEmptyList()
        {
            // Arrange
            var ReportServiceContextMock = new Mock <IReportServiceContext>();

            ReportServiceContextMock.Setup(rsc => rsc.CollectionReturnCodeNCS).Returns(string.Empty);
            ReportServiceContextMock.Setup(rsc => rsc.CollectionReturnCodeApp).Returns(string.Empty);
            ReportServiceContextMock.Setup(rsc => rsc.CollectionReturnCodeESF).Returns(string.Empty);
            ReportServiceContextMock.Setup(rsc => rsc.CollectionReturnCodeDC).Returns(string.Empty);

            var periodSummaryReport = new PeriodSummaryReport(null, null, GetCollectionTypeFormatters(), null, null);

            // Act
            var result = periodSummaryReport.GetCollectionTypes(ReportServiceContextMock.Object);

            // Assert
            result.Should().NotBeNull();
            result.Should().BeEmpty();
        }
예제 #3
0
        public void OneCollectionSetReturnsOneFormatter(string ncs, string app, string esf, string dc, string collectionType, string collectionReturn, string fileName)
        {
            // Arrange
            var ReportServiceContextMock = new Mock <IReportServiceContext>();

            ReportServiceContextMock.Setup(rsc => rsc.CollectionYear).Returns(2021);
            ReportServiceContextMock.Setup(rsc => rsc.CollectionReturnCodeNCS).Returns(ncs);
            ReportServiceContextMock.Setup(rsc => rsc.CollectionReturnCodeApp).Returns(app);
            ReportServiceContextMock.Setup(rsc => rsc.CollectionReturnCodeESF).Returns(esf);
            ReportServiceContextMock.Setup(rsc => rsc.CollectionReturnCodeDC).Returns(dc);

            var periodSummaryReport = new PeriodSummaryReport(null, null, GetCollectionTypeFormatters(), null, null);

            // Act
            var result = periodSummaryReport.GetCollectionTypes(ReportServiceContextMock.Object);

            // Assert
            result.Should().NotBeNull();
            result.Should().HaveCount(1);
            result.Single().CollectionType.Should().Be(collectionType);
            result.Single().CollectionReturn.Should().Be(collectionReturn);
            result.Single().FileName.Should().Be(fileName);
        }