public async Task <IActionResult> UpdateConferenceAsync(UpdateConferenceRequest request) { _logger.LogDebug("UpdateConference"); var query = new GetNonClosedConferenceByHearingRefIdQuery(request.HearingRefId); var conference = await _queryHandler.Handle <GetNonClosedConferenceByHearingRefIdQuery, Conference>(query); if (conference == null) { _logger.LogWarning("Unable to find conference with hearing id {HearingRefId}", request.HearingRefId); return(NotFound()); } var endpointDtos = conference.GetEndpoints().Select(EndpointMapper.MapToEndpoint); await _videoPlatformService.UpdateVirtualCourtRoomAsync(conference.Id, request.AudioRecordingRequired, endpointDtos); try { var command = new UpdateConferenceDetailsCommand(request.HearingRefId, request.CaseNumber, request.CaseType, request.CaseName, request.ScheduledDuration, request.ScheduledDateTime, request.HearingVenueName, request.AudioRecordingRequired); await _commandHandler.Handle(command); return(Ok()); } catch (ConferenceNotFoundException) { return(NotFound()); } }
public async Task Should_return_notfound_with_conferencenotfoundexception() { CommandHandlerMock.Setup(c => c.Handle(It.IsAny <UpdateConferenceDetailsCommand>())).Throws(new ConferenceNotFoundException(Guid.NewGuid())); var request = new UpdateConferenceRequest(); var result = await Controller.UpdateConferenceAsync(request); var typedResult = (NotFoundResult)result; typedResult.Should().NotBeNull(); CommandHandlerMock.Verify(c => c.Handle(It.IsAny <UpdateConferenceDetailsCommand>()), Times.Once); }
public void GivenIHaveAValidUpdateAConferenceRequest(Scenario scenario) { UpdateConferenceRequest request; switch (scenario) { case Scenario.Valid: { var scheduledDateTime = _context.Test.Conference.ScheduledDateTime.AddMinutes(1); request = new UpdateConferenceRequest { CaseName = _context.Test.Conference.CaseName, ScheduledDateTime = scheduledDateTime, CaseNumber = _context.Test.Conference.CaseNumber, HearingRefId = _context.Test.Conference.HearingRefId, ScheduledDuration = _context.Test.Conference.ScheduledDuration + 10, CaseType = _context.Test.Conference.CaseType, AudioRecordingRequired = true }; break; } case Scenario.Nonexistent: request = new UpdateConferenceRequest { HearingRefId = Guid.NewGuid(), CaseName = "CaseName", ScheduledDateTime = DateTime.Now, ScheduledDuration = 10, CaseType = "CaseType", CaseNumber = "CaseNo" }; break; case Scenario.Invalid: request = new UpdateConferenceRequest(); break; default: throw new ArgumentOutOfRangeException(nameof(scenario), scenario, null); } _context.Uri = UpdateConference; _context.HttpMethod = HttpMethod.Put; var jsonBody = RequestHelper.Serialise(request); _context.HttpContent = new StringContent(jsonBody, Encoding.UTF8, "application/json"); }
public void GivenIHaveAnUpdateConferenceRequest() { var request = new UpdateConferenceRequest { CaseName = $"{_context.Test.ConferenceResponse.CaseName} UPDATED", CaseNumber = $"{_context.Test.ConferenceResponse.CaseNumber} UPDATED", CaseType = "Financial Remedy", HearingRefId = _context.Test.ConferenceResponse.HearingId, ScheduledDateTime = DateTime.Now.AddHours(1), ScheduledDuration = 12, HearingVenueName = "MyVenue", AudioRecordingRequired = true }; _scenarioContext.Add(UpdatedKey, request); _context.Request = _context.Put(UpdateConference, request); }
public async Task Should_return_notfound_with_no_matching_conference() { var request = new UpdateConferenceRequest { HearingRefId = Guid.NewGuid(), }; QueryHandlerMock .Setup(x => x.Handle <GetNonClosedConferenceByHearingRefIdQuery, VideoApi.Domain.Conference>(It.IsAny <GetNonClosedConferenceByHearingRefIdQuery>())) .ReturnsAsync((VideoApi.Domain.Conference)null); var result = await Controller.UpdateConferenceAsync(request); var typedResult = (NotFoundResult)result; typedResult.Should().NotBeNull(); }
public async Task Should_update_requested_conference_successfully() { var request = new UpdateConferenceRequest { HearingRefId = Guid.NewGuid(), CaseName = "CaseName", ScheduledDateTime = DateTime.Now, ScheduledDuration = 10, CaseType = "CaseType", CaseNumber = "CaseNo" }; VideoPlatformServiceMock.Setup(v => v.UpdateVirtualCourtRoomAsync(It.IsAny <Guid>(), It.IsAny <bool>(), It.IsAny <List <EndpointDto> >())); await Controller.UpdateConferenceAsync(request); VideoPlatformServiceMock.Setup(v => v.UpdateVirtualCourtRoomAsync(It.IsAny <Guid>(), It.IsAny <bool>(), It.IsAny <List <EndpointDto> >())); CommandHandlerMock.Verify(c => c.Handle(It.IsAny <UpdateConferenceDetailsCommand>()), Times.Once); }
public Task UpdateConferenceAsync(UpdateConferenceRequest request) { _logger.LogInformation("Updating conference with hearing id {Hearing}", request.HearingRefId); return(_apiClient.UpdateConferenceAsync(request)); }
public Task UpdateConferenceAsync(UpdateConferenceRequest request) { UpdateConferenceCount++; return(Task.FromResult(HttpStatusCode.OK)); }