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)); }
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); }
private void GroupLeft(GroupLeft message) { var group = base.BotState.Groups.FirstOrDefault(c => c.Id == message.Channel.Id); if (group == null) { return; } group.IsOpen = false; }
public void HandleGroupLeft(GroupLeft left) { GroupLookup.Remove(left.channel); }
private void When(GroupLeft e) { CurrentGroupId = null; }