Пример #1
0
        public async Task Setup()
        {
            var fixture = new Fixture().Customize(new AutoMoqCustomization());

            _expectedResponse   = new SearchApprenticeshipVacanciesResponse();
            _validRequest       = new SearchApprenticeshipVacanciesRequest();
            _expectedParameters = new VacancySearchParameters();

            _validatorMock = fixture.Freeze <Mock <IValidator <SearchApprenticeshipVacanciesRequest> > >();
            _validatorMock
            .Setup(validator => validator.ValidateAsync(_validRequest, It.IsAny <CancellationToken>()))
            .ReturnsAsync(new ValidationResult());

            _mockMapper = fixture.Freeze <Mock <IVacancySearchParametersMapper> >();
            _mockMapper
            .Setup(mapper => mapper.Convert(It.IsAny <SearchApprenticeshipVacanciesRequest>()))
            .Returns(_expectedParameters);

            _mockSearchService = fixture.Freeze <Mock <IApprenticeshipSearchService> >();
            _mockSearchService
            .Setup(service => service.SearchApprenticeshipVacanciesAsync(It.IsAny <VacancySearchParameters>()))
            .ReturnsAsync(_expectedResponse);

            _handler = fixture.Create <SearchApprenticeshipVacanciesQueryHandler>();

            _response = await _handler.Handle(_validRequest);
        }
        public void AndCheckingErrorCodes(SearchApprenticeshipVacanciesRequest searchRequest, ValidationResult expectedResult)
        {
            var actualResult = Validator.Validate(searchRequest);

            actualResult.Errors.ShouldAllBeEquivalentTo(expectedResult.Errors,
                                                        options => options.Including(failure => failure.ErrorCode));
        }
Пример #3
0
        public void AndDistanceOnly_ThenTrue()
        {
            var request = new SearchApprenticeshipVacanciesRequest
            {
                DistanceInMiles = _fixture.Create <int>()
            };

            request.IsGeoSearch.Should().BeTrue();
        }
Пример #4
0
        public void AndLongitudeOnly_ThenTrue()
        {
            var request = new SearchApprenticeshipVacanciesRequest
            {
                Longitude = _fixture.Create <double>()
            };

            request.IsGeoSearch.Should().BeTrue();
        }
Пример #5
0
        public void AndIsExpectedStartDate_ThenMapsToExpectedStartDate()
        {
            var request = new SearchApprenticeshipVacanciesRequest
            {
                SortBy = SortBy.ExpectedStartDate.ToString()
            };

            _calculator.CalculateSortBy(request).Should().Be(SortBy.ExpectedStartDate);
        }
Пример #6
0
        public void AndIsNullAndDistanceInMilesHasValue_ThenMapsToDistance()
        {
            var request = new SearchApprenticeshipVacanciesRequest
            {
                DistanceInMiles = _fixture.Create <int>()
            };

            _calculator.CalculateSortBy(request).Should().Be(SortBy.Distance);
        }
Пример #7
0
        public void AndIsNullAndLongitudeHasValue_ThenMapsToDistance()
        {
            var request = new SearchApprenticeshipVacanciesRequest
            {
                Longitude = _fixture.Create <double>()
            };

            _calculator.CalculateSortBy(request).Should().Be(SortBy.Distance);
        }
Пример #8
0
        public void AndIsDistance_ThenMapsToDistance()
        {
            var request = new SearchApprenticeshipVacanciesRequest
            {
                SortBy = SortBy.Distance.ToString()
            };

            _calculator.CalculateSortBy(request).Should().Be(SortBy.Distance);
        }
        public void WhenMappingDistanceInMiles_ThenMappedToSearchParams()
        {
            var expectedDistance = 9958;
            var request          = new SearchApprenticeshipVacanciesRequest
            {
                DistanceInMiles = expectedDistance
            };

            var result = _mapper.Convert(request);

            result.DistanceInMiles.Should().Be(expectedDistance);
        }
        public void WhenMappingLatitude_ThenMappedToSearchParams()
        {
            var expectedLatitude = -0.9083434;
            var request          = new SearchApprenticeshipVacanciesRequest
            {
                Latitude = expectedLatitude
            };

            var result = _mapper.Convert(request);

            result.Latitude.Should().Be(expectedLatitude);
        }
        public void ThenPassValidation(List <string> input)
        {
            var request = new SearchApprenticeshipVacanciesRequest()
            {
                StandardLarsCodes  = input,
                FrameworkLarsCodes = new List <string>()
            };

            var result = Validator.Validate(request);

            result.IsValid.Should().BeTrue();
        }
Пример #12
0
        public void WhenMappingProviderUkprn_ThenMappedToSearchParams()
        {
            var ukprn   = 88888888;
            var request = new SearchApprenticeshipVacanciesRequest
            {
                Ukprn = ukprn
            };

            var result = _mapper.Convert(request);

            result.Ukprn.Should().Be(ukprn);
        }
        public void AndRunningTestCases(SearchApprenticeshipVacanciesRequest request, ValidationResult expectedResult)
        {
            var actualResult = Validator.Validate(request);

            foreach (var validationFailure in actualResult.Errors)
            {
                Console.WriteLine(validationFailure.ErrorMessage);
            }

            actualResult.IsValid.Should().Be(expectedResult.IsValid);
            actualResult.Errors.ShouldAllBeEquivalentTo(expectedResult.Errors,
                                                        options => options.Including(failure => failure.ErrorMessage)
                                                        .Including(failure => failure.ErrorCode));
        }
        public void ThenFailValidation(string input, string expectedErrorMessage, string expectedErrorCode)
        {
            var request = new SearchApprenticeshipVacanciesRequest()
            {
                StandardLarsCodes = input.Split(',').ToList()
            };

            var result = Validator.Validate(request);

            result.IsValid.Should().Be(false);
            result.Errors.Count.Should().Be(1);
            result.Errors.First().ErrorMessage.Should().Be(expectedErrorMessage);
            result.Errors.First().ErrorCode.Should().Be(expectedErrorCode);
        }
Пример #15
0
        public void AndRequestNotValid_ThenThrowsValidationException()
        {
            var errorMessage   = Guid.NewGuid().ToString();
            var invalidRequest = new SearchApprenticeshipVacanciesRequest();

            _validatorMock
            .Setup(validator => validator.ValidateAsync(invalidRequest, It.IsAny <CancellationToken>()))
            .ReturnsAsync(new ValidationResult(new List <ValidationFailure>
            {
                new ValidationFailure("stuff", errorMessage)
            }));

            var action = new Func <Task <SearchApprenticeshipVacanciesResponse> >(() =>
                                                                                  _handler.Handle(invalidRequest));

            action.ShouldThrow <ValidationException>()
            .WithMessage($"Validation failed: \r\n -- {errorMessage}");
        }
Пример #16
0
        public void AndNoGeoSearchFields_ThenFalse()
        {
            var request = new SearchApprenticeshipVacanciesRequest();

            request.IsGeoSearch.Should().BeFalse();
        }
Пример #17
0
        public void AndIsNullAndNotLocationSearch_ThenMapsToAge()
        {
            var request = new SearchApprenticeshipVacanciesRequest();

            _calculator.CalculateSortBy(request).Should().Be(SortBy.Age);
        }
        public void AndCheckingIsValid(SearchApprenticeshipVacanciesRequest searchRequest, ValidationResult expectedResult)
        {
            var actualResult = Validator.Validate(searchRequest);

            actualResult.IsValid.Should().Be(expectedResult.IsValid);
        }