public void ExportNewONetMappingsTest(string cMSSOCCode, string cMSOnetCode, bool expectToInsertNewSOCs, int numberAuditMatches) { // Arrange var skillsImportService = new SkillsFrameworkDataImportService(fakeSkillsFrameworkService, fakeFrameworkSkillRepository, fakeJobProfileSocCodeRepository, fakeJobProfileRepository, fakeSocSkillMatrixRepository, fakeReportAuditRepository); A.CallTo(() => fakeSkillsFrameworkService.AddNewSOCMappings(A <List <SocCode> > ._)).DoesNothing(); var SocCodesFromOnet = new List <SocCode> { new SocCode { SOCCode = "ExistingSOC", ONetOccupationalCode = "TestONetCode" } }; A.CallTo(() => fakeSkillsFrameworkService.GetAllSocMappings()).Returns(SocCodesFromOnet); var SocCodesFromCMS = new List <SocCode> { new SocCode { SOCCode = cMSSOCCode, ONetOccupationalCode = cMSOnetCode } }; A.CallTo(() => fakeJobProfileSocCodeRepository.GetSocCodes()).Returns(SocCodesFromCMS.AsQueryable()); A.CallTo(() => fakeSkillsFrameworkService.AddNewSOCMappings(A <IEnumerable <SocCode> > ._)).DoesNothing(); // Act skillsImportService.ExportNewONetMappings(); //Asserts if (expectToInsertNewSOCs) { A.CallTo(() => fakeSkillsFrameworkService.AddNewSOCMappings(A <IEnumerable <SocCode> > ._)).MustHaveHappenedOnceExactly(); } else { A.CallTo(() => fakeSkillsFrameworkService.AddNewSOCMappings(A <IEnumerable <SocCode> > ._)).MustNotHaveHappened(); } A.CallTo(() => fakeReportAuditRepository.CreateAudit("SummaryDetails", A <string> ._)).MustHaveHappened(numberAuditMatches, Times.Exactly); }
public UpdateSocOccupationalCodeResponse ExportNewONetMappings() { var allSocCodes = jobProfileSocCodeRepository.GetSocCodes().ToList(); var occupationalCodeMappings = skillsFrameworkService.GetAllSocMappings(); reportAuditRepository.CreateAudit(SummaryDetailsKey, $"Found {allSocCodes.Count} SOCs in the Sitefinity "); reportAuditRepository.CreateAudit(SummaryDetailsKey, $"Found {occupationalCodeMappings.Count()} socOccupation Code Mappings from Framework Service"); var newSOCS = allSocCodes.Where(s => !occupationalCodeMappings.Any(o => o.SOCCode == s.SOCCode)).Where(n => !string.IsNullOrEmpty(n.ONetOccupationalCode)); reportAuditRepository.CreateAudit(SummaryDetailsKey, $"Found {newSOCS.Count()} SOCs with ONet mappings that are not already in the ONet Framework Service"); if (newSOCS.Count() > 0) { skillsFrameworkService.AddNewSOCMappings(newSOCS); reportAuditRepository.CreateAudit(SummaryDetailsKey, $"Added new SOCs to the ONet Framework Service"); } return(new UpdateSocOccupationalCodeResponse { Success = true }); }