Example #1
0
        protected HearingDetailsResponse CreateHearingDetailsResponse()
        {
            var createHearingRequest = CreateHearingRequest();
            var bookHearingRequest   = new BookHearingRequestBuilder(createHearingRequest).Build();

            return(new HearingDetailsResponseBuilder(bookHearingRequest).Build());
        }
Example #2
0
        public async Task Should_create_hearing_with_audio_recording()
        {
            var firstUser  = CreateUser(UserType.Judge);
            var secondUser = CreateUser(UserType.Individual);
            var thirdUser  = CreateUser(UserType.Representative);
            var fourthUser = CreateUser(UserType.CaseAdmin);

            var users = new List <UserDto> {
                firstUser, secondUser, thirdUser, fourthUser
            };

            var createHearingRequest = new HearingBuilder(users)
                                       .AudioRecordingRequired()
                                       .Build();

            var bookHearingRequest     = new BookHearingRequestBuilder(createHearingRequest).Build();
            var hearingDetailsResponse = new HearingDetailsResponseBuilder(bookHearingRequest).Build();

            BookingsApiClient
            .Setup(x => x.BookNewHearingAsync(It.IsAny <BookNewHearingRequest>()))
            .ReturnsAsync(hearingDetailsResponse);

            var response = await Controller.CreateHearing(createHearingRequest);

            var result = (ObjectResult)response;

            result.StatusCode.Should().Be((int)HttpStatusCode.Created);

            var hearingDetails = (HearingDetailsResponse)result.Value;

            hearingDetails.Should().NotBeNull();
            hearingDetails.Should().BeEquivalentTo(hearingDetailsResponse);
        }
Example #3
0
        public async Task Should_create_hearing_with_all_user_types()
        {
            var judge       = CreateUser(UserType.Judge);
            var observer    = CreateUser(UserType.Observer);
            var panelMember = CreateUser(UserType.PanelMember);
            var caseAdmin   = CreateUser(UserType.CaseAdmin);
            var vho         = CreateUser(UserType.VideoHearingsOfficer);
            var individual  = CreateUser(UserType.Individual);

            var users = new List <UserDto> {
                judge, observer, panelMember, caseAdmin, vho, individual
            };

            var createHearingRequest   = new HearingBuilder(users).Build();
            var bookHearingRequest     = new BookHearingRequestBuilder(createHearingRequest).Build();
            var hearingDetailsResponse = new HearingDetailsResponseBuilder(bookHearingRequest).Build();

            BookingsApiClient
            .Setup(x => x.BookNewHearingAsync(It.IsAny <BookNewHearingRequest>()))
            .ReturnsAsync(hearingDetailsResponse);

            var response = await Controller.CreateHearing(createHearingRequest);

            var result = (ObjectResult)response;

            result.StatusCode.Should().Be((int)HttpStatusCode.Created);

            var hearingDetails = (HearingDetailsResponse)result.Value;

            hearingDetails.Should().NotBeNull();
        }
Example #4
0
        public async Task Should_create_hearings_for_other_applications()
        {
            var judge      = CreateUser(UserType.Judge);
            var individual = CreateUser(UserType.Individual);

            var users = new List <UserDto> {
                judge, individual
            };

            var createHearingRequest = new HearingBuilder(users)
                                       .TypeOfTest(TestType.Automated)
                                       .ForApplication(Application.QueueSubscriber)
                                       .Build();

            var bookHearingRequest     = new BookHearingRequestBuilder(createHearingRequest).Build();
            var hearingDetailsResponse = new HearingDetailsResponseBuilder(bookHearingRequest).Build();

            BookingsApiClient
            .Setup(x => x.BookNewHearingAsync(It.IsAny <BookNewHearingRequest>()))
            .ReturnsAsync(hearingDetailsResponse);

            var response = await Controller.CreateHearing(createHearingRequest);

            var result = (ObjectResult)response;

            result.StatusCode.Should().Be((int)HttpStatusCode.Created);

            var hearingDetails = (HearingDetailsResponse)result.Value;

            hearingDetails.Should().NotBeNull();
            hearingDetails.Should().BeEquivalentTo(hearingDetailsResponse);
        }
Example #5
0
        public async Task Should_create_hearing_without_specifying_the_case_type()
        {
            var judge      = CreateUser(UserType.Judge);
            var individual = CreateUser(UserType.Individual);

            var users = new List <UserDto> {
                judge, individual
            };

            var createHearingRequest   = new HearingBuilder(users).WithoutACaseType().Build();
            var bookHearingRequest     = new BookHearingRequestBuilder(createHearingRequest).Build();
            var hearingDetailsResponse = new HearingDetailsResponseBuilder(bookHearingRequest).Build();

            BookingsApiClient
            .Setup(x => x.BookNewHearingAsync(It.IsAny <BookNewHearingRequest>()))
            .ReturnsAsync(hearingDetailsResponse);

            var response = await Controller.CreateHearing(createHearingRequest);

            var result = (ObjectResult)response;

            result.StatusCode.Should().Be((int)HttpStatusCode.Created);

            var hearingDetails = (HearingDetailsResponse)result.Value;

            hearingDetails.Should().NotBeNull();
            hearingDetails.Should().BeEquivalentTo(hearingDetailsResponse);
        }
Example #6
0
        public async Task Should_create_cacd_conference_from_hearing()
        {
            await CreateAndConfirmHearing();

            var request = new BookHearingRequestBuilder(Context.Config.UsernameStem).CacdHearing().Build();

            var hearing = await BookingApiClient.BookNewHearingAsync(request);

            var confirmRequest = new UpdateBookingStatusRequestBuilder()
                                 .UpdatedBy(HearingData.CREATED_BY(Context.Config.UsernameStem))
                                 .Build();

            await BookingApiClient.UpdateBookingStatusAsync(hearing.Id, confirmRequest);

            var conferenceDetailsResponse = await GetConferenceByHearingIdPollingAsync(Hearing.Id);

            conferenceDetailsResponse.Should().NotBeNull();
            Verify.ConferenceDetailsResponse(conferenceDetailsResponse, Hearing);
        }
        public async Task <IActionResult> CreateHearing(CreateHearingRequest request)
        {
            _logger.LogDebug("CreateHearing");

            var bookHearingRequest = new BookHearingRequestBuilder(request).Build();

            try
            {
                var response = await _bookingsApiClient.BookNewHearingAsync(bookHearingRequest);

                _logger.LogDebug("New Hearing Created with id {id}", response.Id);

                return(CreatedAtAction(nameof(CreateHearing), new { hearingId = response.Id }, response));
            }
            catch (BookingsApiException e)
            {
                return(StatusCode(e.StatusCode, e.Response));
            }
        }
Example #8
0
        public async Task Should_create_multi_day_conference_from_hearing()
        {
            var request        = new BookHearingRequestBuilder(Context.Config.UsernameStem).MoveScheduledDateIfWeekend().Build();
            var initialHearing = await BookingApiClient.BookNewHearingAsync(request);

            Hearings.Add(initialHearing);

            const int numberOfDays = 2;
            var       numberOfDaysNotIncludingWeekends = CalculateDaysWithoutWeekend(numberOfDays, initialHearing.ScheduledDateTime);
            var       start = initialHearing.ScheduledDateTime;
            var       end   = initialHearing.ScheduledDateTime.AddDays(numberOfDaysNotIncludingWeekends);
            var       dates = DateListMapper.GetListOfWorkingDates(start, end);

            dates.Count.Should().Be(numberOfDays);
            // Add the initial hearing day
            const int totalNumberOfDays = numberOfDays + 1;

            var multiHearingsRequest = new CloneHearingRequest()
            {
                Dates = dates
            };

            await BookingApiClient.CloneHearingAsync(initialHearing.Id, multiHearingsRequest);

            var anyParticipant = initialHearing.Participants.First();

            var multiDays = await PollForAllMultiDayHearings(anyParticipant.Username, initialHearing.Cases.Single().Name, totalNumberOfDays);

            Hearings.AddRange(multiDays);
            multiDays.Count.Should().Be(totalNumberOfDays);

            foreach (var day in multiDays)
            {
                await ConfirmMultiDayHearing(day);
            }
        }
Example #9
0
        private async Task CreateHearing()
        {
            var request = new BookHearingRequestBuilder(Context.Config.UsernameStem).Build();

            Hearing = await BookingApiClient.BookNewHearingAsync(request);
        }