// 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)); })); }
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); }
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"); }