public void HandlesValidUserChange() { var users = new List<User> { new User { Id = "UID1", Name = "User1" }, new User { Id = "UID2", Name = "User2" } }; var mockState = new Mock<IBotState>(); mockState.Setup(s => s.Users).Returns(users).Verifiable(); var message = new UserChange { Type = EventType.UserChange, User = new User { Id = "UID1", Name = "User1b" } }; RunHandler(message, mockState); Assert.Equal(2, users.Count); Assert.Equal("User1b", users.First(u => u.Id == "UID1").Name); Assert.Equal("User2", users.First(u => u.Id == "UID2").Name); }
private void UserChange(UserChange message) { var existingUserIndex = base.BotState.Users.FindIndex(i => i.Id == message.User.Id); if (existingUserIndex >= 0) base.BotState.Users.RemoveAt(existingUserIndex); base.BotState.Users.Add(message.User); }