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