public ITwitterPageIterator <ITwitterResult <IUserCursorQueryResultDTO> > GetBlockedUsersIterator(IGetBlockedUsersParameters parameters, ITwitterRequest request) { var twitterCursorResult = new TwitterPageIterator <ITwitterResult <IUserCursorQueryResultDTO> >( parameters.Cursor, cursor => { var cursoredParameters = new GetBlockedUsersParameters(parameters) { Cursor = cursor }; return(_userQueryExecutor.GetBlockedUsers(cursoredParameters, new TwitterRequest(request))); }, page => page.DataTransferObject.NextCursorStr, page => page.DataTransferObject.NextCursorStr == "0"); return(twitterCursorResult); }
public void GetBlockedUsersQuery_ReturnsExpectedQuery() { // Arrange var queryGenerator = CreateUserQueryGenerator(); var parameters = new GetBlockedUsersParameters { PageSize = 42, Cursor = "cursor_id", IncludeEntities = true, SkipStatus = true, CustomQueryParameters = { new Tuple <string, string>("hello", "world") } }; // Act var result = queryGenerator.GetBlockedUsersQuery(parameters); // Assert Assert.Equal(result, $"https://api.twitter.com/1.1/blocks/list.json?cursor=cursor_id&count=42&include_entities=true&skip_status=true&hello=world"); }
public async Task GetBlockedUsers_ReturnsUserDTOsAsync() { // Arrange var queryExecutor = CreateUserQueryExecutor(); var url = TestHelper.GenerateString(); var parameters = new GetBlockedUsersParameters(); var request = A.Fake <ITwitterRequest>(); var expectedResult = A.Fake <ITwitterResult <IUserCursorQueryResultDTO> >(); A.CallTo(() => _fakeUserQueryGenerator.GetBlockedUsersQuery(parameters)).Returns(url); A.CallTo(() => _fakeTwitterAccessor.ExecuteRequestAsync <IUserCursorQueryResultDTO>(request)).Returns(expectedResult); // Act var result = await queryExecutor.GetBlockedUsersAsync(parameters, request); // Assert Assert.Equal(result, expectedResult); Assert.Equal(request.Query.Url, url); Assert.Equal(HttpMethod.GET, request.Query.HttpMethod); }