public void SetUp() { _autoFixture = new Fixture(); _source = _autoFixture.Create <ReservationValidationRequest>(); _mapper = new ReservationValidationRequestToValidationReservationMessageMapper(); }
private async Task <IEnumerable <DomainError> > BuildReservationValidationFailures(EditApprenticeshipValidationRequest request, Apprenticeship apprenticeship) { List <DomainError> errors = new List <DomainError>(); if (request.StartDate.HasValue && !string.IsNullOrWhiteSpace(request.CourseCode)) { var validationRequest = new ReservationValidationRequest(apprenticeship.ReservationId.Value, request.StartDate.Value, request.CourseCode); var validationResult = await _reservationValidationService.Validate(validationRequest, CancellationToken.None); errors = validationResult.ValidationErrors.Select(error => new DomainError(error.PropertyName, error.Reason)).ToList(); } return(errors); }
private async Task ValidateReservation(DraftApprenticeshipDetails details, CancellationToken cancellationToken) { if (!details.ReservationId.HasValue || !details.StartDate.HasValue || details.TrainingProgramme == null) { return; } var validationRequest = new ReservationValidationRequest(details.ReservationId.Value, details.StartDate.Value, details.TrainingProgramme.CourseCode); var validationResult = await _reservationValidationService.Validate(validationRequest, cancellationToken); var errors = validationResult.ValidationErrors.Select(error => new DomainError(error.PropertyName, error.Reason)).ToList(); errors.ThrowIfAny(); }
public void Arrange() { _fixture = new Fixture(); _validationResult = _fixture.Create <CommitmentsV2.Domain.Entities.Reservations.ReservationValidationResult>(); _validationRequest = _fixture.Create <ReservationValidationRequest>(); _apiRequest = new ReservationValidationMessage(); _requestMapper = new Mock <IOldMapper <ReservationValidationRequest, ReservationValidationMessage> >(); _requestMapper.Setup(x => x.Map(It.Is <ReservationValidationRequest>(r => r == _validationRequest))) .ReturnsAsync(() => _apiRequest); _resultMapper = new Mock <IOldMapper <ReservationValidationResult, CommitmentsV2.Domain.Entities.Reservations.ReservationValidationResult> >(); _resultMapper.Setup(x => x.Map(It.IsAny <ReservationValidationResult>())).ReturnsAsync(_validationResult); _apiClient = new Mock <IReservationsApiClient>(); _apiClient.Setup(x => x.ValidateReservation(It.Is <ReservationValidationMessage>(r => r == _apiRequest), It.IsAny <CancellationToken>())) .ReturnsAsync(new ReservationValidationResult()); _reservationValidationService = new ReservationValidationService(_apiClient.Object, _requestMapper.Object, _resultMapper.Object); }
public async Task <Domain.Entities.Reservations.ReservationValidationResult> Validate(ReservationValidationRequest request, CancellationToken cancellationToken) { var mappedRequest = await _requestMapper.Map(request); var result = await _apiClient.ValidateReservation(mappedRequest, cancellationToken); return(await _resultMapper.Map(result)); }