示例#1
0
        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);
        }
示例#7
0
        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();
        }