コード例 #1
0
        public void should_return_failure_when_request_validator_is_not_found()
        {
            _validatorFactory.Setup(x => x.GetValidator(It.IsAny <Type>())).Returns((IValidator)null);
            var model = new StartHearingRequest();

            var result = _service.Validate(model.GetType(), model);

            result.Should().NotBeNullOrEmpty();
        }
コード例 #2
0
        public async Task should_pass_validation()
        {
            var request = new StartHearingRequest
            {
                Layout = HearingLayout.Dynamic
            };

            var result = await _validator.ValidateAsync(request);

            result.IsValid.Should().BeTrue();
        }
コード例 #3
0
        public void GivenIHaveAStartVideoHearingRequest()
        {
            var conferenceId = _context.Test.Conference.Id;

            _context.Uri        = ApiUriFactory.ConferenceManagementEndpoints.StartVideoHearing(conferenceId);
            _context.HttpMethod = HttpMethod.Post;
            var request = new StartHearingRequest {
                Layout = HearingLayout.OnePlus7
            };
            var jsonBody = RequestHelper.Serialise(request);

            _context.HttpContent = new StringContent(jsonBody, Encoding.UTF8, "application/json");
        }
コード例 #4
0
        public async Task should_return_accepted_when_start_hearing_has_been_requested()
        {
            var conferenceId = Guid.NewGuid();
            var request      = new StartHearingRequest
            {
                Layout = HearingLayout.OnePlus7
            };
            var result = await Controller.StartVideoHearingAsync(conferenceId, request);

            var typedResult = (AcceptedResult)result;

            typedResult.Should().NotBeNull();
            typedResult.StatusCode.Should().Be((int)HttpStatusCode.Accepted);
            VideoPlatformServiceMock.Verify(x => x.StartHearingAsync(conferenceId, Layout.ONE_PLUS_SEVEN), Times.Once);
        }
        public async Task <IActionResult> StartVideoHearingAsync(Guid conferenceId, StartHearingRequest request)
        {
            try
            {
                _logger.LogDebug("Attempting to start hearing");
                var hearingLayout =
                    HearingLayoutMapper.MapLayoutToVideoHearingLayout(
                        request.Layout.GetValueOrDefault(HearingLayout.Dynamic));
                await _videoPlatformService.StartHearingAsync(conferenceId, hearingLayout);

                return(Accepted());
            }
            catch (KinlyApiException ex)
            {
                _logger.LogError(ex, "Error from Kinly API. Unable to start video hearing");
                return(StatusCode(ex.StatusCode, ex.Response));
            }
        }
コード例 #6
0
        public async Task <IActionResult> StartOrResumeVideoHearingAsync(Guid conferenceId, StartHearingRequest request)
        {
            var validatedRequest = await ValidateUserIsJudgeAndInConference(conferenceId);

            if (validatedRequest != null)
            {
                return(validatedRequest);
            }

            try
            {
                await _videoApiClient.StartOrResumeVideoHearingAsync(conferenceId, request);

                _logger.LogDebug("Sent request to start / resume conference {Conference}", conferenceId);
                return(Accepted());
            }
            catch (VideoApiException ex)
            {
                _logger.LogError(ex, "Unable to start video hearing {Conference}", conferenceId);
                return(StatusCode(ex.StatusCode, ex.Response));
            }
        }