public void UpdateSocCodesOccupationalCodeTest(int numberOfSocs) { // Arrange var skillsImportService = new SkillsFrameworkDataImportService(fakeSkillsFrameworkService, fakeFrameworkSkillRepository, fakeJobProfileSocCodeRepository, fakeJobProfileRepository, fakeSocSkillMatrixRepository, fakeReportAuditRepository); //Dummies and Fakes A.CallTo(() => fakeJobProfileSocCodeRepository.GetSocCodes()).Returns(GetSOCs(numberOfSocs)); A.CallTo(() => fakeSkillsFrameworkService.GetAllSocMappings()).Returns(new List <SocCode>()); A.CallTo(() => fakeReportAuditRepository.CreateAudit(A <string> ._, A <string> ._)).DoesNothing(); A.CallTo(() => fakeJobProfileSocCodeRepository.UpdateSocOccupationalCode(A <SocCode> ._)).Returns(new RepoActionResult()); // Act skillsImportService.UpdateSocCodesOccupationalCode(); // Assert A.CallTo(() => fakeJobProfileSocCodeRepository.GetSocCodes()).MustHaveHappened(); A.CallTo(() => fakeReportAuditRepository.CreateAudit(A <string> ._, A <string> ._)).MustHaveHappened(); A.CallTo(() => fakeSkillsFrameworkService.GetAllSocMappings()).MustHaveHappened(); A.CallTo(() => fakeJobProfileSocCodeRepository.UpdateSocOccupationalCode(A <SocCode> ._)).MustHaveHappened(numberOfSocs * 2, Times.OrLess); }
public UpdateSocOccupationalCodeResponse UpdateSocCodesOccupationalCode() { 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 updatedCount = 0; var totalRecordsCount = 0; var noActionCount = 0; foreach (var socCode in allSocCodes) { var occupationalCode = occupationalCodeMappings.FirstOrDefault(occmap => occmap.SOCCode.Equals(socCode.SOCCode, StringComparison.OrdinalIgnoreCase)) ?.ONetOccupationalCode ?? string.Empty; var auditMessage = $"{(totalRecordsCount++).ToString("0000")} - Got occupational code [{occupationalCode}] for SOC : {socCode.SOCCode} from SkillFramework Service "; //if the existing ocupational code is not the same update it. if (socCode.ONetOccupationalCode?.Equals(occupationalCode, StringComparison.OrdinalIgnoreCase) == false) { socCode.ONetOccupationalCode = occupationalCode; jobProfileSocCodeRepository.UpdateSocOccupationalCode(socCode); auditMessage += " - Updated"; updatedCount++; } else { auditMessage += " - No action as it already the same"; noActionCount++; } reportAuditRepository.CreateAudit(ActionDetailsKey, auditMessage); } reportAuditRepository.CreateAudit(SummaryDetailsKey, $"Total number checked : {totalRecordsCount} updated : {updatedCount} no action : {noActionCount}"); return(new UpdateSocOccupationalCodeResponse { Success = true }); }