public override void Given()
        {
            var registrationLearnerDetails = new RegisteredLearnerDetails
            {
                ProfileId   = 1,
                Uln         = 1234567890,
                Firstname   = "Test First 1",
                Lastname    = "Test Last 1",
                DateofBirth = DateTime.UtcNow.AddYears(-40)
            };

            _registrationLearnerDetails = new List <RegisteredLearnerDetails> {
                registrationLearnerDetails
            };
            LearnerRecordService.GetPendingVerificationAndLearningEventsLearnersAsync().Returns(_registrationLearnerDetails);

            var apiResponse = new GetLearnerLearningEventsResponse {
                IncomingULN = registrationLearnerDetails.Uln.ToString(), FoundULN = registrationLearnerDetails.Uln.ToString()
            };

            PersonalLearningRecordApiClient.GetLearnerEventsAsync(Arg.Any <RegisteredLearnerDetails>()).Returns(apiResponse);

            _expectedResult = new LearnerVerificationAndLearningEventsResponse {
                IsSuccess = true, TotalCount = 1, LrsCount = 1, ModifiedCount = 1, SavedCount = 1
            };
            LearnerRecordService.ProcessLearnerRecordsAsync(Arg.Any <List <LearnerRecordDetails> >()).Returns(_expectedResult);
        }
        public override void Given()
        {
            var registrationLearnerDetails = new RegisteredLearnerDetails
            {
                ProfileId   = 1,
                Uln         = 9875641231,
                Firstname   = "Test First 1",
                Lastname    = "Test Last 1",
                DateofBirth = DateTime.UtcNow.AddYears(-40)
            };

            _registrationLearnerDetails = new List <RegisteredLearnerDetails> {
                registrationLearnerDetails
            };
            LearnerRecordService.GetPendingGenderLearnersAsync().Returns(_registrationLearnerDetails);

            _apiResponse = new findLearnerByULNResponse {
                FindLearnerResponse = new FindLearnerResp {
                    ULN = registrationLearnerDetails.Uln.ToString()
                }
            };
            LearnerServiceApiClient.FetchLearnerDetailsAsync(Arg.Any <RegisteredLearnerDetails>()).Returns(_apiResponse);

            _expectedResult = new LearnerGenderResponse {
                IsSuccess = true, TotalCount = 1, LrsCount = 1, ModifiedCount = 1, SavedCount = 1
            };
            LearnerRecordService.ProcessLearnerGenderAsync(Arg.Any <List <LearnerRecordDetails> >()).Returns(_expectedResult);
        }
Exemplo n.º 3
0
        public async Task <GetLearnerLearningEventsResponse> GetLearnerEventsAsync(RegisteredLearnerDetails learnerDetails)
        {
            try
            {
                var invokingOrganisation = new InvokingOrganisationR10
                {
                    OrganisationRef = _configuration.LearningRecordServiceSettings.Ukprn,
                    Ukprn           = _configuration.LearningRecordServiceSettings.Ukprn,
                    Username        = _configuration.LearningRecordServiceSettings.Username,
                    Password        = _configuration.LearningRecordServiceSettings.Password
                };

                return(await _learnerServiceR9Client.GetLearnerLearningEventsAsync(invokingOrganisation, Constants.LearnerLearningEventsUserType,
                                                                                   _configuration.LearningRecordServiceSettings.VendorId, Constants.LrsLanguage, learnerDetails.Uln.ToString(),
                                                                                   learnerDetails.Firstname, learnerDetails.Lastname, learnerDetails.DateofBirth.ToString(Constants.LrsDateFormat), null,
                                                                                   Constants.LearnerLearningEventsGetType));
            }
            catch (Exception ex)
            {
                if (_learnerServiceR9Client.State == CommunicationState.Faulted)
                {
                    _learnerServiceR9Client.Abort();
                }

                _logger.LogError($"Error while executing GetLearnerEventsAsync({learnerDetails}). Exception = {ex}");
                return(null);
            }
        }
Exemplo n.º 4
0
        public override void Setup()
        {
            _logger = Substitute.For <ILogger <IPersonalLearningRecordServiceApiClient> >();
            _learnerServiceR9Client = Substitute.For <ILearnerServiceR9Client>();

            _registrationLearnerDetails = new RegisteredLearnerDetails
            {
                Uln         = 1234567890,
                Firstname   = "First 1",
                Lastname    = "Last 1",
                DateofBirth = DateTime.UtcNow.AddYears(-30)
            };

            _configuration = new ResultsAndCertificationConfiguration
            {
                LearningRecordServiceSettings = new LearningRecordServiceSettings {
                    VendorId = 1, Ukprn = "9856741231", Username = "******", Password = "******"
                }
            };

            _mockHttpResult = new GetLearnerLearningEventsResponse
            {
                FoundULN      = _registrationLearnerDetails.Uln.ToString(),
                IncomingULN   = _registrationLearnerDetails.Uln.ToString(),
                LearnerRecord = new LearningEvent[] { new LearningEvent {
                                                          Grade = "Pass", SubjectCode = "100/2510/8"
                                                      }, new LearningEvent {
                                                          Grade = "Fail", SubjectCode = "100/2508/X"
                                                      } }
            };
        }
Exemplo n.º 5
0
        public async Task <findLearnerByULNResponse> FetchLearnerDetailsAsync(RegisteredLearnerDetails learnerDetails)
        {
            try
            {
                var learnerRequest = new learnerByULNRequest
                {
                    FindLearnerByULN = new LearnerByULNRqst
                    {
                        UKPRN       = _configuration.LearningRecordServiceSettings.Ukprn,
                        UserName    = _configuration.LearningRecordServiceSettings.Username,
                        OrgPassword = _configuration.LearningRecordServiceSettings.Password,
                        ULN         = learnerDetails.Uln.ToString(),
                        GivenName   = learnerDetails.Firstname,
                        FamilyName  = learnerDetails.Lastname,
                        FindType    = Constants.LearnerByULNFindType
                    }
                };

                return(await _learnerPortTypeClient.learnerByULNAsync(learnerRequest));
            }
            catch (Exception ex)
            {
                if (_learnerPortTypeClient.State == CommunicationState.Faulted)
                {
                    _learnerPortTypeClient.Abort();
                }

                _logger.LogError($"Error while executing FetchLearnerDetailsAsync. Exception = {ex}");
                return(null);
            }
        }
Exemplo n.º 6
0
        public async Task <verifyLearnerResponse> VerifyLearnerAsync(RegisteredLearnerDetails learnerDetails)
        {
            try
            {
                var request = new verifyLearnerRequest
                {
                    VerifyLearner = new VerifyLearnerRqst
                    {
                        UKPRN           = _configuration.LearningRecordServiceSettings.Ukprn,
                        UserName        = _configuration.LearningRecordServiceSettings.Username,
                        OrgPassword     = _configuration.LearningRecordServiceSettings.Password,
                        LearnerToVerify = new MIAPLearnerToVerify
                        {
                            ULN         = learnerDetails.Uln.ToString(),
                            GivenName   = learnerDetails.Firstname,
                            FamilyName  = learnerDetails.Lastname,
                            DateOfBirth = learnerDetails.DateofBirth.ToString(Constants.LrsDateFormat)
                        }
                    }
                };

                return(await _learnerPortTypeClient.verifyLearnerAsync(request));
            }
            catch (Exception ex)
            {
                if (_learnerPortTypeClient.State == CommunicationState.Faulted)
                {
                    _learnerPortTypeClient.Abort();
                }

                _logger.LogError($"Error while executing VerifyLearnerAsnc. Exception = {ex}");
                return(null);
            }
        }
Exemplo n.º 7
0
        public override void Setup()
        {
            _logger = Substitute.For <ILogger <ILearnerServiceApiClient> >();
            _learnerPortTypeClient = Substitute.For <ILearnerPortTypeClient>();

            _registrationLearnerDetails = new RegisteredLearnerDetails
            {
                Uln         = 1234567890,
                Firstname   = "First 1",
                Lastname    = "Last 1",
                DateofBirth = DateTime.UtcNow.AddYears(-30)
            };

            _configuration = new ResultsAndCertificationConfiguration
            {
                LearningRecordServiceSettings = new LearningRecordServiceSettings {
                    VendorId = 1, Ukprn = "9856741231", Username = "******", Password = "******"
                }
            };

            _mockHttpResult = new findLearnerByULNResponse
            {
                FindLearnerResponse = new FindLearnerResp
                {
                    ULN        = _registrationLearnerDetails.Uln.ToString(),
                    GivenName  = _registrationLearnerDetails.Firstname,
                    FamilyName = _registrationLearnerDetails.Lastname,
                    Learner    = new List <Learner> {
                        new Learner
                        {
                            ULN        = _registrationLearnerDetails.Uln.ToString(),
                            GivenName  = _registrationLearnerDetails.Firstname,
                            FamilyName = _registrationLearnerDetails.Lastname,
                            Gender     = ((int)LrsGender.Male).ToString()
                        }
                    }.ToArray(),
                    ResponseCode = Constants.LearnerByUlnExactMatchResponseCode
                }
            };
        }