public void ReturnCorrectResult_IsHasNowMoreNewsToShow() { // Arrange var mockedCollection = new List <NewsModel> { new NewsModel { Title = "Test" } }; var mockedNewsService = new Mock <INewsService>(); mockedNewsService.Setup(s => s.GetNews(It.IsAny <int>(), It.IsAny <int>())).Returns(mockedCollection).Verifiable(); mockedNewsService.Setup(s => s.GetNewsCount()).Returns(mockedCollection.Count); var hub = new NewsHub(mockedNewsService.Object); var mockClients = new Mock <IHubCallerConnectionContext <dynamic> >(); hub.Clients = mockClients.Object; var loadNewsCalled = false; IEnumerable <NewsModel> sendedNews = Enumerable.Empty <NewsModel>(); bool hasMoreSended = false; int nextPageSended = 0; dynamic caller = new ExpandoObject(); caller.loadNews = new Action <IEnumerable <NewsModel>, bool, int>((news, hasMore, nextPage) => { loadNewsCalled = true; sendedNews = news; hasMoreSended = hasMore; nextPageSended = nextPage; }); mockClients.Setup(m => m.Caller).Returns((ExpandoObject)caller); // Act hub.GetNews(It.IsAny <int>()); // Assert Assert.IsTrue(loadNewsCalled); Assert.IsFalse(hasMoreSended); Assert.IsTrue(nextPageSended == 0); Assert.AreEqual(sendedNews, mockedCollection); }
public NewsController(NewsService newsService, NewsHub newsHub) { this.newsService = newsService; this.newsHub = newsHub; }