public async Task CreatesPrivateChannel() { Mock <IDMChannel> dmChannelMock = new Mock <IDMChannel>(); Mock <IUser> userMock = new Mock <IUser>(); userMock .Setup(u => u.GetOrCreateDMChannelAsync(It.IsAny <RequestOptions>())) .Returns(() => Task.FromResult(dmChannelMock.Object)); Mock <IMessageChannel> channelMock = new Mock <IMessageChannel>(); Mock <IMessage> messageMock = new Mock <IMessage>(); messageMock .SetupGet(m => m.Channel) .Returns(channelMock.Object); messageMock .SetupGet(m => m.Author) .Returns(userMock.Object); //Act PrivateCommand command = new PrivateCommand(); await command.Execute(messageMock.Object); //Assert dmChannelMock.Verify(u => u.SendMessageAsync(It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <Embed>(), It.IsAny <RequestOptions>()), Times.AtLeastOnce()); }
public void ExecutePrivateCommand() { ICommand command = new PrivateCommand(new string[] { "foo" }); ValueEnvironment parent = new ValueEnvironment(ValueEnvironmentType.Public); ValueEnvironment privateenv = new ValueEnvironment(parent); ValueEnvironment localenv = new ValueEnvironment(privateenv, ValueEnvironmentType.Local); command.Execute(null, localenv); Assert.IsFalse(localenv.ContainsValue("foo")); Assert.IsFalse(parent.ContainsValue("foo")); Assert.IsTrue(privateenv.ContainsValue("foo")); }