public async Task <IActionResult> AddSelfTestFailureEventToConferenceAsync(Guid conferenceId, [FromBody] AddSelfTestFailureEventRequest addSelfTestFailureEventRequest) { var participantId = await GetIdForParticipantByUsernameInConference(conferenceId); try { var eventRequest = new ConferenceEventRequest { Conference_id = conferenceId.ToString(), Participant_id = participantId.ToString(), Event_id = Guid.NewGuid().ToString(), Event_type = addSelfTestFailureEventRequest.EventType, Time_stamp_utc = DateTime.UtcNow, Reason = $"Failed self-test ({addSelfTestFailureEventRequest.SelfTestFailureReason.DescriptionAttr()})" }; await _videoApiClient.RaiseVideoEventAsync(eventRequest); return(NoContent()); } catch (VideoApiException e) { return(StatusCode(e.StatusCode, e.Response)); } }
public async Task Should_return_no_content_when_event_is_sent() { _videoApiClientMock .Setup(x => x.RaiseVideoEventAsync(It.IsAny <ConferenceEventRequest>())) .Returns(Task.FromResult(default(object))); var conferenceId = _testConference.Id; var request = new AddSelfTestFailureEventRequest { SelfTestFailureReason = SelfTestFailureReason.BadScore }; var result = await _controller.AddSelfTestFailureEventToConferenceAsync(conferenceId, request); var typedResult = (NoContentResult)result; typedResult.Should().NotBeNull(); }