Пример #1
0
        public void LearnDelFAMType66LDsFundModelIsNot35_ReturnsTrue()
        {
            //arrange
            var learnerDobNotNullMock = new Mock <ISharedRule <MessageLearner, bool> >();

            learnerDobNotNullMock.Setup(x => x.Evaluate(It.IsAny <MessageLearner>()))
            .Returns(false);

            var fetchSpecificFundModelMock = new Mock <IFetchSpecificFundModelsLDsWithLearnStartDate>();

            fetchSpecificFundModelMock.Setup(x => x.Evaluate(It.IsAny <MessageLearner>()))
            .Returns(new MessageLearner()
            {
                LearningDelivery = new MessageLearnerLearningDelivery[0]
            });

            var checkAgeLimitMock = new Mock <IPickValidLdsWithAgeLimitFamTypeAndCode>();

            checkAgeLimitMock.Setup(x => x.Evaluate(It.IsAny <MessageLearner>())).Returns(It.IsAny <List <MessageLearnerLearningDelivery> >());

            var learnerDelFam66ExclusionRuleMock = new Mock <ILearnerDelFam66ExclusionRule>();

            learnerDelFam66ExclusionRuleMock.Setup(x => x.Evaluate(It.IsAny <MessageLearner>())).Returns(false);

            var validator = new LearnDelFAMType66Validator(learnerDobNotNullMock.Object,
                                                           fetchSpecificFundModelMock.Object, checkAgeLimitMock.Object, learnerDelFam66ExclusionRuleMock.Object, null);

            //act
            validator.Validate(new MessageLearner());

            //assert
        }
Пример #2
0
        public void LearnDelFAMType66_LearnersAgeGreaterThan25_And_LARsNVQ_Valid_WithIoC_ReturnsFalse()
        {
            //arrange
            if (_container == null)
            {
                ConfigureIoCContainer();
            }
            using (var scope = _container.BeginLifetimeScope())
            {
                //var validator1 = new LearnDelFAMType66Validator(scope.ResolveKeyed<ISharedRule<Learner, bool>>(SharedRuleNames.LearnerDobShouldNotBeNull),
                //    );
                var learnerDobNotNull =
                    scope.ResolveKeyed <ISharedRule <MessageLearner, bool> >(RuleNameConstants.LearnerDoBShouldNotBeNull);
                var fetchSpecificFundModel = scope.Resolve <IFetchSpecificFundModelsLDsWithLearnStartDate>();

                var checkAgeLimit = scope.Resolve <IPickValidLdsWithAgeLimitFamTypeAndCode>();
                var learnerDelFam66ExclusionRule = scope.Resolve <ILearnerDelFam66ExclusionRule>();

                var validator = new LearnDelFAMType66Validator(learnerDobNotNull, fetchSpecificFundModel, checkAgeLimit, learnerDelFam66ExclusionRule, null);

                //act
                validator.Validate(new MessageLearner()
                {
                    DateOfBirth      = new DateTime(1982, 01, 01),
                    LearningDelivery = new MessageLearnerLearningDelivery[]
                    {
                        new MessageLearnerLearningDelivery()
                        {
                            LearnAimRef    = "22",
                            FundModel      = 36,
                            LearnStartDate = new DateTime(2016, 05, 5)
                        },
                        new MessageLearnerLearningDelivery()
                        {
                            FundModel           = 35,
                            LearnAimRef         = "Z0007835",
                            LearnStartDate      = new DateTime(2017, 06, 11),
                            LearningDeliveryFAM = new MessageLearnerLearningDeliveryLearningDeliveryFAM[]
                            {
                                new MessageLearnerLearningDeliveryLearningDeliveryFAM()
                                {
                                    LearnDelFAMCode = "1",
                                    LearnDelFAMType = "FFI"
                                }
                            }
                        }
                    },
                    LearnerEmploymentStatus = new MessageLearnerLearnerEmploymentStatus[]
                    {
                        new MessageLearnerLearnerEmploymentStatus()
                        {
                            DateEmpStatApp             = new DateTime(2015, 01, 01),
                            EmpId                      = 1111,
                            EmpStat                    = 15,
                            EmploymentStatusMonitoring = new MessageLearnerLearnerEmploymentStatusEmploymentStatusMonitoring[0]
                        }
                    }
                });
            }
        }
Пример #3
0
        public void LearnersAgeLessthan25_ReturnsTrue()
        {
            //arrange
            var learnerDobNotNullMock = new Mock <ISharedRule <Learner, bool> >();

            learnerDobNotNullMock.Setup(x => x.Evaluate(It.IsAny <Learner>()))
            .Returns(false);

            var fetchSpecificFundModelMock = new Mock <IFetchSpecificFundModelsLDsWithLearnStartDate>();

            fetchSpecificFundModelMock.Setup(x => x.Evaluate(It.IsAny <Learner>()))
            .Returns(new List <LearningDelivery>()
            {
                new LearningDelivery()
            });

            var checkAgeLimitMock = new Mock <IPickValidLdsWithAgeLimitFamTypeAndCode>();

            checkAgeLimitMock.Setup(x => x.Evaluate(It.IsAny <List <LearningDelivery> >())).Returns(new List <LearningDelivery>());

            var learnerDelFam66ExclusionRuleMock = new Mock <ILearnerDelFam66ExclusionRule>();

            learnerDelFam66ExclusionRuleMock.Setup(x => x.Evaluate(It.IsAny <Learner>())).Returns(false);

            var validator = new LearnDelFAMType66Validator(learnerDobNotNullMock.Object,
                                                           fetchSpecificFundModelMock.Object, checkAgeLimitMock.Object, learnerDelFam66ExclusionRuleMock.Object);

            //act
            var actual = validator.Validate(new Learner());

            //assert
            Assert.NotNull(actual);
            Assert.True(actual.IsValid);
        }
Пример #4
0
        public void LearnersAgeGreaterThan25_And_LARsNVQ_Valid_WithIoC_ReturnsFalse()
        {
            //arrange
            if (_container == null)
            {
                ConfigureIoCContainer();
            }
            using (var scope = _container.BeginLifetimeScope())
            {
                //var validator1 = new LearnDelFAMType66Validator(scope.ResolveKeyed<ISharedRule<Learner, bool>>(SharedRuleNames.LearnerDobShouldNotBeNull),
                //    );
                var learnerDobNotNull =
                    scope.ResolveKeyed <ISharedRule <Learner, bool> >(SharedRuleNames.LearnerDobShouldNotBeNull);
                var fetchSpecificFundModel = scope.Resolve <IFetchSpecificFundModelsLDsWithLearnStartDate>();

                var checkAgeLimit = scope.Resolve <IPickValidLdsWithAgeLimitFamTypeAndCode>();
                var learnerDelFam66ExclusionRule = scope.Resolve <ILearnerDelFam66ExclusionRule>();

                var validator = new LearnDelFAMType66Validator(learnerDobNotNull,
                                                               fetchSpecificFundModel, checkAgeLimit, learnerDelFam66ExclusionRule);

                //act
                var actual = validator.Validate(new Learner()
                {
                    DateOfBirth        = new DateTime(1982, 01, 01),
                    LearningDeliveries = new List <LearningDelivery>()
                    {
                        new LearningDelivery()
                        {
                            LearnAimRef    = "22",
                            FundModel      = 36,
                            LearnStartDate = new DateTime(2016, 05, 5)
                        },
                        new LearningDelivery()
                        {
                            FundModel            = 35,
                            LearnAimRef          = "Z0007835",
                            LearnStartDate       = new DateTime(2017, 06, 11),
                            DateOfBirth          = new DateTime(1982, 01, 01),
                            LearningDeliveryFAMs = new List <LearningDeliveryFAM>()
                            {
                                new LearningDeliveryFAM()
                                {
                                    LearnDelFAMCode = "1",
                                    LearnDelFAMType = "FFI"
                                }
                            }
                        }
                    }
                });

                //assert
                Assert.NotNull(actual);
                Assert.False(actual.IsValid);
            }
        }
Пример #5
0
        public void LearnDelFAMType66_LearnersAgeGreaterThan25_And_LARsNVQ_Valid_ReturnsFalse()
        {
            //arrange
            var learnerDobNotNullMock = new Mock <ISharedRule <MessageLearner, bool> >();

            learnerDobNotNullMock.Setup(x => x.Evaluate(It.IsAny <MessageLearner>()))
            .Returns(false);

            var fetchSpecificFundModelMock = new Mock <IFetchSpecificFundModelsLDsWithLearnStartDate>();

            fetchSpecificFundModelMock.Setup(x => x.Evaluate(It.IsAny <MessageLearner>()))
            .Returns(new MessageLearner()
            {
                LearningDelivery = new MessageLearnerLearningDelivery[] { new MessageLearnerLearningDelivery() }
            });

            var checkAgeLimitMock = new Mock <IPickValidLdsWithAgeLimitFamTypeAndCode>();

            checkAgeLimitMock.Setup(x => x.Evaluate(It.IsAny <MessageLearner>())).Returns(new List <MessageLearnerLearningDelivery>()
            {
                new MessageLearnerLearningDelivery()
                {
                    FundModel = 35
                }
            });

            var learnerValidationErrorHandlerMock = new Mock <IValidationErrorHandler <MessageLearner> >();

            Expression <Action <IValidationErrorHandler <MessageLearner> > > handle = veh => veh.Handle(It.IsAny <MessageLearner>(), RuleNameConstants.LearnDelFam66);

            learnerValidationErrorHandlerMock.Setup(handle);

            var learnerDelFam66ExclusionRuleMock = new Mock <ILearnerDelFam66ExclusionRule>();

            learnerDelFam66ExclusionRuleMock.Setup(x => x.Evaluate(It.IsAny <MessageLearner>())).Returns(false);

            var validator = new LearnDelFAMType66Validator(learnerDobNotNullMock.Object,
                                                           fetchSpecificFundModelMock.Object, checkAgeLimitMock.Object, learnerDelFam66ExclusionRuleMock.Object, learnerValidationErrorHandlerMock.Object);

            //act
            validator.Validate(new MessageLearner());
        }