public void TestDetailsNull() { var tweetsController = new TweetsController(); var result = (HttpStatusCodeResult)tweetsController.Details(null); Assert.AreEqual(400, result.StatusCode); }
public void TweetsController_Get_ReturnsTweets() { var testController = new TweetsController(); var result = testController.Get(); Assert.Equal(result.Count(), 10); }
public void TestCleanup() { this.helper.Users.Clear(); this.helper.HashTags.Clear(); this.helper.Tweets.Clear(); this.uowData = null; this.controllerContext = null; this.controller = null; }
public void WhenReturnNoTweets() { //Arrange TweetsController controller = new TweetsController(); // Act var result = controller.TimelineAsync().Result as ViewResult; // Assert Assert.IsNull(result); }
public void TestInitialize() { this.helper = new TestHelpers(); this.uowData = this.helper.GetUnitOfWork(); this.controllerContext = this.helper.GetControllerContext(); var routes = new RouteCollection(); Twitter.Application.RouteConfig.RegisterRoutes(routes); var helper = new UrlHelper(new RequestContext(MvcMockHelpers.FakeHttpContext(), new RouteData()), routes); this.controller = new TweetsController(this.uowData.Object); this.controller.Url = helper; this.controller.ControllerContext = controllerContext.Object; }
public void GetTweetsBadRequestObjectResult() { // Arrange var configurationMoq = new Mock <IConfiguration>(); var tweetServiceMoq = new Mock <ITweetsService>(); tweetServiceMoq.Setup(x => x.GetTweets("https://test.com", default(DateTime), default(DateTime))) .Returns(It.IsAny <Task <List <Tweet> > >()); var controller = new TweetsController(configurationMoq.Object, tweetServiceMoq.Object); // Act var result = controller.GetTweets(default(DateTime), default(DateTime)); // Assert Assert.IsType <BadRequestObjectResult>(result.Result); }
public void WhenReturnAllTweets() { //Arrange TweetsController controller = new TweetsController(); controller.TempData = new TempDataDictionary(); controller.TempData = TestHelper.AuthorizeApplication(); // Act var result = controller.TimelineAsync().Result as ViewResult; var model = (List <TweetViewModel>)(result.Model); // Assert Assert.IsNotNull(result); Assert.AreEqual(10, model.Count); }
public void TestDeletePrepareTweet() { var tweet = new Tweet { TweetId = 4, Title = "Title", Description = "ansmdkesndh", }; var context = new Mock <ITweetContex>(); context.Setup(a => a.FindTweetById(4)).Returns(tweet); var tweetsController = new TweetsController(context.Object); var result = (ViewResult)tweetsController.Delete(4); Assert.AreEqual("Delete", result.ViewName); }
public void TestEditTweet() { var context = new FakeContext { Tweets = new[] { new Tweet { TweetId = 1, Title = "Title", Description = "ansmdkesndh" } }.AsQueryable() }; var tweetsController = new TweetsController(context); var result = tweetsController.Edit(2); Assert.AreEqual(typeof(HttpNotFoundResult), result.GetType()); }
public void TestDeleteConfirmTweet() { var context = new FakeContext { Tweets = new[] { new Tweet { TweetId = 1, Title = "Title", Description = "ansmdkesndh", } }.AsQueryable() }; var tweetsController = new TweetsController(context); var result = (RedirectToRouteResult)tweetsController.DeleteConfirmed(1); Assert.AreEqual("Index", result.RouteValues["Action"]); }
public void TestDeletePrepareTweet() { var context = new FakeContext { Tweets = new[] { new Tweet { TweetId = 1, Title = "Title", Description = "ansmdkesndh", } }.AsQueryable() }; var tweetsController = new TweetsController(context); var result = (ViewResult)tweetsController.Delete(1); Assert.AreEqual("Delete", result.ViewName); }
public void TestEditView() { var tweet = new Tweet { TweetId = 4, Title = "Title", Description = "ansmdkesndh", }; var context = new Mock <ITweetContex>(); context.Setup(a => a.FindTweetById(4)).Returns(tweet); var controller = new TweetsController(context.Object); var result = controller.Edit(4) as ViewResult; var data = (Tweet)result.Model; Assert.IsTrue("Edit" == result.ViewName && "Title" == data.Title); }
public void GetTweetsOkObjectResult() { // Arrange var startDate = DateTime.UtcNow.AddDays(-1); var endDate = DateTime.UtcNow; var configurationMoq = new Mock <IConfiguration>(); var tweetServiceMoq = new Mock <ITweetsService>(); tweetServiceMoq.Setup(x => x.GetTweets("https://test.com", startDate, endDate)) .Returns(It.IsAny <Task <List <Tweet> > >()); var controller = new TweetsController(configurationMoq.Object, tweetServiceMoq.Object); // Act var result = controller.GetTweets(startDate, endDate); // Assert Assert.IsType <OkObjectResult>(result.Result); }
public void GetAllTweets_ReturnOK() { // Arrange var allTweets = new[] { new TweetViewModel { Id = 111, Text = "fake1" }, new TweetViewModel { Id = 112, Text = "fake2" }, }; var controller = new TweetsController(); // Act var result = controller.GetAll(); // Assert Assert.Equals(allTweets, result); }
public async Task GetTweetArchive_ReturnsNotFoundResult_WhenRepoReturnsNull() { // Arrange var mockRepo = new Mock <ITweetDayRepository>(); mockRepo.Setup(repo => repo.GetTweetArchiveAsync(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <DateTime>())) .Returns(Task.FromResult <QueryResult <TweetDay> >(null)); var controller = new TweetsController(mockRepo.Object, _cache, _logger.Object, _systemClock.Object, _mapper); // Act var result = await controller.GetTweetArchiveAsync(1, 1); // Assert Assert.IsType <ObjectResult>(result); var objectResult = result as ObjectResult; Assert.Equal(StatusCodes.Status500InternalServerError, objectResult.StatusCode); Assert.Equal($"tweets repository returned null", objectResult.Value); }
public async Task GetTweetArchive_ReturnsBadRequestResult_WhenExceptionIsRaised() { // Arrange var mockRepo = new Mock <ITweetDayRepository>(); mockRepo.Setup(repo => repo.GetTweetArchiveAsync(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <DateTime>())) .ThrowsAsync(new InvalidOperationException()); var controller = new TweetsController(mockRepo.Object, _cache, _logger.Object, _systemClock.Object, _mapper); // Act var result = await controller.GetTweetArchiveAsync(1, 1); // Assert Assert.IsType <ObjectResult>(result); var objectResult = result as ObjectResult; Assert.Equal(StatusCodes.Status500InternalServerError, objectResult.StatusCode); Assert.Equal("an unexpected error occurred", objectResult.Value); }
public async Task GetTweetArchiveAsync_ReturnsOkObjectResult_WithObject() { // Arrange var mockRepo = new Mock <ITweetDayRepository>(); mockRepo.Setup(repo => repo.GetTweetArchiveAsync(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <DateTime>())) .ReturnsAsync(GetQueryResult(30)); var controller = new TweetsController(mockRepo.Object, _cache, _logger.Object, _systemClock.Object, _mapper); // Act var result = await controller.GetTweetArchiveAsync(1, 25); // Assert var objectResult = result as ObjectResult; Assert.NotNull(objectResult); Assert.True(objectResult is OkObjectResult); Assert.Equal(StatusCodes.Status200OK, objectResult.StatusCode); var actual = Assert.IsType <TweetArchiveDto>(objectResult.Value); }
public async Task Get_ReturnsOkObjectResult_WithViewModel() { // Arrange var mockRepo = new Mock <ITweetDayRepository>(); mockRepo.Setup(repo => repo.GetTweetOfTheDayAsync(It.IsAny <DateTime>())) .ReturnsAsync(GetTestTweetDay()); var controller = new TweetsController(mockRepo.Object, _cache, _logger.Object, _systemClock.Object, _mapper); // Act var result = await controller.GetTweetDayAsync(); // Assert var objectResult = result as ObjectResult; Assert.NotNull(objectResult); Assert.True(objectResult is OkObjectResult); Assert.Equal(StatusCodes.Status200OK, objectResult.StatusCode); Assert.IsType <TweetDayViewModel>(objectResult.Value); }
public void GetTweets_check_isDuplicate_Tweets_remove() { // Arrange TweetService tweetService = new TweetService(); TweetsController controller = new TweetsController(tweetService); TweetModel viewModel = new TweetModel() { EndDate = "2016-01-20T04:07:56.271Z", StartDate = "2017-01-20T04:07:56.271Z", TweetsData = Enumerable.Empty <TweetsData>() }; // Act //var viewresult = tweetService.GetTweetsAsync(viewModel).Result; var testResult = controller.ViewTweets(viewModel).Result; viewModel = (TweetModel)((ViewResult)testResult).Model; // Assert Assert.IsTrue(viewModel.TweetsData.Count() < 100, $"Duplicate records removed"); }
public void InitTweet(TweetsFeedView2 feedView, TweetsController tweetsController, AgeController ageController, QuestController questController, Tweet tweet, bool isRoot = true) { _feedView = feedView; _tweetsController = tweetsController; _ageController = ageController; _questController = questController; Tweet = tweet; _questController.OnSenderAvatarChanged += OnSenderAvatarChanged; _questController.OnTweetImageChanged += OnTweetImageChanged; Tweet.OnMessageChanged += OnTweetMessageChanged; var senderInfo = _senderCollection.GetSenderInfo(Tweet.SenderId); Avatar.sprite = senderInfo.OverrideAvatar ? senderInfo.OverrideAvatar : senderInfo.Avatar; InitSender(senderInfo.DisplayName); MessageText.text = Tweet.Message; CommentsText.text = Tweet.CommentsCount.ToString(); UpdateLikesCount(Tweet.LikesCount); UpdateRetweetsCount(Tweet.RetweetsCount); AgeRestrictionRoot.SetActive(false); if (Tweet.ImageId == -1) { TweetImageRoot.SetActive(false); } else { TweetImageRoot.SetActive(true); TweetImage.sprite = _tweetSpritesCollection.GetTweetSprite(Tweet.Id, Tweet.ImageId); if (_tweetSpritesCollection.IsAgeRestricted(Tweet.Id, Tweet.ImageId)) { AgeRestrictionRoot.SetActive(!_ageController.IsAdult); _ageController.OnIsAdultChanged += OnIsAdultChanged; } } LayoutGroup.padding.left = isRoot ? 0 : 100; RightAreaTransform.sizeDelta = new Vector2(isRoot ? 490 : 390, RightAreaTransform.sizeDelta.y); CommentButton.gameObject.SetActive(isRoot); if (tweet.Type == TweetType.Temporary) { StartCoroutine(TempDisappearCoro()); } else { if (isRoot) { Tweet.OnCommentsCountChanged += OnCommentsCountChanged; } Tweet.OnLikesCountChanged += UpdateLikesCount; Tweet.OnRetweetsCountChanged += UpdateRetweetsCount; Tweet.OnPlayerLikeChanged += OnPlayerLikeChanged; Tweet.OnPlayerRetweetChanged += OnPlayerRetweetChanged; OnPlayerLikeChanged(Tweet.PlayerLike); OnPlayerRetweetChanged(Tweet.PlayerRetweet); } }
public TweetsControllerFixture() { //Mock DbSet<adverts> var tweets = new List <Tweet>() { new Tweet { Id = "twt1", Text = "Tweet 1", SentimentScore = (float)0.05, FavoriteCount = 11, RetweetCount = 2, NamedEntities = null, Timestamp = DateTime.Now, Urls = null, UserId = "usr1" }, new Tweet { Id = "twt2", Text = "Tweet 2", SentimentScore = (float)-0.4, FavoriteCount = 10, RetweetCount = 0, NamedEntities = null, Timestamp = DateTime.Now, Urls = null, UserId = "usr1" }, new Tweet { Id = "twt3", Text = "Tweet 3", SentimentScore = (float)0.55, FavoriteCount = 2, RetweetCount = 0, NamedEntities = null, Timestamp = DateTime.Now, Urls = null, UserId = "usr2" }, new Tweet { Id = "twt4", Text = "Tweet 4", SentimentScore = (float)0.95, FavoriteCount = 7, RetweetCount = 1, NamedEntities = null, Timestamp = DateTime.Now, Urls = null, UserId = "usr3" }, new Tweet { Id = "twt5", Text = "Tweet 5", SentimentScore = (float)-0.35, FavoriteCount = 3, RetweetCount = 0, NamedEntities = null, Timestamp = DateTime.Now, Urls = null, UserId = "usr2" }, new Tweet { Id = "twt6", Text = "Tweet 6", SentimentScore = (float)-0.95, FavoriteCount = 6, RetweetCount = 2, NamedEntities = null, Timestamp = DateTime.Now, Urls = null, UserId = "usr1" }, new Tweet { Id = "twt7", Text = "Tweet 7", SentimentScore = (float)0.25, FavoriteCount = 5, RetweetCount = 1, NamedEntities = null, Timestamp = DateTime.Now, Urls = null, UserId = "usr1" }, new Tweet { Id = "twt8", Text = "Tweet 8", SentimentScore = (float)0.05, FavoriteCount = 0, RetweetCount = 1, NamedEntities = null, Timestamp = DateTime.Now, Urls = null, UserId = "usr1" }, new Tweet { Id = "twt9", Text = "Tweet 9", SentimentScore = (float)-0.05, FavoriteCount = 0, RetweetCount = 0, NamedEntities = null, Timestamp = DateTime.Now, Urls = null, UserId = "usr1" } }.AsQueryable(); //Mock DbSet<UrlTweet> var urls = new List <UrlTweet>() { new UrlTweet() { Tweet = tweets.Where(t => t.Id.Equals("twt1")).FirstOrDefault(), TweetId = "twt1", Url = "http://example.com/url1" }, new UrlTweet() { Tweet = tweets.Where(t => t.Id.Equals("twt2")).FirstOrDefault(), TweetId = "twt2", Url = "http://example.com/url1" }, new UrlTweet() { Tweet = tweets.Where(t => t.Id.Equals("twt3")).FirstOrDefault(), TweetId = "twt3", Url = "http://example.com/url1" }, new UrlTweet() { Tweet = tweets.Where(t => t.Id.Equals("twt4")).FirstOrDefault(), TweetId = "twt4", Url = "http://example.com/url2" }, new UrlTweet() { Tweet = tweets.Where(t => t.Id.Equals("twt5")).FirstOrDefault(), TweetId = "twt5", Url = "http://example.com/url2" }, new UrlTweet() { Tweet = tweets.Where(t => t.Id.Equals("twt6")).FirstOrDefault(), TweetId = "twt6", Url = "http://example.com/url3" }, new UrlTweet() { Tweet = tweets.Where(t => t.Id.Equals("twt7")).FirstOrDefault(), TweetId = "twt7", Url = "http://example.com/url3" }, new UrlTweet() { Tweet = tweets.Where(t => t.Id.Equals("twt8")).FirstOrDefault(), TweetId = "twt8", Url = "http://example.com/url4" } }.AsQueryable(); var indexedUrls = new List <UrlTweetIndex>() { new UrlTweetIndex() { Tweet = tweets.Where(t => t.Id.Equals("twt1")).FirstOrDefault(), TweetId = "twt1", Url = "http://example.com/url1" }, new UrlTweetIndex() { Tweet = tweets.Where(t => t.Id.Equals("twt2")).FirstOrDefault(), TweetId = "twt2", Url = "http://example.com/url1" }, new UrlTweetIndex() { Tweet = tweets.Where(t => t.Id.Equals("twt4")).FirstOrDefault(), TweetId = "twt4", Url = "http://example.com/url2" }, new UrlTweetIndex() { Tweet = tweets.Where(t => t.Id.Equals("twt5")).FirstOrDefault(), TweetId = "twt5", Url = "http://example.com/url2" }, new UrlTweetIndex() { Tweet = tweets.Where(t => t.Id.Equals("twt9")).FirstOrDefault(), TweetId = "twt9", Url = "http://example.com/url5" } }.AsQueryable(); Mock <DbSet <Tweet> > mockTweets = new Mock <DbSet <Tweet> >(); mockTweets.As <IQueryable <Tweet> >().Setup(m => m.Provider).Returns(tweets.Provider); mockTweets.As <IQueryable <Tweet> >().Setup(m => m.Expression).Returns(tweets.Expression); mockTweets.As <IQueryable <Tweet> >().Setup(m => m.ElementType).Returns(tweets.ElementType); mockTweets.As <IQueryable <Tweet> >().Setup(m => m.GetEnumerator()).Returns(tweets.GetEnumerator()); Mock <DbSet <UrlTweet> > mockUrls = new Mock <DbSet <UrlTweet> >(); mockUrls.As <IQueryable <UrlTweet> >().Setup(m => m.Provider).Returns(urls.Provider); mockUrls.As <IQueryable <UrlTweet> >().Setup(m => m.Expression).Returns(urls.Expression); mockUrls.As <IQueryable <UrlTweet> >().Setup(m => m.ElementType).Returns(urls.ElementType); mockUrls.As <IQueryable <UrlTweet> >().Setup(m => m.GetEnumerator()).Returns(urls.GetEnumerator()); Mock <DbSet <UrlTweetIndex> > mockIndexedUrls = new Mock <DbSet <UrlTweetIndex> >(); mockIndexedUrls.As <IQueryable <UrlTweetIndex> >().Setup(m => m.Provider).Returns(indexedUrls.Provider); mockIndexedUrls.As <IQueryable <UrlTweetIndex> >().Setup(m => m.Expression).Returns(indexedUrls.Expression); mockIndexedUrls.As <IQueryable <UrlTweetIndex> >().Setup(m => m.ElementType).Returns(indexedUrls.ElementType); mockIndexedUrls.As <IQueryable <UrlTweetIndex> >().Setup(m => m.GetEnumerator()).Returns(indexedUrls.GetEnumerator()); //Mock tweet repository MockRepo = new Mock <ITweetRepository>(); MockRepo.Setup(m => m.Tweets).Returns(mockTweets.Object); MockRepo.Setup(m => m.Urls).Returns(mockUrls.Object); MockRepo.Setup(m => m.IndexedUrls).Returns(mockIndexedUrls.Object); //Mock pagingoptions Mock <PagingOptions> mockPagingOpts = new Mock <PagingOptions>(); mockPagingOpts.SetupGet(po => po.PageSize).Returns(3); Mock <IOptions <PagingOptions> > mockIOptions = new Mock <IOptions <PagingOptions> >(); mockIOptions.Setup(m => m.Value).Returns(mockPagingOpts.Object); //Create controller Controller = new TweetsController(mockIOptions.Object, MockRepo.Object); }
public void InitTest() { _tweetStatisticsService = new Mock <ITweetStatisticsService>(); _logger = new Mock <ILogger <TweetsController> >(); _tweetStatisticsController = new TweetsController(_tweetStatisticsService.Object, _logger.Object); }
public void TweetsController_AppAuth_GeneratesBearerToken() { var testController = new TweetsController(); Assert.NotNull(testController.bearerToken); }