public void GetSkillsForOnetCodeTest(string onetSocCode) { var fakeLogger = A.Fake <IApplicationLogger>(); var fakeSocRepository = A.Fake <IRepository <SocCode> >(); var fakeDigitalSkillRepository = A.Fake <IRepository <DigitalSkill> >(); var fakeDigitalTranslationRepository = A.Fake <IRepository <FrameworkSkill> >(); using (OnetSkillsFramework dbcontext = new OnetSkillsFramework()) { var skillsRepository = new SkillsOueryRepository(dbcontext); var combinationRepository = new CombinationsQueryRepository(dbcontext); var suppressionRepository = new SuppressionsQueryRepository(dbcontext); var contentReferenceRepository = new ContentReferenceQueryRepository(dbcontext); ISkillFrameworkBusinessRuleEngine skillFrameworkBusinessRuleEngine = new SkillFrameworkBusinessRuleEngine( skillsRepository, suppressionRepository, combinationRepository, contentReferenceRepository); var skillsFrameworkService = new SkillsFrameworkService(fakeLogger, fakeSocRepository, fakeDigitalSkillRepository, fakeDigitalTranslationRepository, skillFrameworkBusinessRuleEngine); var result = skillsFrameworkService.GetRelatedSkillMapping(onetSocCode); result.Should().NotBeNull(); } }
public void ResetStartedSocStatusTest(IReadOnlyCollection <SocCode> responseData) { A.CallTo(() => fakeSocMappingRepository.GetSocsInStartedState()).Returns(responseData.AsQueryable()); var skillsFrameworkService = new SkillsFrameworkService(fakeApplicationLogger, fakeDigitalSkill, fakeSkillsRepository, fakeSkillsBusinessRuleEngine, fakeSocMappingRepository ); A.CallTo(() => fakeSocMappingRepository.SetUpdateStatusForSocs(A <IQueryable <SocCode> > ._, SkillsFrameworkUpdateStatus.AwaitingUpdate)).DoesNothing(); skillsFrameworkService.ResetStartedSocStatus(); A.CallTo(() => fakeSocMappingRepository.SetUpdateStatusForSocs(A <IQueryable <SocCode> > ._, SkillsFrameworkUpdateStatus.AwaitingUpdate)).MustHaveHappenedOnceExactly(); }
public void SetSocStatusSelectedForUpdateTest() { var skillsFrameworkService = new SkillsFrameworkService(fakeApplicationLogger, fakeDigitalSkill, fakeSkillsRepository, fakeSkillsBusinessRuleEngine, fakeSocMappingRepository ); A.CallTo(() => fakeSocMappingRepository.SetUpdateStatusForSocs(A <List <SocCode> > ._, SkillsFrameworkUpdateStatus.SelectedForUpdate)).DoesNothing(); skillsFrameworkService.SetSocStatusSelectedForUpdate(new SocCode { SOCCode = "dummySoc" }); A.CallTo(() => fakeSocMappingRepository.SetUpdateStatusForSocs(A <List <SocCode> > ._, SkillsFrameworkUpdateStatus.SelectedForUpdate)).MustHaveHappenedOnceExactly(); }
public void GetSocMappingStatusTest() { var skillsFrameworkService = new SkillsFrameworkService(fakeApplicationLogger, fakeDigitalSkill, fakeSkillsRepository, fakeSkillsBusinessRuleEngine, fakeSocMappingRepository ); var dummySocMappingStatus = new SocMappingStatus { AwaitingUpdate = 1, SelectedForUpdate = 2, UpdateCompleted = 3 }; A.CallTo(() => fakeSocMappingRepository.GetSocMappingStatus()).Returns(dummySocMappingStatus); var result = skillsFrameworkService.GetSocMappingStatus(); result.Should().BeEquivalentTo(dummySocMappingStatus); }
public void GetNextBatchSocMappingsForUpdateTest(IReadOnlyCollection <SocCode> responseData) { A.CallTo(() => fakeSocMappingRepository.GetSocsAwaitingUpdate()).Returns(responseData.AsQueryable()); var skillsFrameworkService = new SkillsFrameworkService(fakeApplicationLogger, fakeDigitalSkill, fakeSkillsRepository, fakeSkillsBusinessRuleEngine, fakeSocMappingRepository ); //act var batchSize = 1; var result = skillsFrameworkService.GetNextBatchSocMappingsForUpdate(batchSize); result.Count().Should().Be(batchSize); batchSize = 2; result = skillsFrameworkService.GetNextBatchSocMappingsForUpdate(batchSize); result.Count().Should().Be(batchSize); }
public void GetAllSocMappingsTest(IReadOnlyCollection <SocCode> responseData) { // Arrange // Act A.CallTo(() => fakeSocMappingRepository.GetAll()).Returns(responseData.AsQueryable()); var skillsFrameworkService = new SkillsFrameworkService(fakeApplicationLogger, fakeDigitalSkill, fakeSkillsRepository, fakeSkillsBusinessRuleEngine, fakeSocMappingRepository ); var response = skillsFrameworkService.GetAllSocMappings(); // Assert A.CallTo(() => fakeSocMappingRepository.GetAll()).MustHaveHappened(); var socCodeData = response as IList <SocCode> ?? response.ToList(); socCodeData.Should().NotBeNull(); socCodeData.Should().BeEquivalentTo(responseData); }
public void GetAllSocMapping() { var mapperConfig = new MapperConfiguration(cfg => cfg.AddProfile(new SkillsFrameworkMapper())); var mapper = mapperConfig.CreateMapper(); var fakeLogger = A.Fake <IApplicationLogger>(); var fakeFrameworkSkillSuppression = A.Fake <IQueryRepository <FrameworkSkillSuppression> >(); var fakeContentReference = A.Fake <IQueryRepository <FrameWorkContent> >(); var fakeCombinationSkill = A.Fake <IQueryRepository <FrameWorkSkillCombination> >(); IQueryRepository <SocCode> socCodeRepository = new SocMappingsQueryRepository(new OnetSkillsFramework(), mapper); IQueryRepository <DigitalSkill> digitalSkillsRepository = new DigitalSkillsQueryRepository(new OnetSkillsFramework()); IQueryRepository <FrameworkSkill> frameWorkRepository = new TranslationQueryRepository(new OnetSkillsFramework()); ISkillsRepository skillsRepository = new SkillsOueryRepository(new OnetSkillsFramework()); ISkillFrameworkBusinessRuleEngine ruleEngine = new SkillFrameworkBusinessRuleEngine(skillsRepository, fakeFrameworkSkillSuppression, fakeCombinationSkill, fakeContentReference); ISkillsFrameworkService skillService = new SkillsFrameworkService(fakeLogger, socCodeRepository, digitalSkillsRepository, frameWorkRepository, ruleEngine); var level = skillService.GetAllSocMappings().ToList(); level.Should().NotBeNull(); }
public void GetAllTranslationsTest(IReadOnlyCollection <FrameworkSkill> translatedData) { // Act A.CallTo(() => fakeSkillsRepository.GetAll()).Returns(translatedData.AsQueryable()); var skillsFrameworkService = new SkillsFrameworkService(fakeApplicationLogger, fakeDigitalSkill, fakeSkillsRepository, fakeSkillsBusinessRuleEngine, fakeSocMappingRepository ); var response = skillsFrameworkService.GetAllTranslations(); // Assert A.CallTo(() => fakeSkillsRepository.GetAll()).MustHaveHappened(); var whatItTakesSkills = response as IList <FrameworkSkill> ?? response.ToList(); whatItTakesSkills.Should().NotBeNull(); whatItTakesSkills.Should().BeEquivalentTo(translatedData); }
public void GetDigitalSkillLevelTest(bool digitalSkillAvailable) { var skillsFrameworkService = new SkillsFrameworkService(fakeApplicationLogger, fakeDigitalSkill, fakeSkillsRepository, fakeSkillsBusinessRuleEngine, fakeSocMappingRepository ); A.CallTo(() => fakeDigitalSkill.GetById(A <string> ._)).Returns(digitalSkillAvailable ? new DigitalSkill() : null); A.CallTo(() => fakeSkillsBusinessRuleEngine.GetDigitalSkillsLevel(A <int> ._)).Returns(DigitalSkillsLevel.Level0); skillsFrameworkService.GetDigitalSkillLevel("test"); A.CallTo(() => fakeDigitalSkill.GetById(A <string> ._)).MustHaveHappened(); if (digitalSkillAvailable) { A.CallTo(() => fakeSkillsBusinessRuleEngine.GetDigitalSkillsLevel(A <int> ._)).MustHaveHappened(); } else { A.CallTo(() => fakeSkillsBusinessRuleEngine.GetDigitalSkillsLevel(A <int> ._)).MustNotHaveHappened(); } }
public void GetRelatedSkillMappingTest() { // Arrange var fakeQuerable = A.Fake <IQueryable <OnetSkill> >(); A.CallTo(() => fakeSkillsBusinessRuleEngine.GetAllRawOnetSkillsForOccupation(A <string> ._)).Returns(fakeQuerable); A.CallTo(() => fakeSkillsBusinessRuleEngine.AverageOutscoreScales(A <IList <OnetSkill> > ._)).Returns(fakeQuerable); A.CallTo(() => fakeSkillsBusinessRuleEngine.MoveBottomLevelAttributesUpOneLevel(A <IEnumerable <OnetSkill> > ._)).Returns(fakeQuerable); A.CallTo(() => fakeSkillsBusinessRuleEngine.RemoveDuplicateAttributes(A <IEnumerable <OnetSkill> > ._)).Returns(fakeQuerable); A.CallTo(() => fakeSkillsBusinessRuleEngine.RemoveDFCSuppressions(A <IEnumerable <OnetSkill> > ._)).Returns(fakeQuerable); A.CallTo(() => fakeSkillsBusinessRuleEngine.AddTitlesToAttributes(A <IEnumerable <OnetSkill> > ._)).Returns(fakeQuerable); A.CallTo(() => fakeSkillsBusinessRuleEngine.BoostMathsSkills(A <IEnumerable <OnetSkill> > ._)).Returns(fakeQuerable); A.CallTo(() => fakeSkillsBusinessRuleEngine.CombineSimilarAttributes(A <IList <OnetSkill> > ._)).Returns(fakeQuerable); A.CallTo(() => fakeSkillsBusinessRuleEngine.SelectFinalAttributes(A <IEnumerable <OnetSkill> > ._)).Returns(fakeQuerable); var skillsFrameworkService = new SkillsFrameworkService(fakeApplicationLogger, fakeDigitalSkill, fakeSkillsRepository, fakeSkillsBusinessRuleEngine, fakeSocMappingRepository ); //act var response = skillsFrameworkService.GetRelatedSkillMapping("dummyCode"); //asserts response.Should().NotBeNull(); A.CallTo(() => fakeSkillsBusinessRuleEngine.GetAllRawOnetSkillsForOccupation(A <string> ._)).MustHaveHappened() .Then(A.CallTo(() => fakeSkillsBusinessRuleEngine.AverageOutscoreScales(A <IList <OnetSkill> > ._)).MustHaveHappened()) .Then(A.CallTo(() => fakeSkillsBusinessRuleEngine.MoveBottomLevelAttributesUpOneLevel(A <IEnumerable <OnetSkill> > ._)).MustHaveHappened()) .Then(A.CallTo(() => fakeSkillsBusinessRuleEngine.RemoveDuplicateAttributes(A <IEnumerable <OnetSkill> > ._)).MustHaveHappened()) .Then(A.CallTo(() => fakeSkillsBusinessRuleEngine.RemoveDFCSuppressions(A <IEnumerable <OnetSkill> > ._)).MustHaveHappened()) .Then(A.CallTo(() => fakeSkillsBusinessRuleEngine.AddTitlesToAttributes(A <IEnumerable <OnetSkill> > ._)).MustHaveHappened()) .Then(A.CallTo(() => fakeSkillsBusinessRuleEngine.BoostMathsSkills(A <IEnumerable <OnetSkill> > ._)).MustHaveHappened()) .Then(A.CallTo(() => fakeSkillsBusinessRuleEngine.CombineSimilarAttributes(A <IList <OnetSkill> > ._)).MustHaveHappened()) .Then(A.CallTo(() => fakeSkillsBusinessRuleEngine.SelectFinalAttributes(A <IEnumerable <OnetSkill> > ._)).MustHaveHappened()); }
public void AddNewSOCMappingsTest() { var skillsFrameworkService = new SkillsFrameworkService(fakeApplicationLogger, fakeDigitalSkill, fakeSkillsRepository, fakeSkillsBusinessRuleEngine, fakeSocMappingRepository ); A.CallTo(() => fakeSocMappingRepository.AddNewSOCMappings(A <List <SocCode> > ._)).DoesNothing(); var testSOC = new SocCode() { SOCCode = "TestSOC1", ONetOccupationalCode = "TestONetCode1", Description = "TestDescription" }; var testSOCList = new List <SocCode> { testSOC }; skillsFrameworkService.AddNewSOCMappings(testSOCList); A.CallTo(() => fakeSocMappingRepository.AddNewSOCMappings(A <List <SocCode> > ._)).MustHaveHappenedOnceExactly(); }