public async Task InviteMultipleMembersAsync(SignalR.TransportModels.Request.Member.InviteMultipleMembersRequest model) { await _connection.InvokeAsync("InviteMultipleMembersAsync", model); }
public async Task Step3_AddInviteLeaveMember() { // Invite member // Arrange var client = _server.CreateClient(); client.DefaultRequestHeaders.Add("Authorization", "Bearer " + _adminToken); var newMemberSignalRClient = new SignalRClient(_server.BaseAddress.ToString()); var userToken = await GetJwtTokenAsync("*****@*****.**", "123QWqw!"); await newMemberSignalRClient.ConnectAsync(userToken, _server.CreateHandler()); var newUser = await newMemberSignalRClient.AddClientAsync(); var inviteMultipleMembersRequest = new SignalR.TransportModels.Request.Member.InviteMultipleMembersRequest { ChannelId = _testChannel.Id, RequestId = "A372A27B-4860-44AB-9915-27B8CAFB68A3", InvitedMembersIds = new List <Guid> { new Guid(newUser.MemberId.ToString()) } }; // Subscribe event MessageResponse userExistsaddedMessageResponse = null; void OnMessageAdded(MessageResponse response) { userExistsaddedMessageResponse = response; } newMemberSignalRClient.MessageAdded += OnMessageAdded; // Act async Task <ChannelResponse> GetChannelResponse(HttpClient httpClient) { var channelResponse = await httpClient.GetAsync(RequestUri); var channels = await channelResponse.Content.ReadAsStringAsync(); var channel = JsonConvert.DeserializeObject <List <ChannelResponse> >(channels).FirstOrDefault(); return(channel); } await _adminSignalRClient.InviteMultipleMembersAsync(inviteMultipleMembersRequest); var twoMemberChannel = await GetChannelResponse(client); var addMessageRequest = new AddMessageRequest { ChannelId = _testChannel.Id, Body = "test_body", ImageUrl = string.Empty, RequestId = "82EEC70D-D808-492C-98E3-6A5B47276990", Type = MessageType.Default }; await _adminSignalRClient.AddMessageAsync(addMessageRequest); // Unsubscribe events newMemberSignalRClient.MessageAdded -= OnMessageAdded; // Assert userExistsaddedMessageResponse.Should().NotBeNull(); userExistsaddedMessageResponse.ChannelId.Should().Be(addMessageRequest.ChannelId); userExistsaddedMessageResponse.Body.Should().Be(addMessageRequest.Body); twoMemberChannel.Should().NotBeNull(); twoMemberChannel.MembersCount.Should().Be(2); // Leave channel // Arrange var channelRequest = new ChannelRequest { ChannelId = _testChannel.Id, RequestId = "48033741-F54F-46A4-8AB4-3BFF5EACDBAC" }; // Subscribe event MessageResponse userDoesntExistaddedMessageResponse = null; void OnMessageSent(MessageResponse response) { userDoesntExistaddedMessageResponse = response; } newMemberSignalRClient.MessageAdded += OnMessageSent; // Act await newMemberSignalRClient.LeaveChannelAsync(channelRequest); await _adminSignalRClient.AddMessageAsync(addMessageRequest); var oneMemberChannel = await GetChannelResponse(client); // Unsubscribe events newMemberSignalRClient.MessageAdded -= OnMessageSent; // Assert userDoesntExistaddedMessageResponse.Should().BeNull(); oneMemberChannel.Should().NotBeNull(); oneMemberChannel.MembersCount.Should().Be(1); }