public async Task ContentIsEmpty_Called_ThrowArgumentNullException() {
            // Arrange
            var createTweetInputModel = new CreateTweetInputModel {
                Content = null
            };

            var userId = Guid.NewGuid();

            var userRepository = new Mock<IUserRepository>();
            userRepository.Setup(ur => ur.AddTweet(userId, It.IsAny<Tweet>())).Verifiable();
            
            var createTweetCommand = new CreateTweetCommand(createTweetInputModel, userId);
            var createTweetCommandHandler = new CreateTweetCommandHandler(userRepository.Object);

            // Act
            Func<Task> funcHandle = () => createTweetCommandHandler.Handle(createTweetCommand, new CancellationToken());

            // Assert
            var exception = await Assert.ThrowsAsync<ArgumentException>(funcHandle);
            Assert.Equal("Content parameter is invalid.", exception.Message);
        }    
        public async Task InputDataOk_Called_ReturnViewModelWithCorrectValues() {
            // Arrange
            var fixture = new Fixture();

            var createTweetInputModel = fixture.Create<CreateTweetInputModel>();
            var userId = Guid.NewGuid();

            var userRepository = new Mock<IUserRepository>();
            userRepository.Setup(ur => ur.AddTweet(userId, It.IsAny<Tweet>())).Verifiable();
            
            var createTweetCommand = new CreateTweetCommand(createTweetInputModel, userId);
            var createTweetCommandHandler = new CreateTweetCommandHandler(userRepository.Object);

            // Act
            var createTweetViewModel = await createTweetCommandHandler.Handle(createTweetCommand, new CancellationToken());

            // Assert
            Assert.NotNull(createTweetViewModel);
            Assert.Equal(createTweetInputModel.Content, createTweetViewModel.Content);
            Assert.Equal(userId, createTweetViewModel.UserId);

            userRepository.Verify(ur => ur.AddTweet(userId, It.IsAny<Tweet>()), Times.Once);
        }