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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 4
0
        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);
        }