public void FilterById_FiltersByCurrentFilterId()
        {
            RoleView firstRole  = ObjectFactory.CreateRoleView(1);
            RoleView secondRole = ObjectFactory.CreateRoleView(2);

            IUnitOfWork unitOfWork = Substitute.For <IUnitOfWork>();

            datalist = new BaseDatalistProxy <Role, RoleView>(unitOfWork);
            IQueryable <RoleView> models = new[] { firstRole, secondRole }.AsQueryable();

            datalist.CurrentFilter.Id = firstRole.Id;

            IQueryable expected = models.Where(role => role.Id == firstRole.Id);
            IQueryable actual   = datalist.BaseFilterById(models);

            Assert.Equal(expected, actual);
        }
        public void FilterById_FromCurrentFilter()
        {
            TestingContext context = new TestingContext();
            Role           role    = ObjectFactory.CreateRole();

            context.Set <Role>().Add(role);
            context.SaveChanges();

            IUnitOfWork unitOfWork = new UnitOfWork(context);

            datalist = new BaseDatalistProxy <Role, RoleView>(unitOfWork);

            datalist.CurrentFilter.Id = role.Id;

            RoleView expected = unitOfWork.Select <Role>().To <RoleView>().Single();
            RoleView actual   = datalist.BaseFilterById(null).Single();

            Assert.Equal(expected.CreationDate, actual.CreationDate);
            Assert.Equal(expected.Title, actual.Title);
            Assert.Equal(expected.Id, actual.Id);
        }