public async Task Handle_CallsInnerApi_ReturnsValidResponse( GetStandardResponse apiResponseStandard, GetProviderCourseResponse apiResponseProviderCourse, List <GetProviderCourseLocationsResponse> apiResponseProviderCourseLocation, GetProviderCourseQuery query, [Frozen] Mock <ICoursesApiClient <CoursesApiConfiguration> > apiClientMockCourse, [Frozen] Mock <IRoatpCourseManagementApiClient <RoatpV2ApiConfiguration> > apiClientMock, GetProviderCourseQueryHandler sut) { apiClientMockCourse.Setup(c => c.GetWithResponseCode <GetStandardResponse>(It.Is <GetStandardRequest>(c => c.GetUrl.Equals(new GetStandardRequest(query.LarsCode).GetUrl)))). ReturnsAsync(new ApiResponse <GetStandardResponse>(apiResponseStandard, HttpStatusCode.OK, "")); apiClientMock.Setup(c => c.GetWithResponseCode <GetProviderCourseResponse>(It.Is <GetProviderCourseRequest>(c => c.GetUrl.Equals(new GetProviderCourseRequest(query.Ukprn, query.LarsCode).GetUrl)))). ReturnsAsync(new ApiResponse <GetProviderCourseResponse>(apiResponseProviderCourse, HttpStatusCode.OK, "")); apiClientMock.Setup(c => c.GetWithResponseCode <List <GetProviderCourseLocationsResponse> >(It.Is <GetProviderCourseLocationsRequest>(c => c.GetUrl.Equals(new GetProviderCourseLocationsRequest(query.Ukprn, query.LarsCode).GetUrl)))). ReturnsAsync(new ApiResponse <List <GetProviderCourseLocationsResponse> >(apiResponseProviderCourseLocation, HttpStatusCode.OK, "")); var result = await sut.Handle(query, new CancellationToken()); result.Should().NotBeNull(); }
public void Then_Maps_Fields_Appropriately( GetStandardResponse source) { var response = (EpaoCourse)source; response.Id.Should().Be(source.LarsCode); response.Periods.Should().BeEquivalentTo(source.StandardDates); }
public async Task <GetStandardResponse> CreateAsync(ICreateStandardRequest request) { var standard = await _service.CreateAsync(request); await _unitOfWork.CommitAsync(); return(GetStandardResponse.Create(standard)); }
public async Task <GetStandardResponse> UpdateAsync(IUpdateStandard request) { var standard = await _service.UpdateAsync(request); if (standard == null) { return(null); } await _unitOfWork.CommitAsync(); return(GetStandardResponse.Create(standard)); }
public void ShouldReturnViewModelWhenAssessmentOrgsEntityNotFound() { var viewModel = new StandardViewModel(); var response = new GetStandardResponse { StatusCode = GetStandardResponse.ResponseCodes.AssessmentOrgsEntityNotFound }; _mockMediator.Setup(x => x.Send(It.IsAny <GetStandardQuery>(), It.IsAny <CancellationToken>())) .ReturnsAsync(response); _mockMappingService.Setup(m => m.Map <GetStandardResponse, StandardViewModel>(response)) .Returns(viewModel); var result = _sut.Standard("2", "test").Result as ViewResult; result.Should().NotBeNull(); result.Model.Should().Be(viewModel); }
public void Handle_CallsInnerApi_ReturnsExceptionWhenProviderCourseGetsBadRequest( GetStandardResponse apiResponseStandard, GetProviderCourseQuery query, [Frozen] Mock <ICoursesApiClient <CoursesApiConfiguration> > apiClientMockCourse, [Frozen] Mock <IRoatpCourseManagementApiClient <RoatpV2ApiConfiguration> > apiClientMock, GetProviderCourseQueryHandler sut) { apiClientMockCourse.Setup(c => c.GetWithResponseCode <GetStandardResponse>(It.Is <GetStandardRequest>(c => c.GetUrl.Equals(new GetStandardRequest(query.LarsCode).GetUrl)))). ReturnsAsync(new ApiResponse <GetStandardResponse>(apiResponseStandard, HttpStatusCode.OK, "")); apiClientMock.Setup(c => c.GetWithResponseCode <GetProviderCourseResponse>(It.Is <GetProviderCourseRequest>(c => c.GetUrl.Equals(new GetProviderCourseRequest(query.Ukprn, query.LarsCode).GetUrl)))) .ReturnsAsync(new ApiResponse <GetProviderCourseResponse>(new GetProviderCourseResponse(), HttpStatusCode.BadRequest, "Error")); Assert.ThrowsAsync <HttpRequestContentException>(() => sut.Handle(query, new CancellationToken())); }
public async Task Then_Gets_Courses_From_Api_And_If_Course_Doesnt_Exist_Its_Not_Added( GetEpaoCoursesQuery query, List <GetEpaoCoursesListItem> apiResponse, GetEpaoCoursesListItem additionalItem, List <GetStandardResponse> matchingStandards, GetStandardResponse nonMatchedStandard, [Frozen] Mock <IAssessorsApiClient <AssessorsApiConfiguration> > mockAssessorsApiClient, [Frozen] Mock <ICacheStorageService> mockCacheStorageService, [Frozen] Mock <ICoursesApiClient <CoursesApiConfiguration> > mockCoursesApiClient, GetEpaoCoursesQueryHandler handler) { var i = 0; foreach (var course in matchingStandards) { course.LarsCode = apiResponse[i].StandardCode; i++; } apiResponse.Add(additionalItem); var allStandards = new List <GetStandardResponse>(); allStandards.AddRange(matchingStandards); allStandards.Add(nonMatchedStandard); mockAssessorsApiClient .Setup(client => client.GetAll <GetEpaoCoursesListItem>( It.Is <GetEpaoCoursesRequest>(request => request.EpaoId == query.EpaoId))) .ReturnsAsync(apiResponse); foreach (var standard in allStandards) { mockCoursesApiClient .Setup(client => client.Get <GetStandardResponse>(It.Is <GetStandardRequest>(c => c.StandardId.Equals(standard.LarsCode)))) .ReturnsAsync(standard); } var result = await handler.Handle(query, CancellationToken.None); result.EpaoId.Should().Be(query.EpaoId); result.Courses.Should().BeEquivalentTo(matchingStandards); result.Courses.SingleOrDefault(c => c.LarsCode.Equals(additionalItem.StandardCode)).Should().BeNull(); }
public void ShouldReturnStandard() { // Assign var response = new GetStandardResponse(); var viewModel = new StandardViewModel(); _mockMediator.Setup(m => m.Send(It.IsAny <GetStandardQuery>(), It.IsAny <CancellationToken>())) .ReturnsAsync(response); _mockMappingService.Setup(m => m.Map <GetStandardResponse, StandardViewModel>(response)) .Returns(viewModel); // Act var result = _sut.Standard("1", "test").Result as ViewResult; // Assert _mockMediator.Verify(m => m.Send(It.IsAny <GetStandardQuery>(), It.IsAny <CancellationToken>())); _mockMappingService.Verify(m => m.Map <GetStandardResponse, StandardViewModel>(response)); result.Model.Should().Be(viewModel); }
public async Task <GetStandardResponse> GetbyExternalIdAsync(string externalId) { var response = await _unitOfWork.StandardRepository.GetByExternalIdAsync(externalId); return(GetStandardResponse.Create(response)); }