public async Task Then_The_Standard_Data_Is_Loaded_Into_The_Import_Repository( string filePath, string content, string newFilePath, ApprenticeshipFundingCsv frameWorkCsv, List <StandardCsv> standardCsv, List <ApprenticeshipFundingCsv> apprenticeFundingCsv, SectorSubjectAreaTier2Csv sectorSubjectAreaTier2Csv1, SectorSubjectAreaTier2Csv sectorSubjectAreaTier2Csv2, SectorSubjectAreaTier2Csv sectorSubjectAreaTier2Csv3, [Frozen] Mock <ILarsPageParser> pageParser, [Frozen] Mock <IDataDownloadService> service, [Frozen] Mock <ILarsStandardImportRepository> larsStandardImportRepository, [Frozen] Mock <IApprenticeshipFundingImportRepository> apprenticeshipFundingImportRepository, [Frozen] Mock <ISectorSubjectAreaTier2ImportRepository> sectorSubjectAreaTier2ImportRepository, [Frozen] Mock <IImportAuditRepository> repository, [Frozen] Mock <IZipArchiveHelper> zipHelper, LarsImportService larsImportService) { //Arrange apprenticeFundingCsv = apprenticeFundingCsv.Select(c => { c.ApprenticeshipType = "STD"; return(c); }).ToList(); frameWorkCsv.ApprenticeshipType = "FRMK"; apprenticeFundingCsv.Add(frameWorkCsv); service.Setup(x => x.GetFileStream(newFilePath)) .ReturnsAsync(new MemoryStream(Encoding.UTF8.GetBytes(content))); pageParser.Setup(x => x.GetCurrentLarsDataDownloadFilePath()).ReturnsAsync(newFilePath); repository.Setup(x => x.GetLastImportByType(ImportType.LarsImport)) .ReturnsAsync((ImportAudit)null); zipHelper.Setup(x => x.ExtractModelFromCsvFileZipStream <StandardCsv>(It.IsAny <Stream>(), Constants.LarsStandardsFileName)) .Returns(standardCsv); zipHelper.Setup(x => x.ExtractModelFromCsvFileZipStream <ApprenticeshipFundingCsv>(It.IsAny <Stream>(), Constants.LarsApprenticeshipFundingFileName)) .Returns(apprenticeFundingCsv); zipHelper.Setup(x => x.ExtractModelFromCsvFileZipStream <SectorSubjectAreaTier2Csv>(It.IsAny <Stream>(), Constants.LarsSectorSubjectAreaTier2FileName)) .Returns(new List <SectorSubjectAreaTier2Csv> { sectorSubjectAreaTier2Csv1, sectorSubjectAreaTier2Csv2, sectorSubjectAreaTier2Csv3 }); //Act await larsImportService.ImportDataIntoStaging(); //Assert larsStandardImportRepository.Verify(x => x.InsertMany(It.Is <List <LarsStandardImport> >(c => c.Count.Equals(standardCsv.Count))), Times.Once); apprenticeshipFundingImportRepository.Verify(x => x.InsertMany(It.Is <List <ApprenticeshipFundingImport> >(c => c.Count.Equals(apprenticeFundingCsv.Count - 1))), Times.Once); sectorSubjectAreaTier2ImportRepository.Verify(x => x.InsertMany(It.Is <List <SectorSubjectAreaTier2Import> >(c => c.Count.Equals(3))), Times.Once); }
public void Then_The_Fields_Are_Mapped_Correctly(ApprenticeshipFundingCsv apprenticeshipFundingCsv) { var actual = (ApprenticeshipFundingImport)apprenticeshipFundingCsv; actual.Should().BeEquivalentTo(apprenticeshipFundingCsv, options => options .Excluding(c => c.ApprenticeshipCode) .Excluding(c => c.ApprenticeshipType) ); actual.LarsCode.Should().Be(apprenticeshipFundingCsv.ApprenticeshipCode); }