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_judge_sends_message_to_default_admin() { SetupSendMessageTests(); // setup claims to return judge username var claims = new ClaimsPrincipalBuilder().WithUsername(JudgeUsername).WithRole(AppRoles.JudgeRole).Build(); UpdateUserIdentity(claims); var fromUsername = JudgeUsername; var toUsername = EventHub.Hub.EventHub.DefaultAdminName; const string message = "test message"; var messageUuid = Guid.NewGuid(); await Hub.SendMessage(Conference.Id, message, toUsername, messageUuid); AssertMessageSentToHubAndApi(fromUsername, toUsername, message, messageUuid, JudgeGroupChannel); AdminGroupChannel.Verify(x => x.AdminAnsweredChat(Conference.Id, toUsername), Times.Never); }
public async Task Should_send_message_to_conference_group_if_user_is_vho() { SetupSendMessageTests(); // setup claims to return admin username var claims = new ClaimsPrincipalBuilder().WithUsername(AdminUsername).WithRole(AppRoles.VhOfficerRole) .Build(); UpdateUserIdentity(claims); var fromUsername = AdminUsername; var toUsername = JudgeUsername; const string message = "test message"; var messageUuid = Guid.NewGuid(); await Hub.SendMessage(Conference.Id, message, toUsername, messageUuid); AssertMessageSentToHubAndApi(fromUsername, toUsername, message, messageUuid, JudgeGroupChannel); AdminGroupChannel.Verify(x => x.AdminAnsweredChat(Conference.Id, toUsername), 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 fromUsername = IndividualUsername; var toUsername = AdminUserProfile.User_name; const string message = "test message"; var messageUuid = Guid.NewGuid(); await Hub.SendMessage(Conference.Id, message, toUsername, messageUuid); AssertMessageSentToHubAndApi(fromUsername, toUsername, message, messageUuid, IndividualGroupChannel); AdminGroupChannel.Verify(x => x.AdminAnsweredChat(Conference.Id, toUsername), Times.Never); }
public async Task should_send_message_to_admin_group_and_participant_group_when_judge_sends_message_to_admin() { SetupSendMessageTests(); // setup claims to return judge username var claims = new ClaimsPrincipalBuilder().WithUsername(JudgeUsername).WithRole(AppRoles.JudgeRole).Build(); UpdateUserIdentity(claims); var fromJudgeId = JudgeParticipantId.ToString(); var fromUsername = JudgeUsername; var toUsername = AdminUserProfile.UserName; const string message = "test message"; var messageUuid = Guid.NewGuid(); await Hub.SendMessage(Conference.Id, message, toUsername, messageUuid); AssertMessageSentToHub(fromJudgeId, toUsername, message, messageUuid, JudgeGroupChannel); AssertMessageSentStatusToApi(fromUsername, toUsername, message, Times.Once()); AdminGroupChannel.Verify(x => x.AdminAnsweredChat(Conference.Id, toUsername), Times.Never); }
should_not_send_message_to_admin_group_and_participant_group_when_recipient_not_in_conference() { SetupSendMessageTests(); // setup claims to return admin username var claims = new ClaimsPrincipalBuilder().WithUsername(AdminUsername).WithRole(AppRoles.VhOfficerRole) .Build(); UpdateUserIdentity(claims); var fromUsername = AdminUsername; var toUsername = "******"; const string message = "test message"; var messageUuid = Guid.NewGuid(); await Hub.SendMessage(Conference.Id, message, toUsername, messageUuid); AssertMessageNotSentToHubOrApi(fromUsername, toUsername, message, messageUuid, JudgeGroupChannel); AssertMessageNotSentToHubOrApi(fromUsername, toUsername, message, messageUuid, IndividualGroupChannel); AdminGroupChannel.Verify(x => x.AdminAnsweredChat(Conference.Id, toUsername), Times.Never); }