public void HandlesValidGroupLeft()
        {
            var groups = new List <Group>
            {
                new Group {
                    Id = "CHANID1", IsOpen = false
                },
                new Group {
                    Id = "CHANID2", IsOpen = true
                }
            };

            var mockState = SetupGroupsMock(groups);

            var message = new GroupLeft
            {
                Type    = EventType.GroupLeft,
                Channel = new Group {
                    Id = "CHANID2"
                }
            };

            RunHandler(message, mockState);

            Assert.True(groups.All(c => c.IsOpen == false));
        }
Beispiel #2
0
        public void LeaveGroup()
        {
            if (CurrentGroupId == null)
            {
                throw new InvalidOperationException($"Buddy {Id} isn't in a group yet");
            }

            var e = new GroupLeft(Id, CurrentGroupId);

            Publish(e);
        }
Beispiel #3
0
        private void GroupLeft(GroupLeft message)
        {
            var group = base.BotState.Groups.FirstOrDefault(c => c.Id == message.Channel.Id);

            if (group == null)
            {
                return;
            }

            group.IsOpen = false;
        }
Beispiel #4
0
 public void HandleGroupLeft(GroupLeft left)
 {
     GroupLookup.Remove(left.channel);
 }
Beispiel #5
0
 private void When(GroupLeft e)
 {
     CurrentGroupId = null;
 }