Example #1
0
        public void Visible_Should_Throw_ArgumentNullException_If_Categories_Is_Null()
        {
            IQueryable<Category> categories = null;

            var ex = Assert.Throws<ArgumentNullException>(() => CategoryExtensions.Visible(categories));
            Assert.Equal(nameof(categories), ex.ParamName);
        }
Example #2
0
        public void Visible_Should_Return_Only_Categories_Where_Today_Date_Is_Between_VisibleFrom_And_VisibleTo()
        {
            var c1 = Category.Create("c1", "c1", "c1");
            var c2 = Category.Create("c2", "c2", "c2");
            var c3 = Category.Create("c3", "c3", "c3");

            var today = DateTime.Today;

            c1.SetAsVisible();
            c2.SetAsVisible(today, today.AddDays(2));

            IQueryable<Category> categories = new Category[]
            {
                c1, c2, c3
            }.AsQueryable();

            var visibleCategories = CategoryExtensions.Visible(categories);

            var now = DateTime.Now;

            Assert.Equal(2, visibleCategories.Count());
            Assert.True(visibleCategories.All(c => c.IsVisible && c.VisibleFrom <= now && (!c.VisibleTo.HasValue || c.VisibleTo >= now)));
        }