public void CreateShouldCallRepositoryTest() { StatusesRepositorySpy spy_repository = new StatusesRepositorySpy(); CredentialsCheckerSpy_AlwaysPass spy_checker = new CredentialsCheckerSpy_AlwaysPass(); StatusesController target = new StatusesController(spy_repository, spy_checker); CreateTwitData arg = new CreateTwitData() { Content = "Twit content" }; spy_repository.CreateTweetResult = new Tweet() { Content = arg.Content, DateAndTime = DateTime.Now, Id = 20, UserId = 1 }; var config = new HttpConfiguration(); var request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/api/1.0/statuses/create"); var route = config.Routes.MapHttpRoute("TestApi", "api/1.0/{controller}/{action}"); var routeData = new HttpRouteData(route, new HttpRouteValueDictionary { { "controller", "statuses" }, { "action", "create" } }); target.ControllerContext = new HttpControllerContext(config, routeData, request); target.Request = request; target.Request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config; var actual = target.Create(arg); Assert.AreEqual(arg.Content,spy_repository.CreateTweetContent); Assert.AreEqual(1, spy_repository.CreateTweetUserId); Assert.AreNotEqual(new DateTime(), spy_repository.CreateTweetDateTime); }
public void SingleShouldReturnTwitTest() { StatusesRepositorySpy spy_repository = new StatusesRepositorySpy(); CredentialsCheckerSpy_AlwaysPass spy_checker = new CredentialsCheckerSpy_AlwaysPass(); StatusesController target = new StatusesController(spy_repository, spy_checker); spy_repository.GetSingleTweetResult = new Tweet() { Content = "Content 1", DateAndTime = new DateTime(2012, 10, 20), Id = 10, UserId = 1 }; var config = new HttpConfiguration(); var request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/api/1.0/statuses/Single"); var route = config.Routes.MapHttpRoute("TestApi", "api/1.0/{controller}/{action}"); var routeData = new HttpRouteData(route, new HttpRouteValueDictionary { { "controller", "statuses" }, { "action", "Single" } }); target.ControllerContext = new HttpControllerContext(config, routeData, request); target.Request = request; target.Request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config; var actual = target.Single(10); Assert.IsNotNull(actual); Assert.AreSame(spy_repository.GetSingleTweetResult, actual); }
public void MyTimelineShouldCallRepositoryTest() { StatusesRepositorySpy spy_repository = new StatusesRepositorySpy(); CredentialsCheckerSpy_AlwaysPass spy_checker = new CredentialsCheckerSpy_AlwaysPass(); StatusesController target = new StatusesController(spy_repository, spy_checker); spy_repository.GetAllUserTweetsResult = new List<Tweet>(); spy_repository.GetAllUserTweetsResult.Add(new Tweet() { Content = "Content 1", DateAndTime = new DateTime(2012, 10, 20), Id = 10, UserId = 1 }); spy_repository.GetAllUserTweetsResult.Add(new Tweet() { Content = "Content 2", DateAndTime = new DateTime(2012, 10, 21), Id = 11, UserId = 1 }); var config = new HttpConfiguration(); var request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/api/1.0/statuses/MyTimeline"); var route = config.Routes.MapHttpRoute("TestApi", "api/1.0/{controller}/{action}"); var routeData = new HttpRouteData(route, new HttpRouteValueDictionary { { "controller", "statuses" }, { "action", "MyTimeline" } }); target.ControllerContext = new HttpControllerContext(config, routeData, request); target.Request = request; target.Request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config; var actual = target.MyTimeline(); Assert.AreEqual(1, spy_repository.GetAllUserTweetsUserId); }