Ejemplo n.º 1
0
        public async Task PublishRetweet_ReturnsQueryExecutorResultAsync()
        {
            // Arrange
            var controller     = CreateTweetController();
            var parameters     = new PublishRetweetParameters(42);
            var request        = A.Fake <ITwitterRequest>();
            var expectedResult = A.Fake <ITwitterResult <ITweetDTO> >();

            A.CallTo(() => _fakeTweetQueryExecutor.PublishRetweetAsync(parameters, request)).Returns(expectedResult);

            // Act
            var result = await controller.PublishRetweetAsync(parameters, request);

            // Assert
            Assert.Equal(result, expectedResult);
        }
        public void GetPublishRetweetQuery_ReturnsExpectedQuery()
        {
            // Arrange
            var queryGenerator = CreateUserQueryGenerator();

            var parameters = new PublishRetweetParameters(42)
            {
                TrimUser = true,
                CustomQueryParameters = { new Tuple <string, string>("hello", "world") }
            };

            // Act
            var result = queryGenerator.GetPublishRetweetQuery(parameters, TweetMode.Extended);

            // Assert
            Assert.Equal(result, $"https://api.twitter.com/1.1/statuses/retweet/42.json?trim_user=true&tweet_mode=extended&hello=world");
        }
Ejemplo n.º 3
0
        public async Task PublishRetweet_ReturnsFavoritedTweetsAsync()
        {
            // Arrange
            var queryExecutor = CreateUserQueryExecutor();
            var expectedQuery = TestHelper.GenerateString();

            var parameters     = new PublishRetweetParameters(42);
            var request        = A.Fake <ITwitterRequest>();
            var expectedResult = A.Fake <ITwitterResult <ITweetDTO> >();

            A.CallTo(() => _fakeTweetQueryGenerator.GetPublishRetweetQuery(parameters, It.IsAny <TweetMode?>())).Returns(expectedQuery);
            A.CallTo(() => _fakeTwitterAccessor.ExecuteRequestAsync <ITweetDTO>(request)).Returns(expectedResult);

            // Act
            var result = await queryExecutor.PublishRetweetAsync(parameters, request);

            // Assert
            Assert.Equal(result, expectedResult);
            Assert.Equal(request.Query.Url, expectedQuery);
            Assert.Equal(HttpMethod.POST, request.Query.HttpMethod);
        }