Пример #1
0
        public async Task Then_The_Import_Tables_Are_Deleted_And_New_Data_Imported_Where_Frameworks_Have_FundingPeriods(
            string frameworkFile,
            List <Framework> frameworks,
            Framework framework,
            [Frozen] Mock <IImportAuditRepository> importAuditRepository,
            [Frozen] Mock <IJsonFileHelper> jsonFileHelper,
            [Frozen] Mock <IFrameworkImportRepository> frameworkImportRepository,
            [Frozen] Mock <IFrameworkFundingImportRepository> frameworkFundingImportRepository,
            FrameworksImportService frameworksImportService)
        {
            framework.FundingPeriods = null;
            frameworks.Add(framework);

            var countOfFundingPeriods = frameworks.Where(f => f.FundingPeriods != null).SelectMany(f => f.FundingPeriods).Count();

            importAuditRepository.Setup(x => x.GetLastImportByType(ImportType.FrameworkImport)).ReturnsAsync((ImportAudit)null);

            jsonFileHelper.Setup(x => x.GetLatestFrameworkFileFromDataDirectory()).Returns(frameworkFile);
            jsonFileHelper.Setup(x => x.ParseJsonFile <Framework>(It.IsAny <string>())).Returns(frameworks);

            var result = await frameworksImportService.ImportDataIntoStaging();

            result.Success.Should().BeTrue();
            result.LatestFile.Should().Be(frameworkFile);

            frameworkImportRepository.Verify(x => x.DeleteAll(), Times.Once);
            frameworkFundingImportRepository.Verify(x => x.DeleteAll(), Times.Once);
            frameworkImportRepository.Verify(x => x.InsertMany(It.Is <List <FrameworkImport> >(c => c.Count.Equals(frameworks.Count - 1))), Times.Once);
            frameworkFundingImportRepository.Verify(x => x.InsertMany(It.Is <List <FrameworkFundingImport> >(c => c.Count.Equals(countOfFundingPeriods))), Times.Once);
        }
Пример #2
0
        public void Then_The_Fields_Are_Correctly_Mapped(Framework framework)
        {
            var actual = (FrameworkImport)framework;

            actual.Should().BeEquivalentTo(framework, options => options
                                           .Excluding(x => x.FundingPeriods)
                                           .Excluding(x => x.TypicalLength)
                                           );

            actual.TypicalLengthFrom.Should().Be(framework.TypicalLength.From);
            actual.TypicalLengthTo.Should().Be(framework.TypicalLength.To);
            actual.TypicalLengthUnit.Should().Be(framework.TypicalLength.Unit);
        }