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); }
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)); }
public async Task ReturnNotFoundIfNullIsReturned() { //Arrange var request = new GetApprenticeshipFiltersRequest { ProviderId = 10 }; //Act var result = await _controller.GetApprenticeshipsFilterValues(request) as NotFoundResult; //Assert Assert.IsNotNull(result); }
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); }
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)); }