public async Task VerifyCanSendToChatChannel_PrivateChatDisabled_ReturnError() { // arrange var channelSelector = CreateChatChannelSelector(true); var mediator = CreateMediatorWithFindConference(new ChatOptions { IsPrivateChatEnabled = false }); var context = CreateContext(builder => { builder.RegisterInstance(channelSelector).AsImplementedInterfaces(); builder.RegisterInstance(mediator).AsImplementedInterfaces(); }); var channel = new PrivateChatChannel(new HashSet <string> { "1", "2" }); // act var result = await ServiceInvokerChatMiddleware.VerifyCanSendToChatChannel(context, channel); // assert Assert.False(result.Success); Assert.Equal(ChatError.PrivateMessagesDisabled.Code, result.Error !.Code); }
public void GetRequiredPermissions_NoOptionsConfigured_ReturnCanSendChatMessagePermission() { // arrange var messageDto = new SendChatMessageDto("Hello", "test", new ChatMessageOptions()); // act var requiredPermissions = ServiceInvokerChatMiddleware.GetRequiredPermissions(messageDto); // assert var permission = Assert.Single(requiredPermissions); Assert.Equal(DefinedPermissions.Chat.CanSendChatMessage.Key, permission !.Key); }
public async Task VerifyCanSendToChatChannel_ChannelSelectorSaysNo_ReturnError() { // arrange var channelSelector = CreateChatChannelSelector(false); var context = CreateContext(builder => builder.RegisterInstance(channelSelector).AsImplementedInterfaces()); // act var result = await ServiceInvokerChatMiddleware.VerifyCanSendToChatChannel(context, GlobalChatChannel.Instance); // assert Assert.False(result.Success); Assert.Equal(ChatError.InvalidChannel.Code, result.Error !.Code); }
public void GetRequiredPermissions_IsAnnouncement_ReturnCanSendChatMessageAndCanSendAnonymouslyPermission() { // arrange var messageDto = new SendChatMessageDto("Hello", "test", new ChatMessageOptions { IsAnnouncement = true }); // act var requiredPermissions = ServiceInvokerChatMiddleware.GetRequiredPermissions(messageDto).ToList(); // assert Assert.Equal(2, requiredPermissions.Count); Assert.Contains(requiredPermissions, x => x.Key == DefinedPermissions.Chat.CanSendChatMessage.Key); Assert.Contains(requiredPermissions, x => x.Key == DefinedPermissions.Chat.CanSendAnnouncement.Key); }
public async Task VerifyCanSendToChatChannel_CanSend_ReturnSuccess() { // arrange var channelSelector = CreateChatChannelSelector(true); var mediator = CreateMediatorWithFindConference(new ChatOptions()); var context = CreateContext(builder => { builder.RegisterInstance(channelSelector).AsImplementedInterfaces(); builder.RegisterInstance(mediator).AsImplementedInterfaces(); }); // act var result = await ServiceInvokerChatMiddleware.VerifyCanSendToChatChannel(context, GlobalChatChannel.Instance); // assert Assert.True(result.Success); }