Exemple #1
0
        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");
        }
Exemple #2
0
        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);
        }