public async Task should_return_kinly_status_code_on_error()
        {
            var conferenceId = Guid.NewGuid();
            var request      = new TransferParticipantRequest
            {
                ParticipantId = Guid.NewGuid(),
                TransferType  = TransferType.Call
            };
            var message    = "Transfer Error";
            var response   = "Unable to transfer participant";
            var statusCode = (int)HttpStatusCode.Unauthorized;
            var exception  =
                new KinlyApiException(message, statusCode, response, null, null);

            VideoPlatformServiceMock
            .Setup(x => x.TransferParticipantAsync(It.IsAny <Guid>(), It.IsAny <Guid>(), It.IsAny <RoomType>(),
                                                   It.IsAny <RoomType>())).ThrowsAsync(exception);

            var result = await Controller.TransferParticipantAsync(conferenceId, request);

            result.Should().BeOfType <ObjectResult>();
            var typedResult = (ObjectResult)result;

            typedResult.StatusCode.Should().Be(statusCode);
            typedResult.Value.Should().Be(response);
        }
        public async Task Should_Return_BadRequest_When_Participant_Cannot_Be_Found_In_Consultation_Room()
        {
            var conferenceId     = TestConference.Id;
            var participantId    = TestConference.Participants[0].Id;
            var consultationRoom = new ConsultationRoom(TestConference.Id, "ConsultationRoom", VirtualCourtRoomType.JudgeJOH, false);

            TestConference.Participants[0].CurrentConsultationRoom = consultationRoom;
            var fromRoom = "ConsultationRoom";
            var toRoom   = "WaitingRoom";
            var leaveConsultationRequest = new LeaveConsultationRequest
            {
                ConferenceId = conferenceId, ParticipantId = participantId
            };

            var kinlyApiException = new KinlyApiException("", (int)HttpStatusCode.BadRequest, "payload",
                                                          new Dictionary <string, IEnumerable <string> >(), new Exception());

            ConsultationServiceMock.Setup(x => x.LeaveConsultationAsync(leaveConsultationRequest.ConferenceId,
                                                                        leaveConsultationRequest.ParticipantId, fromRoom, toRoom)).ThrowsAsync(kinlyApiException);

            var result = await Controller.LeaveConsultationAsync(leaveConsultationRequest);

            QueryHandlerMock.Verify(q => q.Handle <GetConferenceByIdQuery, VideoApi.Domain.Conference>
                                        (It.IsAny <GetConferenceByIdQuery>()), Times.Once);
            ConsultationServiceMock.Verify(v => v.LeaveConsultationAsync
                                               (leaveConsultationRequest.ConferenceId, leaveConsultationRequest.ParticipantId, fromRoom, toRoom),
                                           Times.Never);
            result.Should().BeOfType <BadRequestObjectResult>();
        }
示例#3
0
        public void Should_throw_for_kinly_virtual_court_room_when_other_status()
        {
            var exception = new KinlyApiException("BadGateway", StatusCodes.Status502BadGateway, "", null, null);

            _kinlyApiClientMock.Setup(x => x.GetHearingAsync(It.IsAny <string>())).Throws(exception);

            Assert.ThrowsAsync <KinlyApiException>(() => _kinlyPlatformService.GetVirtualCourtRoomAsync(It.IsAny <Guid>()));
        }
示例#4
0
        public async Task Should_return_null_for_kinly_virtual_court_room_when_not_found()
        {
            var exception = new KinlyApiException("notfound", StatusCodes.Status404NotFound, "", null, null);

            _kinlyApiClientMock.Setup(x => x.GetHearingAsync(It.IsAny <string>())).Throws(exception);

            var result = await _kinlyPlatformService.GetVirtualCourtRoomAsync(It.IsAny <Guid>());

            result.Should().BeNull();
        }
        public async Task Should_Return_BadRequest_When_Participant_Cannot_Be_Found()
        {
            var request = RequestBuilder();

            var kinlyApiException = new KinlyApiException("", (int)HttpStatusCode.BadRequest, "payload",
                                                          new Dictionary <string, IEnumerable <string> >(), new Exception());

            ConsultationServiceMock.Setup(x => x.GetAvailableConsultationRoomAsync(request.ConferenceId, request.RoomType.MapToDomainEnum()))
            .ReturnsAsync(_testConsultationRoom);
            ConsultationServiceMock
            .Setup(x => x.ParticipantTransferToRoomAsync(request.ConferenceId, request.RequestedBy, _testConsultationRoom.Label))
            .ThrowsAsync(kinlyApiException);

            var result = await Controller.StartConsultationRequestAsync(request);

            var actionResult = result.As <BadRequestObjectResult>();

            actionResult.Should().NotBeNull();
        }
        [Test] public async Task should_return_kinly_status_code_on_error()
        {
            var conferenceId = Guid.NewGuid();
            var message      = "Auto Test Error";
            var response     = "You're not allowed to suspend this hearing";
            var statusCode   = (int)HttpStatusCode.Unauthorized;
            var exception    =
                new KinlyApiException(message, statusCode, response, null, null);

            VideoPlatformServiceMock.Setup(x => x.SuspendHearingAsync(It.IsAny <Guid>()))
            .ThrowsAsync(exception);

            var result = await Controller.SuspendHearingAsync(conferenceId);

            var typedResult = (ObjectResult)result;

            typedResult.Should().NotBeNull();
            typedResult.StatusCode.Should().Be(statusCode);
            typedResult.Value.Should().Be(response);
        }