private void should_return_group_joined_message(MessageInterpreter interpreter)
        {
            // given
            string json = @"
                {
                  'type': 'group_joined',
                  'channel': {
                    id: 'test-group',
                    is_group: true
                  }
                }
            ";

            // when
            var result = interpreter.InterpretMessage(json);

            // then
            var expected = new GroupJoinedMessage
            {
                MessageType = MessageType.Group_Joined,
                Channel     = new Group
                {
                    Id      = "test-group",
                    IsGroup = true
                },
                RawData = json,
            };

            result.ShouldLookLike(expected);
        }
Exemple #2
0
        private async Task should_not_raise_event_given_missing_data(
            Mock <IWebSocketClient> webSocket,
            SlackConnection slackConnection)
        {
            // given
            var connectionInfo = new ConnectionInformation {
                WebSocket = webSocket.Object
            };
            await slackConnection.Initialise(connectionInfo);

            SlackChatHub lastHub = null;

            slackConnection.OnChatHubJoined += hub =>
            {
                lastHub = hub;
                return(Task.CompletedTask);
            };

            var inboundMessage = new GroupJoinedMessage {
                Channel = null
            };

            // when
            webSocket.Raise(x => x.OnMessage += null, null, inboundMessage);

            // then
            lastHub.ShouldBeNull();
            slackConnection.ConnectedHubs.ShouldBeEmpty();
        }
Exemple #3
0
        private async Task should_raise_event(
            Mock <IWebSocketClient> webSocket,
            SlackConnection slackConnection)
        {
            // given
            var connectionInfo = new ConnectionInformation {
                WebSocket = webSocket.Object
            };
            await slackConnection.Initialise(connectionInfo);

            const string hubId   = "this-is-the-id";
            SlackChatHub lastHub = null;

            slackConnection.OnChatHubJoined += hub =>
            {
                lastHub = hub;
                return(Task.CompletedTask);
            };

            var inboundMessage = new GroupJoinedMessage
            {
                Channel = new Group {
                    Id = hubId
                }
            };

            // when
            webSocket.Raise(x => x.OnMessage += null, null, inboundMessage);

            // then
            lastHub.Id.ShouldBe(hubId);
            lastHub.Type.ShouldBe(SlackChatHubType.Group);
            slackConnection.ConnectedHubs.ContainsKey(hubId).ShouldBeTrue();
            slackConnection.ConnectedHubs[hubId].ShouldBe(lastHub);
        }
        private Task HandleGroupJoined(GroupJoinedMessage inboundMessage)
        {
            string channelId = inboundMessage?.Channel?.Id;

            if (channelId == null)
            {
                return(Task.CompletedTask);
            }

            var hub = inboundMessage.Channel.ToChatHub();

            this._connectedHubs[channelId] = hub;

            return(this.RaiseChatHubJoined(hub));
        }
        public void then_should_look_like_expected()
        {
            var expected = new GroupJoinedMessage
            {
                MessageType = MessageType.Group_Joined,
                Channel     = new Group
                {
                    Id      = "test-group",
                    IsGroup = true
                },
                RawData = Json,
            };

            Result.ShouldLookLike(expected);
        }
Exemple #6
0
        private Task HandleGroupJoined(GroupJoinedMessage inboundMessage)
        {
            string channelId = inboundMessage?.Channel?.Id;

            if (channelId == null)
            {
                return(Task.FromResult(false));
            }

            var hub = inboundMessage.Channel.ToChatHub();

            _connectedHubs[channelId] = hub;

            return(RaiseChatHubJoined(hub));
        }