public async Task GetUsers_ReturnsFromUserQueryExecutor() { // Arrange var controller = CreateUserController(); var parameters = new GetUsersParameters(new[] { "username" }); var expectedResult = A.Fake <ITwitterResult <IUserDTO[]> >(); A.CallTo(() => _fakeUserQueryExecutor.GetUsers(parameters, A <ITwitterRequest> .Ignored)).Returns(expectedResult); // Act var twitterResultUser = await controller.GetUsers(parameters, A.Fake <ITwitterRequest>()); // Assert Assert.Same(twitterResultUser, expectedResult); }
public void GetUsersQuery_ReturnsExpectedQuery() { // Arrange var parameters = new GetUsersParameters(new long[] { 42, 43 }) { SkipStatus = true, IncludeEntities = true, CustomQueryParameters = { new Tuple <string, string>("hello", "world") } }; var queryGenerator = CreateUserQueryGenerator(); // Act var result = queryGenerator.GetUsersQuery(parameters); // Assert Assert.Equal(result, $"https://api.twitter.com/1.1/users/lookup.json?user_id=42%2C43&skip_status=true&include_entities=true&hello=world"); }
public async Task GetUsers_ReturnsUserDTOAsync() { // Arrange var queryExecutor = CreateUserQueryExecutor(); var request = A.Fake <ITwitterRequest>(); var url = TestHelper.GenerateString(); var parameter = new GetUsersParameters(new long[] { 42 }); var expectedResult = A.Fake <ITwitterResult <IUserDTO[]> >(); A.CallTo(() => _fakeUserQueryGenerator.GetUsersQuery(parameter)).Returns(url); A.CallTo(() => _fakeTwitterAccessor.ExecuteRequestAsync <IUserDTO[]>(request)).Returns(expectedResult); // Act var result = await queryExecutor.GetUsersAsync(parameter, request); // Assert Assert.Equal(result, expectedResult); Assert.Equal(request.Query.Url, url); Assert.Equal(HttpMethod.GET, request.Query.HttpMethod); }