Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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");
        }
Ejemplo n.º 3
0
        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);
        }