protected HearingDetailsResponse CreateHearingDetailsResponse() { var createHearingRequest = CreateHearingRequest(); var bookHearingRequest = new BookHearingRequestBuilder(createHearingRequest).Build(); return(new HearingDetailsResponseBuilder(bookHearingRequest).Build()); }
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); }
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(); }
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); }
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); }
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)); } }
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); } }
private async Task CreateHearing() { var request = new BookHearingRequestBuilder(Context.Config.UsernameStem).Build(); Hearing = await BookingApiClient.BookNewHearingAsync(request); }