public async Task When_Providers_Exist_Then_Return_PagedResult(
                IEnumerable <GetApprenticeshipsResponse.ApprenticeshipDetailsResponse> providers,
                int pageSize, int pageIndex, string selectedProviderName, string selectedFeedbackStatus, string sortColumn, string sortDirection,
                int expectedTotalRecordCount, int expectedTotalPages)
            {
                var testAccountId        = 1;
                var testAccountIdEncoded = "MANYTEST1";

                _encodingServiceMock.Setup(m => m.Decode(testAccountIdEncoded, EncodingType.AccountId)).Returns(testAccountId);

                _commitmentServiceMock.Setup(m => m.GetApprenticeships(testAccountId)).ReturnsAsync(
                    new GetApprenticeshipsResponse()
                {
                    Apprenticeships = providers
                });

                ITrainingProviderService sut = new TrainingProviderService(
                    _commitmentServiceMock.Object,
                    _encodingServiceMock.Object,
                    _employerFeedbackRepositoryMock.Object,
                    _config);

                var model = await sut.GetTrainingProviderSearchViewModel(
                    testAccountIdEncoded, selectedProviderName, selectedFeedbackStatus, pageSize, pageIndex, sortColumn, sortDirection);

                Assert.Equal(expectedTotalRecordCount, model.TrainingProviders.TotalRecordCount);
                Assert.Equal(expectedTotalPages, model.TrainingProviders.TotalPages);
            }
            public async Task When_Provider_Exists_Then_Return_ProviderViewModel()
            {
                var testAccountId        = 2;
                var testAccountIdEncoded = "CONFIRMATIONMODELTEST1";

                _encodingServiceMock.Setup(m => m.Decode(testAccountIdEncoded, EncodingType.AccountId)).Returns(testAccountId);

                _commitmentServiceMock.Setup(m => m.GetProvider(1)).ReturnsAsync(
                    new GetProviderResponse()
                {
                    ProviderId = 1, Name = "Test Provider"
                });

                ITrainingProviderService sut = new TrainingProviderService(
                    _commitmentServiceMock.Object,
                    _encodingServiceMock.Object,
                    _employerFeedbackRepositoryMock.Object,
                    _config);

                var model = await sut.GetTrainingProviderConfirmationViewModel(testAccountIdEncoded, 1);

                Assert.NotNull(model);
                Assert.Equal(1, model.ProviderId);
                Assert.Equal("Test Provider", model.ProviderName);
            }
        public void WhenNoTrainingProviderIsFound(
            long trainingProviderId,
            [Frozen] Mock <IInternalApiClient <TrainingProviderConfiguration> > client)
        {
            var sut = new TrainingProviderService(client.Object);

            sut.Invoking((s) => s.GetTrainingProviderDetails(trainingProviderId)).Should().Throw <HttpRequestContentException>();
        }
        public void WhenAnErrorIsFound(
            long trainingProviderId,
            [Frozen] Mock <IInternalApiClient <TrainingProviderConfiguration> > client)
        {
            ClientReturnsSearchWith(client, null, HttpStatusCode.InternalServerError, "some internal error");
            var sut = new TrainingProviderService(client.Object);

            sut.Invoking((s) => s.GetTrainingProviderDetails(trainingProviderId))
            .Should().Throw <HttpRequestContentException>().WithMessage("some internal error");
        }
        public void WhenNoTrainingProviderIsFound(
            long trainingProviderId,
            [Frozen] Mock <IInternalApiClient <TrainingProviderConfiguration> > client)
        {
            ClientReturnsSearchWith(client, new TrainingProviderResponse[0]);
            var sut = new TrainingProviderService(client.Object);

            sut.Invoking((s) => s.GetTrainingProviderDetails(trainingProviderId))
            .Should().Throw <HttpRequestContentException>()
            .WithMessage($"Training Provider Id {trainingProviderId} not found");
        }
        public void WhenMultipleTrainingProvidersAreFound(
            long trainingProviderId,
            TrainingProviderResponse[] results,
            [Frozen] Mock <IInternalApiClient <TrainingProviderConfiguration> > client)
        {
            ClientReturnsSearchWith(client, results);

            var sut = new TrainingProviderService(client.Object);

            sut.Invoking((s) => s.GetTrainingProviderDetails(trainingProviderId)).Should().Throw <HttpRequestContentException>();
        }
        public async Task WhenASingleTrainingProvidersIsFound(
            long trainingProviderId,
            TrainingProviderResponse result,
            [Frozen] Mock <IInternalApiClient <TrainingProviderConfiguration> > client)
        {
            ClientReturnsSearchWith(client, new[] { result });

            var sut      = new TrainingProviderService(client.Object);
            var response = await sut.GetTrainingProviderDetails(trainingProviderId);

            response.Should().Be(result);
        }
Esempio n. 8
0
 public CreateApprenticeshipCommandHandler(
     ApprenticeCommitmentsService apprenticeCommitmentsService,
     ApprenticeLoginService apprenticeLoginService,
     CommitmentsV2Service commitmentsV2Service,
     TrainingProviderService trainingProviderService,
     CoursesService coursesService)
 {
     _apprenticeCommitmentsService = apprenticeCommitmentsService;
     _apprenticeLoginService       = apprenticeLoginService;
     _commitmentsService           = commitmentsV2Service;
     _trainingProviderService      = trainingProviderService;
     _coursesService = coursesService;
 }
 public UpdateApprovalCommandHandler(
     ApprenticeCommitmentsService apprenticeCommitmentsService,
     CommitmentsV2Service commitmentsV2Service,
     TrainingProviderService trainingProviderService,
     CoursesService coursesService,
     ILogger <UpdateApprovalCommandHandler> logger)
 {
     _apprenticeCommitmentsService = apprenticeCommitmentsService;
     _commitmentsService           = commitmentsV2Service;
     _trainingProviderService      = trainingProviderService;
     _coursesService = coursesService;
     _logger         = logger;
 }
Esempio n. 10
0
 public CreateApprovalCommandHandler(
     ApprenticeCommitmentsService apprenticeCommitmentsService,
     ApprenticeLoginConfiguration loginConfiguration,
     CommitmentsV2Service commitmentsV2Service,
     TrainingProviderService trainingProviderService,
     CoursesService coursesService,
     ILogger <CreateApprovalCommandHandler> logger)
 {
     _apprenticeCommitmentsService = apprenticeCommitmentsService;
     _loginConfiguration           = loginConfiguration;
     _commitmentsService           = commitmentsV2Service;
     _trainingProviderService      = trainingProviderService;
     _coursesService = coursesService;
     _logger         = logger;
 }
        public async Task GetProviderAsync_ShouldAttemptToFindTrainingProvider()
        {
            const long ukprn = 88888888;

            var loggerMock          = new Mock <ILogger <TrainingProviderService> >();
            var referenceDataReader = new Mock <IReferenceDataReader>();
            var cache            = new Mock <ICache>();
            var timeProvider     = new Mock <ITimeProvider>();
            var trainingProvider = new TrainingProvider
            {
                Ukprn   = ukprn,
                Name    = "name",
                Address = new TrainingProviderAddress
                {
                    AddressLine1 = "address line 1",
                    AddressLine2 = "address line 2",
                    AddressLine3 = "address line 3",
                    AddressLine4 = "address line 4",
                    Postcode     = "post code"
                }
            };
            var providers = new TrainingProviders
            {
                Data = new List <TrainingProvider>
                {
                    trainingProvider
                }
            };

            cache.Setup(x => x.CacheAsideAsync(CacheKeys.TrainingProviders, It.IsAny <DateTime>(),
                                               It.IsAny <Func <Task <TrainingProviders> > >()))
            .ReturnsAsync(providers);

            var sut = new TrainingProviderService(loggerMock.Object, referenceDataReader.Object, cache.Object, timeProvider.Object);

            var provider = await sut.GetProviderAsync(ukprn);


            provider.Name.Should().Be("name");
            provider.Ukprn.Should().Be(ukprn);
            provider.Address.AddressLine1.Should().Be("address line 1");
            provider.Address.AddressLine2.Should().Be("address line 2");
            provider.Address.AddressLine3.Should().Be("address line 3");
            provider.Address.AddressLine4.Should().Be("address line 4");
            provider.Address.Postcode.Should().Be("post code");
        }
        public async Task GetProviderAsync_ShouldReturnEsfaTestTrainingProvider()
        {
            var loggerMock          = new Mock <ILogger <TrainingProviderService> >();
            var referenceDataReader = new Mock <IReferenceDataReader>();
            var cache        = new Mock <ICache>();
            var timeProvider = new Mock <ITimeProvider>();

            var sut = new TrainingProviderService(loggerMock.Object, referenceDataReader.Object, cache.Object, timeProvider.Object);

            var provider = await sut.GetProviderAsync(EsfaTestTrainingProvider.Ukprn);

            provider.Ukprn.Should().Be(EsfaTestTrainingProvider.Ukprn);
            provider.Name.Should().Be(EsfaTestTrainingProvider.Name);
            provider.Address.Postcode.Should().Be("CV1 2WT");

            referenceDataReader.Verify(p => p.GetReferenceData <TrainingProviders>(), Times.Never);
        }
Esempio n. 13
0
 public TrainingProviderApiHealthCheck(TrainingProviderService service)
 {
     _service = service;
 }