public void List_All_Items_Should_Work_Correctly()
        {
            var mockRepo = new Mock<IRepository<NewsRecord>>();
            var news = new List<NewsRecord>()
            {
                new NewsRecord()
                {
                    Title = "HopHop1",
                    Content = "The hoppy hop",
                    PublishDate = DateTime.Now
                },
                new NewsRecord()
                {
                    Title = "HopHop2",
                    Content = "The hoppy hop2",
                    PublishDate = DateTime.Now.AddDays(+5)
                },
                new NewsRecord()
                {
                    Title = "HopHop3",
                    Content = "The hoppy hop3",
                    PublishDate = DateTime.Now.AddDays(+10)
                }

            };

            mockRepo.Setup(r => r.GetAll()).Returns(news.AsQueryable());

            var controller = new NewsController(mockRepo.Object);
            this.SetupController(controller, "NewsController");

            var response = controller.GetAll().ExecuteAsync(new CancellationToken()).Result;

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);

            var content = response.Content.ReadAsStringAsync().Result;
            var resultNews = JsonConvert.DeserializeObject<List<NewsRecord>>(content);

            for (int i = 0; i < resultNews.Count; i++)
            {
                Assert.AreEqual(news[i].Id, resultNews[i].Id);
                Assert.AreEqual(news[i].Title, resultNews[i].Title);
                Assert.AreEqual(news[i].Content, resultNews[i].Content);
                Assert.AreEqual(news[i].PublishDate, resultNews[i].PublishDate);
            }
        }
        public void TestListAll()
        {
            var controller = new NewsController(repoMock.Object);
            SetupController(controller, "News");

            var news = new[]
            {
                new News { Title = "Zaglavie", Content = "dadadada" },
                new News { Title = "Asdjoqwe", Content = "asodojk" }
            };

            repoMock.Setup(repo => repo.All()).Returns(news.AsQueryable());

            var result = controller.GetAll().ExecuteAsync(new CancellationToken()).Result;
            Assert.AreEqual(HttpStatusCode.OK, result.StatusCode);

            var returnedNews = result.Content.ReadAsAsync<List<News>>().Result;
            Assert.AreEqual(2, returnedNews.Count);
            CollectionAssert.AreEquivalent(news, returnedNews);
        }