Esempio n. 1
0
        public async Task GenerateReportEmptyModel()
        {
            var cancellationToken = CancellationToken.None;
            var academicYear      = 2021;
            var returnPeriod      = 1;
            var ukprn             = 123456;
            var fileName          = "FileName.xlsx";
            var container         = "";

            var crossYearPaymentsModel = new CrossYearPaymentsModel();
            var reportServiceContext   = new Mock <IReportServiceContext>();

            var dataModel = new CrossYearDataModel();

            reportServiceContext.SetupGet(c => c.Ukprn).Returns(ukprn);
            reportServiceContext.SetupGet(c => c.CollectionYear).Returns(academicYear);
            reportServiceContext.SetupGet(c => c.Container).Returns(container);
            reportServiceContext.SetupGet(c => c.ReturnPeriod).Returns(returnPeriod);

            var excelFileServiceMock = new Mock <IExcelFileService>();
            var fileNameServiceMock  = new Mock <IFileNameService>();
            var modelBuilderMock     = new Mock <ICrossYearModelBuilder>();
            var renderServiceMock    = new Mock <ICrossYearRenderService>();
            var dataProviderMock     = new Mock <ICrossYearDataProvider>();

            var excelService  = GetExcelFileService(excelFileServiceMock, false);
            var renderService = GetRenderService(renderServiceMock, false);

            fileNameServiceMock.Setup(s => s.GetFilename(reportServiceContext.Object, "Beta Cross Year Indicative Payments Report", OutputTypes.Excel, true, true)).Returns(fileName);

            dataProviderMock.Setup(b => b.ProvideAsync(reportServiceContext.Object, cancellationToken)).ReturnsAsync(dataModel);

            modelBuilderMock.Setup(b => b.Build(dataModel, reportServiceContext.Object)).Returns(crossYearPaymentsModel);

            var report = NewReport(excelService, fileNameServiceMock.Object, modelBuilderMock.Object, renderService, dataProviderMock.Object);

            await report.GenerateReport(reportServiceContext.Object, cancellationToken);
        }
Esempio n. 2
0
        public async Task GenerateReport()
        {
            var cancellationToken = CancellationToken.None;
            var academicYear      = 2021;
            var returnPeriod      = 2;
            var ukprn             = 123456;
            var fileName          = "FileName.xlsx";
            var container         = "";

            var crossYearPaymentsModel = new CrossYearPaymentsModel()
            {
                HeaderInfo = new HeaderInfo
                {
                    ProviderName = "Test Provider",
                    UKPRN        = 12345678
                },
                FooterInfo = new FooterInfo
                {
                    ReportGeneratedAt = "Report generated at 13:34:52 08/11/20"
                },
                Deliveries = new List <Delivery>
                {
                    new Delivery
                    {
                        ContractNumber = "Contract 1",
                        DeliveryName   = "16-18 Non-Levy Contracted Apprenticeships - Procured delivery",
                        ContractValues = new List <ContractValue>
                        {
                            new ContractValue
                            {
                                DeliveryPeriod = 201801,
                                Value          = 12000m
                            },
                            new ContractValue
                            {
                                DeliveryPeriod = 201804,
                                Value          = 22000m
                            },
                            new ContractValue
                            {
                                DeliveryPeriod = 201904,
                                Value          = 32000m
                            }
                        },
                        FSRValues = new List <FSRValue>
                        {
                            new FSRValue
                            {
                                AcademicYear     = 1718,
                                DeliveryPeriod   = 6,
                                CollectionPeriod = 14,
                                Value            = 1m
                            },
                            new FSRValue
                            {
                                AcademicYear     = 1819,
                                DeliveryPeriod   = 6,
                                CollectionPeriod = 14,
                                Value            = 1m
                            },
                            new FSRValue
                            {
                                AcademicYear     = 2021,
                                DeliveryPeriod   = 1,
                                CollectionPeriod = 3,
                                Value            = 1m
                            },
                            new FSRValue
                            {
                                AcademicYear     = 2021,
                                DeliveryPeriod   = 2,
                                CollectionPeriod = 3,
                                Value            = 1m
                            }
                        }
                    },
                    new Delivery
                    {
                        ContractNumber = "Contract2",
                        DeliveryName   = "Adult Non-Levy Contracted Apprenticeships - Procured delivery",
                        FSRValues      = new List <FSRValue>
                        {
                            new FSRValue
                            {
                                AcademicYear     = 1718,
                                DeliveryPeriod   = 6,
                                CollectionPeriod = 14,
                                Value            = 1m
                            },
                        }
                    }
                }
            };
            var reportServiceContext = new Mock <IReportServiceContext>();

            var dataModel = new CrossYearDataModel();

            reportServiceContext.SetupGet(c => c.Ukprn).Returns(ukprn);
            reportServiceContext.SetupGet(c => c.CollectionYear).Returns(academicYear);
            reportServiceContext.SetupGet(c => c.Container).Returns(container);
            reportServiceContext.SetupGet(c => c.ReturnPeriod).Returns(returnPeriod);

            var excelFileServiceMock = new Mock <IExcelFileService>();
            var fileNameServiceMock  = new Mock <IFileNameService>();
            var modelBuilderMock     = new Mock <ICrossYearModelBuilder>();
            var renderServiceMock    = new Mock <ICrossYearRenderService>();
            var dataProviderMock     = new Mock <ICrossYearDataProvider>();

            var excelService  = GetExcelFileService(excelFileServiceMock, false);
            var renderService = GetRenderService(renderServiceMock, false);

            fileNameServiceMock.Setup(s => s.GetFilename(reportServiceContext.Object, "Beta Cross Year Indicative Payments Report", OutputTypes.Excel, true, true)).Returns(fileName);

            dataProviderMock.Setup(b => b.ProvideAsync(reportServiceContext.Object, cancellationToken)).ReturnsAsync(dataModel);

            modelBuilderMock.Setup(b => b.Build(dataModel, reportServiceContext.Object)).Returns(crossYearPaymentsModel);

            var report = NewReport(excelService, fileNameServiceMock.Object, modelBuilderMock.Object, renderService, dataProviderMock.Object);

            await report.GenerateReport(reportServiceContext.Object, cancellationToken);
        }