private async Task <ReservationValidationResult> CheckReservationIfRequired(ReservationValidationServiceRequest request) { if (request.ReservationId == null) { _logger.Info($"Commitment:{request.CommitmentId} Apprenticeship: {request.ApprenticeshipId} Reservation-id:null - no reservation validation required"); return(NoValidationRequiredResponse); } if (request.StartDate == null) { throw new ValidationException( $"Unable to validate the reservation because the start date is absent"); } var validationReservationMessage = new ReservationValidationMessage { ReservationId = request.ReservationId.Value, CourseCode = request.TrainingCode, StartDate = request.StartDate.Value }; var validationResult = await _reservationsApiClient.ValidateReservation(validationReservationMessage, CancellationToken.None); return(validationResult); }
public WhenRetrievingStatusTestFixturesTestFixtures() { HttpHelper.Setup(x => x.GetAsync <ReservationValidationResult>(It.IsAny <string>(), It.IsAny <object>(), It.IsAny <CancellationToken>())) .ReturnsAsync(new ReservationValidationResult()); _request = new ReservationValidationMessage { CourseCode = AutoFixture.Create <string>(), ReservationId = AutoFixture.Create <Guid>(), StartDate = AutoFixture.Create <DateTime>() }; }
public async Task <GetReservationValidationResponse> Handle(GetReservationValidationRequest request, CancellationToken cancellationToken) { var validationReservationMessage = new ReservationValidationMessage { StartDate = request.StartDate, CourseCode = request.CourseCode, ReservationId = request.ReservationId }; var result = await _reservationClient.ValidateReservation(validationReservationMessage, CancellationToken.None); return(new GetReservationValidationResponse { Data = result }); }
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); }