Exemplo n.º 1
0
        public void FollowingTimelineShouldReturnTwitsTest()
        {
            StatusesRepositorySpy spy_repository = new StatusesRepositorySpy();
            CredentialsCheckerSpy_AlwaysPass spy_checker = new CredentialsCheckerSpy_AlwaysPass();
            StatusesController target = new StatusesController(spy_repository, spy_checker);
            spy_repository.GetAllTweetsOnUserSubscribedResult = new List<Tweet>();
            spy_repository.GetAllTweetsOnUserSubscribedResult.Add(new Tweet() { Content = "Content 1", DateAndTime = new DateTime(2012, 10, 20), Id = 10, UserId = 20 });
            spy_repository.GetAllTweetsOnUserSubscribedResult.Add(new Tweet() { Content = "Content 2", DateAndTime = new DateTime(2012, 10, 21), Id = 11, UserId = 21 });

            var config = new HttpConfiguration();
            var request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/api/1.0/statuses/FollowingTimeline");
            var route = config.Routes.MapHttpRoute("TestApi", "api/1.0/{controller}/{action}");
            var routeData = new HttpRouteData(route, new HttpRouteValueDictionary { { "controller", "statuses" }, { "action", "FollowingTimeline" } });
            target.ControllerContext = new HttpControllerContext(config, routeData, request);
            target.Request = request;
            target.Request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;

            var actual = target.FollowingTimeline();

            Assert.IsNotNull(actual);
            Assert.AreEqual(2, actual.Count);
            Assert.AreSame(spy_repository.GetAllTweetsOnUserSubscribedResult, actual);
        }