Пример #1
0
        // Favorite Tweet
        public ITwitterPageIterator <ITwitterResult <ITweetDTO[]>, long?> GetFavoriteTweetsIterator(IGetUserFavoriteTweetsParameters parameters, ITwitterRequest request)
        {
            return(_pageCursorIteratorFactories.Create(parameters, cursor =>
            {
                var cursoredParameters = new GetUserFavoriteTweetsParameters(parameters)
                {
                    MaxId = cursor
                };

                return _tweetQueryExecutor.GetFavoriteTweets(cursoredParameters, new TwitterRequest(request));
            }));
        }
Пример #2
0
        public void GetFavoriteTweets_ReturnsFromPageCursorIteratorFactories()
        {
            // arrange
            var parameters = new GetUserFavoriteTweetsParameters("username")
            {
                PageSize = 2
            };
            var request        = A.Fake <ITwitterRequest>();
            var expectedResult = A.Fake <ITwitterPageIterator <ITwitterResult <ITweetDTO[]>, long?> >();

            A.CallTo(() => _fakePageCursorIteratorFactories.Create(parameters, It.IsAny <Func <long?, Task <ITwitterResult <ITweetDTO[]> > > >()))
            .Returns(expectedResult);

            var controller        = CreateTweetController();
            var friendIdsIterator = controller.GetFavoriteTweetsIterator(parameters, request);

            // assert
            Assert.Equal(friendIdsIterator, expectedResult);
        }
Пример #3
0
        public async Task GetFavoriteTweets_ReturnsFavoritedTweetsAsync()
        {
            // Arrange
            var queryExecutor = CreateUserQueryExecutor();
            var expectedQuery = TestHelper.GenerateString();

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

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

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

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

            var parameters = new GetUserFavoriteTweetsParameters(user)
            {
                IncludeEntities       = true,
                MaxId                 = 42,
                SinceId               = 43,
                PageSize              = 12,
                CustomQueryParameters = { new Tuple <string, string>("hello", "world") }
            };

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

            // Assert
            Assert.Equal(result, $"https://api.twitter.com/1.1/favorites/list.json?user_id=42&include_entities=true" +
                         $"&count=12&since_id=43&max_id=42&tweet_mode=extended&hello=world");
        }