public async Task should_not_send_messages_between_participants() { SetupSendMessageTests(); // setup claims to return admin username var claims = new ClaimsPrincipalBuilder().WithUsername(RepresentativeUsername) .WithRole(AppRoles.RepresentativeRole) .Build(); UpdateUserIdentity(claims); var fromParticipantId = RepresentativeParticipantId.ToString(); var fromUsername = RepresentativeUsername; var toParticipantId = IndividualParticipantId.ToString(); var toUsername = IndividualUsername; const string message = "test message"; var messageUuid = Guid.NewGuid(); await Hub.SendMessage(Conference.Id, message, toUsername, messageUuid); AssertMessageNotSentToHub(fromParticipantId, toParticipantId, message, messageUuid, IndividualGroupChannel); AssertMessageNotSentToApi(fromUsername, toUsername, message); AdminGroupChannel.Verify(x => x.AdminAnsweredChat(Conference.Id, toUsername), Times.Never); LoggerMock.Verify( x => x.Log( LogLevel.Error, It.IsAny <EventId>(), It.IsAny <It.IsAnyType>(), It.IsAny <InvalidInstantMessageException>(), (Func <It.IsAnyType, Exception, string>)It.IsAny <object>()), Times.Once); }
should_send_message_to_admin_group_and_participant_group_when_individual_sends_message_to_admin() { SetupSendMessageTests(); // setup claims to return individual username var claims = new ClaimsPrincipalBuilder().WithUsername(IndividualUsername).WithRole(AppRoles.CitizenRole) .Build(); UpdateUserIdentity(claims); var fromIndividualId = IndividualParticipantId.ToString(); var fromUsername = IndividualUsername; var toUsername = AdminUserProfile.UserName; const string message = "test message"; var messageUuid = Guid.NewGuid(); await Hub.SendMessage(Conference.Id, message, toUsername, messageUuid); AssertMessageSentToHub(fromIndividualId, toUsername, message, messageUuid, IndividualGroupChannel); AssertMessageSentStatusToApi(fromUsername, toUsername, message, Times.Once()); AdminGroupChannel.Verify(x => x.AdminAnsweredChat(Conference.Id, toUsername), Times.Never); }