public async Task GetUserIdsRequestingFriendship_NextPage_ReturnsAllPages() { // arrange var accountController = CreateUserController(); var parameters = new GetUserIdsRequestingFriendshipParameters(); var iterator = accountController.GetUserIdsRequestingFriendshipIterator(parameters, A.Fake <ITwitterRequest>()); var iteratorTestRunner = new TwitterIdsIteratorTestRunner(iterator); iteratorTestRunner.Arrange(A.CallTo(() => _fakeUserQueryExecutor.GetUserIdsRequestingFriendship(It.IsAny <IGetUserIdsRequestingFriendshipParameters>(), It.IsAny <ITwitterRequest>()))); // act await iteratorTestRunner.Act(); // assert await iteratorTestRunner.Assert(); }
public ITwitterPageIterator <ITwitterResult <IIdsCursorQueryResultDTO> > GetUserIdsRequestingFriendshipIterator(IGetUserIdsRequestingFriendshipParameters parameters, ITwitterRequest request) { var twitterCursorResult = new TwitterPageIterator <ITwitterResult <IIdsCursorQueryResultDTO> >( parameters.Cursor, cursor => { var cursoredParameters = new GetUserIdsRequestingFriendshipParameters(parameters) { Cursor = cursor }; return(_userQueryExecutor.GetUserIdsRequestingFriendship(cursoredParameters, new TwitterRequest(request))); }, page => page.DataTransferObject.NextCursorStr, page => page.DataTransferObject.NextCursorStr == "0"); return(twitterCursorResult); }
public void GetUserIdsRequestingFriendshipQuery_ReturnsExpectedQuery() { // Arrange var queryGenerator = CreateUserQueryGenerator(); var parameters = new GetUserIdsRequestingFriendshipParameters { PageSize = 42, Cursor = "start_cursor", CustomQueryParameters = { new Tuple <string, string>("hello", "world") } }; // Act var result = queryGenerator.GetUserIdsRequestingFriendshipQuery(parameters); // Assert Assert.Equal(result, $"https://api.twitter.com/1.1/friendships/incoming.json?cursor=start_cursor&count=42&hello=world"); }
public async Task GetUserIdsRequestingFriendship_ReturnsPendingFollowersAsync() { // Arrange var queryExecutor = CreateUserQueryExecutor(); var parameters = new GetUserIdsRequestingFriendshipParameters(); var url = TestHelper.GenerateString(); var request = A.Fake <ITwitterRequest>(); var expectedResult = A.Fake <ITwitterResult <IIdsCursorQueryResultDTO> >(); A.CallTo(() => _fakeUserQueryGenerator.GetUserIdsRequestingFriendshipQuery(parameters)).Returns(url); A.CallTo(() => _fakeTwitterAccessor.ExecuteRequestAsync <IIdsCursorQueryResultDTO>(request)).Returns(expectedResult); // Act var result = await queryExecutor.GetUserIdsRequestingFriendshipAsync(parameters, request); // Assert Assert.Equal(result, expectedResult); Assert.Equal(request.Query.Url, url); Assert.Equal(HttpMethod.GET, request.Query.HttpMethod); }