Exemple #1
0
        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>()
            };
        }
Exemple #3
0
        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
            });
        }
Exemple #4
0
        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);
        }