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); }
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); }