public void RemoveSimpleCommandFromAllCommands_GivenUserIsMod()
        {
            var someRandomGuyFromChat = new ChatUser
            {
                Role = UserRole.Mod
            };

            _commandReceivedEventArgs.ChatUser = someRandomGuyFromChat;
            var deleteCommand = new DeleteCommandOperation(_repositoryMock.Object, _allCommands);

            deleteCommand.TryToExecute(_commandReceivedEventArgs);
            _allCommands.Should().NotContain(_simpleCommand);
        }
        public void NotRemoveSimpleCommandFromRepository_GivenUserIsAnyone()
        {
            var someRandomGuyFromChat = new ChatUser
            {
                Role = UserRole.Everyone
            };

            _commandReceivedEventArgs.ChatUser = someRandomGuyFromChat;
            var deleteCommand = new DeleteCommandOperation(_repositoryMock.Object, _allCommands);

            deleteCommand.TryToExecute(_commandReceivedEventArgs);
            _repositoryMock.Verify(x => x.Remove(_simpleCommand), Times.Never);
        }
        public void RemoveSimpleCommandFromRepository_GivenUserIsMod()
        {
            var moderator = new ChatUser
            {
                Role = UserRole.Mod
            };

            _commandReceivedEventArgs.ChatUser = moderator;

            var deleteCommand = new DeleteCommandOperation(_repositoryMock.Object, _allCommands);

            deleteCommand.TryToExecute(_commandReceivedEventArgs);
            _repositoryMock.Verify(x => x.Remove(_simpleCommand), Times.Exactly(1));
        }