コード例 #1
0
        public async Task ReturnProviderApprentices()
        {
            //Arrange
            var request = new GetApprenticeshipFiltersRequest
            {
                ProviderId = 10
            };

            var expectedResponse = new GetApprenticeshipsFilterValuesQueryResult
            {
                EmployerNames = new[] { "Test 1", "Test 2" },
                CourseNames   = new[] { "Test 3", "Test 4" },
                StartDates    = new[] { DateTime.Now.AddDays(-1), DateTime.Now.AddDays(-2) },
                EndDates      = new[] { DateTime.Now.AddDays(-3), DateTime.Now.AddDays(-4) }
            };

            _mediator.Setup(m => m.Send(It.Is <GetApprenticeshipsFilterValuesQuery>(r => r.ProviderId.HasValue && r.ProviderId.Value.Equals(request.ProviderId)),
                                        It.IsAny <CancellationToken>())).ReturnsAsync(expectedResponse);

            //Act
            var result = await _controller.GetApprenticeshipsFilterValues(request) as OkObjectResult;

            //Assert
            Assert.IsNotNull(result);

            var filterValues = result.Value as GetApprenticeshipsFilterValuesQueryResult;

            filterValues.Should().BeEquivalentTo(expectedResponse);
        }
コード例 #2
0
        public async Task <IActionResult> GetApprenticeshipsFilterValues([FromQuery] GetApprenticeshipFiltersRequest request)
        {
            var response = await _mediator.Send(new GetApprenticeshipsFilterValuesQuery { ProviderId = request.ProviderId, EmployerAccountId = request.EmployerAccountId });

            if (response == null)
            {
                return(NotFound());
            }

            return(Ok(response));
        }
        public void GetApprenticeshipFilterValues_VerifyExceptionIsThrowIfBothProviderAndEmployerIdIsUsed()
        {
            //Arrange
            var request = new GetApprenticeshipFiltersRequest
            {
                ProviderId        = 12,
                EmployerAccountId = 10
            };

            //Act
            Assert.ThrowsAsync <NotSupportedException>(() => _fixture.CommitmentsApiClient.GetApprenticeshipsFilterValues(request, CancellationToken.None));
        }
        public async Task GetApprenticeshipFilterValues_VerifyUrlAndDataIsCorrectForEmployer()
        {
            //Arrange
            var request = new GetApprenticeshipFiltersRequest {
                EmployerAccountId = 10
            };

            //Act
            await _fixture.CommitmentsApiClient.GetApprenticeshipsFilterValues(request, CancellationToken.None);

            //Assert$
            _fixture.MockRestHttpClient.Verify(x => x.Get <GetApprenticeshipsFilterValuesResponse>($"api/apprenticeships/filters?employerAccountId={request.EmployerAccountId}", null, CancellationToken.None));
        }
コード例 #5
0
        public async Task ReturnNotFoundIfNullIsReturned()
        {
            //Arrange
            var request = new GetApprenticeshipFiltersRequest
            {
                ProviderId = 10
            };

            //Act
            var result = await _controller.GetApprenticeshipsFilterValues(request) as NotFoundResult;

            //Assert
            Assert.IsNotNull(result);
        }
コード例 #6
0
        public async Task GetEmployerApprentices()
        {
            //Arrange
            var request = new GetApprenticeshipFiltersRequest
            {
                EmployerAccountId = 10
            };

            //Act
            await _controller.GetApprenticeshipsFilterValues(request);

            //Assert
            _mediator.Verify(m => m.Send(
                                 It.Is <GetApprenticeshipsFilterValuesQuery>(r => r.EmployerAccountId.HasValue && r.EmployerAccountId.Value.Equals(request.EmployerAccountId)),
                                 It.IsAny <CancellationToken>()), Times.Once);
        }
コード例 #7
0
        public Task <GetApprenticeshipsFilterValuesResponse> GetApprenticeshipsFilterValues(GetApprenticeshipFiltersRequest request, CancellationToken cancellationToken = default)
        {
            if (request.ProviderId.HasValue && request.EmployerAccountId.HasValue)
            {
                throw new NotSupportedException("Api currently does not support both a provider Id and employer account Id lookup for filters.");
            }

            if (request.ProviderId.HasValue)
            {
                return(_client.Get <GetApprenticeshipsFilterValuesResponse>(
                           $"api/apprenticeships/filters?providerId={request.ProviderId}", null, cancellationToken));
            }

            return(_client.Get <GetApprenticeshipsFilterValuesResponse>(
                       $"api/apprenticeships/filters?employerAccountId={request.EmployerAccountId}", null, cancellationToken));
        }