public void ReadCategoriesShouldReturnProperNumberOfCategories()
        {
            var list = new List<Category>();
            list.Add(new Category() { Id = 1, Name = "test", Catalogue = new Catalogue() { Name = "Test Catalogue"} });
            list.Add(new Category() { Id = 2, Name = "test2", Catalogue = new Catalogue() { Name = "Test Catalogue2" } });

            var uowDataMock = new Mock<IUowData>();
            uowDataMock.Setup(x => x.Categories.All()).Returns(list.AsQueryable());
            var torrentRepoMock = uowDataMock.Object.Torrents;
            var controller = new CategoriesAdministrationController(uowDataMock.Object);
            var viewResult = controller.ReadCategories(new DataSourceRequest()) as JsonResult;
            Assert.IsNotNull(viewResult, "ReadCategories action returns null.");
            var data = viewResult.Data as DataSourceResult;
            var model = data.Data as IEnumerable<CategoryViewModel>;
            Assert.IsNotNull(model, "The model is null.");
            Assert.AreEqual(2, model.Count());
        }
        public void ReadCategoriesWithEmptyDBShouldReturnEmptyList()
        {
            var list = new List<Category>();

            var uowDataMock = new Mock<IUowData>();
            uowDataMock.Setup(x => x.Categories.All()).Returns(list.AsQueryable());
            var torrentRepoMock = uowDataMock.Object.Torrents;
            var controller = new CategoriesAdministrationController(uowDataMock.Object);
            var viewResult = controller.ReadCategories(new DataSourceRequest()) as JsonResult;
            Assert.IsNotNull(viewResult, "ReadCategories action returns null.");
            var data = viewResult.Data as DataSourceResult;
            var model = data.Data as IEnumerable<CategoryViewModel>;
            Assert.IsNotNull(model, "The model is null.");
            Assert.AreEqual(0, model.Count());
        }