public WhenMappingCohortsRequestToCohortsViewModelFixture WithCreatePermissionsForAnEmployer()
 {
     ProviderRelationshipsApiClient.Setup(x =>
                                          x.HasRelationshipWithPermission(
                                              It.Is <HasRelationshipWithPermissionRequest>(p =>
                                                                                           p.Ukprn == CohortsRequest.ProviderId && p.Operation == Operation.CreateCohort),
                                              It.IsAny <CancellationToken>())).ReturnsAsync(true);
     return(this);
 }
        public IProviderRelationshipsApiClient CreateApiClient()
        {
            var httpClientFactory = new AzureActiveDirectoryHttpClientFactory(_configuration);
            var httpClient        = httpClientFactory.CreateHttpClient();
            var restHttpClient    = new RestHttpClient(httpClient);
            var apiClient         = new ProviderRelationshipsApiClient(restHttpClient, _mediator);

            return(apiClient);
        }
        public Task <GetAccountProviderLegalEntitiesWithPermissionResponse> GetAccountProviderLegalEntitiesWithPermission()
        {
            GetAccountProviderLegalEntitiesWithPermissionRequest = new GetAccountProviderLegalEntitiesWithPermissionRequest
            {
                Ukprn     = 11111111,
                Operation = Operation.CreateCohort
            };

            return(ProviderRelationshipsApiClient.GetAccountProviderLegalEntitiesWithPermission(GetAccountProviderLegalEntitiesWithPermissionRequest, CancellationToken));
        }
        public ChangeOfPartyRequestDomainServiceTestsFixture WithNoProviderPermission()
        {
            ProviderRelationshipsApiClient.Setup(x =>
                                                 x.GetAccountProviderLegalEntitiesWithPermission(
                                                     It.IsAny <GetAccountProviderLegalEntitiesWithPermissionRequest>(),
                                                     It.IsAny <CancellationToken>()))
            .ReturnsAsync(() => new GetAccountProviderLegalEntitiesWithPermissionResponse
            {
                AccountProviderLegalEntities = new List <AccountProviderLegalEntityDto>()
            });

            return(this);
        }
        public Task <bool> HasPermission()
        {
            HasPermissionRequest = new HasPermissionRequest
            {
                Ukprn = 11111111,
                AccountLegalEntityId = 1,
                Operation            = Operation.CreateCohort
            };

            Mediator.Setup(m => m.Send(It.Is <HasPermissionQuery>(q => q.Ukprn == HasPermissionRequest.Ukprn && q.EmployerAccountLegalEntityId == HasPermissionRequest.AccountLegalEntityId && q.Operation == HasPermissionRequest.Operation), CancellationToken))
            .ReturnsAsync(() => Relationships.Any());

            return(ProviderRelationshipsApiClient.HasPermission(HasPermissionRequest, CancellationToken));
        }
        public ProviderRelationshipsApiClientTestsFixture()
        {
            GetAccountProviderLegalEntitiesWithPermissionResponse = new GetAccountProviderLegalEntitiesWithPermissionResponse {
                AccountProviderLegalEntities = new List <AccountProviderLegalEntityDto>()
            };
            Relationships      = new List <AccountProviderLegalEntityDto>();
            CancellationToken  = CancellationToken.None;
            HttpMessageHandler = new FakeHttpMessageHandler();
            HttpClient         = new HttpClient(HttpMessageHandler)
            {
                BaseAddress = new Uri("https://foo.bar")
            };
            RestHttpClient = new RestHttpClient(HttpClient);
            Mediator       = new Mock <IMediator>();

            SetupHttpClientGetToReturnAccountProviderLegalEntitiesResponse();

            ProviderRelationshipsApiClient = new ProviderRelationshipsApiClient(RestHttpClient, Mediator.Object);
        }
            public EmployerAccountsApiHealthCheckTestsFixture SetPingFailure()
            {
                ProviderRelationshipsApiClient.Setup(c => c.Ping(CancellationToken)).ThrowsAsync(Exception);

                return(this);
            }
            public EmployerAccountsApiHealthCheckTestsFixture SetPingSuccess()
            {
                ProviderRelationshipsApiClient.Setup(c => c.Ping(CancellationToken)).Returns(Task.CompletedTask);

                return(this);
            }
 public Task Ping()
 {
     return(ProviderRelationshipsApiClient.Ping(CancellationToken));
 }