public async Task And_Not_Match_Regex_Then_Not_Valid( GetEpaoCoursesQuery query, GetEpaoCoursesQueryValidator validator) { var validationResult = await validator.ValidateAsync(query); validationResult.IsValid().Should().BeFalse(); validationResult.ValidationDictionary.Should().ContainKey("epaoId"); }
public async Task Match_Regex_Cases( string epaoId, bool isValid, GetEpaoCoursesQuery query, GetEpaoCoursesQueryValidator validator) { query.EpaoId = epaoId; var validationResult = await validator.ValidateAsync(query); validationResult.IsValid().Should().Be(isValid); }
public async Task And_No_Epao_Courses_Then_Returns_Empty_List( GetEpaoCoursesQuery query, [Frozen] Mock <IAssessorsApiClient <AssessorsApiConfiguration> > mockAssessorsApiClient, GetEpaoCoursesQueryHandler handler) { mockAssessorsApiClient .Setup(client => client.GetAll <GetEpaoCoursesListItem>( It.Is <GetEpaoCoursesRequest>(request => request.EpaoId == query.EpaoId))) .ReturnsAsync(new List <GetEpaoCoursesListItem>()); var actual = await handler.Handle(query, CancellationToken.None); actual.Courses.Should().BeEmpty(); }
public void And_Validation_Error_Then_Throws_ValidationException( GetEpaoCoursesQuery query, string propertyName, ValidationResult validationResult, [Frozen] Mock <IValidator <GetEpaoCoursesQuery> > mockValidator, GetEpaoCoursesQueryHandler handler) { validationResult.AddError(propertyName); mockValidator .Setup(validator => validator.ValidateAsync(It.IsAny <GetEpaoCoursesQuery>())) .ReturnsAsync(validationResult); Func <Task> act = async() => await handler.Handle(query, CancellationToken.None); act.Should().Throw <ValidationException>() .WithMessage($"*{propertyName}*"); }
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 async Task Then_Gets_EpaoCourses_From_Assessor_Api( GetEpaoCoursesQuery query, List <GetEpaoCoursesListItem> apiResponse, GetStandardsListResponse getStandardResponses, [Frozen] Mock <IAssessorsApiClient <AssessorsApiConfiguration> > mockAssessorsApiClient, [Frozen] Mock <ICoursesApiClient <CoursesApiConfiguration> > mockCoursesApiClient, GetEpaoCoursesQueryHandler handler) { mockAssessorsApiClient .Setup(client => client.GetAll <GetEpaoCoursesListItem>( It.Is <GetEpaoCoursesRequest>(request => request.EpaoId == query.EpaoId))) .ReturnsAsync(apiResponse); mockCoursesApiClient .Setup(client => client.Get <GetStandardsListResponse>(It.IsAny <GetActiveStandardsListRequest>())) .ReturnsAsync(getStandardResponses); var result = await handler.Handle(query, CancellationToken.None); result.EpaoId.Should().Be(query.EpaoId); }