Example #1
0
        public async Task GetTweet_ReturnsQueryExecutorResultAsync()
        {
            // Arrange
            var controller     = CreateTweetController();
            var parameters     = new GetTweetParameters(42);
            var request        = A.Fake <ITwitterRequest>();
            var expectedResult = A.Fake <ITwitterResult <ITweetDTO> >();

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

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

            // Assert
            Assert.Equal(result, expectedResult);
        }
Example #2
0
        public async Task GetTweet_ReturnsFavoritedTweetsAsync()
        {
            // Arrange
            var queryExecutor = CreateUserQueryExecutor();
            var expectedQuery = TestHelper.GenerateString();

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

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

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

            // Assert
            Assert.Equal(result, expectedResult);
            Assert.Equal(request.Query.Url, expectedQuery);
            Assert.Equal(HttpMethod.GET, request.Query.HttpMethod);
        }
        public void GetTweetQuery_ReturnsExpectedQuery()
        {
            // Arrange
            var queryGenerator = CreateUserQueryGenerator();

            var parameters = new GetTweetParameters(42)
            {
                IncludeEntities       = true,
                IncludeCardUri        = true,
                IncludeMyRetweet      = true,
                IncludeExtAltText     = true,
                TrimUser              = true,
                CustomQueryParameters = { new Tuple <string, string>("hello", "world") }
            };

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

            // Assert
            Assert.Equal(result,
                         $"https://api.twitter.com/1.1/statuses/show.json?id=42&include_card_uri=true&include_entities=true&include_ext_alt_text=true&include_my_retweet=true&trim_user=true&tweet_mode=extended&hello=world");
        }