public async Task GetAuthenticatedUser_ReturnsFromUserQueryExecutor() { // Arrange var controller = CreateUserController(); var parameters = new GetAuthenticatedUserParameters(); var request = A.Fake <ITwitterRequest>(); var twitterResult = A.Fake <ITwitterResult <IUserDTO> >(); A.CallTo(() => _fakeUserQueryExecutor.GetAuthenticatedUser(parameters, request)).Returns(twitterResult); // Act var result = await controller.GetAuthenticatedUser(parameters, request); // Assert Assert.Equal(result, twitterResult); }
public void GetAuthenticatedUserQuery_ReturnsExpectedQuery() { // arrange var queryGenerator = CreateUserQueryGenerator(); var parameters = new GetAuthenticatedUserParameters { IncludeEmail = true, IncludeEntities = true, SkipStatus = true, CustomQueryParameters = { new Tuple <string, string>("hello", "world") } }; // act var result = queryGenerator.GetAuthenticatedUserQuery(parameters); // assert Assert.Equal(result, $"https://api.twitter.com/1.1/account/verify_credentials.json?skip_status=true&include_entities=true&include_email=true&hello=world"); }
public async Task GetAuthenticatedUser_ReturnsUserDTOAsync() { // Arrange var queryExecutor = CreateUserQueryExecutor(); var url = TestHelper.GenerateString(); var parameters = new GetAuthenticatedUserParameters(); var request = A.Fake <ITwitterRequest>(); var expectedResult = A.Fake <ITwitterResult <IUserDTO> >(); request.ExecutionContext.TweetMode = TweetMode.Extended; A.CallTo(() => _fakeUserQueryGenerator.GetAuthenticatedUserQuery(parameters)).Returns(url); A.CallTo(() => _fakeTwitterAccessor.ExecuteRequestAsync <IUserDTO>(request)).Returns(expectedResult); // Act var result = await queryExecutor.GetAuthenticatedUserAsync(parameters, request); // Assert Assert.Equal(result, expectedResult); Assert.Equal(request.Query.Url, url); Assert.Equal(HttpMethod.GET, request.Query.HttpMethod); }