Ejemplo n.º 1
0
        public async Task VisibleControllerFilter()
        {
            var data = new VisibleApiDataHandler();
            var list = new List <VisibleDisplay> {
                VisibleData.GetFirstDisplay()
            };
            var filter = new VisibleFilter {
                TenantRestrict = true
            };

            data.Result.Setup(m => m.Execute(It.IsAny <VisibleDisplayByFilter>())).Returns(list);

            var controller = new VisibleController(data, Cloud, Logic)
            {
                CurrentUser = StandardUser
            };
            var result = await controller.Filter(filter) as OkObjectResult;

            result.Should().NotBeNull();
            result.Should().BeOfType <OkObjectResult>();
            result.Value.Should().NotBeNull();

            var check = result.Value as PagedResult <IEnumerable <VisibleDisplay> >;

            check.Should().NotBeNull();
            check.Data.Count().Should().Be(list.Count);

            Assert.That(check.Data, Is.DeepEqualTo(list));

            data.HasExecuted.Should().BeTrue();
            data.Result.Verify(s => s.Execute(It.IsAny <VisibleDisplayByFilter>()), Times.Once());
        }
Ejemplo n.º 2
0
        public async Task VisibleControllerFilterUnauthorized()
        {
            var data   = new VisibleApiDataHandler();
            var filter = new VisibleFilter {
                TenantRestrict = false
            };

            data.Result.Setup(m => m.Execute(It.IsAny <VisibleDisplayByFilter>())).Returns(new List <VisibleDisplay>());

            var controller = new VisibleController(data, Cloud, Logic)
            {
                CurrentUser = NonTenantUser
            };
            var result = await controller.Filter(filter) as OkObjectResult;

            result.Should().NotBeNull();
            result.Should().BeOfType <OkObjectResult>();

            var check = result.Value as PagedResult <IEnumerable <VisibleDisplay> >;

            check.Data.Count().Should().Be(0);

            data.HasExecuted.Should().BeTrue();
            data.Result.Verify(s => s.Execute(It.IsAny <VisibleDisplayByFilter>()), Times.Once());
        }
Ejemplo n.º 3
0
        public VisibleFilterEntry(VisibleFilter filter, string description)
        {
            if (filter == null)
            {
                throw new ArgumentNullException("filter");
            }
            if (description == null)
            {
                throw new ArgumentNullException("description");
            }

            Filter      = filter;
            Description = description;
        }
Ejemplo n.º 4
0
        public async Task VisibleDisplayByFilterDataTestVideo()
        {
            var filter = new VisibleFilter {
                VideoRestrict = true, Take = 10
            };

            using var store   = GetDocumentStore();
            using var session = store.OpenAsyncSession();
            var query = new VisibleDisplayByFilter {
                Session = session, Filter = filter, CurrentUser = StandardUser
            };
            await query.Execute();

            query.Result.Should().NotBeNull();
            query.Result.Count().Should().Be(0);
        }
Ejemplo n.º 5
0
        public async Task VisibleDisplayByFilterDataTestImage()
        {
            var filter = new VisibleFilter {
                ImageRestrict = true, Take = 10
            };

            using var store   = GetDocumentStore();
            using var session = store.OpenAsyncSession();
            var query = new VisibleDisplayByFilter {
                Session = session, Filter = filter, CurrentUser = StandardUser
            };
            await query.Execute();

            query.Result.Should().NotBeNull();
            query.Result.Count().Should().Be(1);
            Assert.That(query.Result.First(), Is.DeepEqualTo(VisibleData.GetFirstDisplay()));
        }
Ejemplo n.º 6
0
        public async Task VisibleDisplayByFilterDataTestAuthor()
        {
            var filter = new VisibleFilter {
                AuthorKeys = new List <string> {
                    UserData.FirstId
                }, Take = 10
            };

            using var store   = GetDocumentStore();
            using var session = store.OpenAsyncSession();
            var query = new VisibleDisplayByFilter {
                Session = session, Filter = filter, CurrentUser = StandardUser
            };
            await query.Execute();

            query.Result.Should().NotBeNull();
            query.Result.Count().Should().Be(1);
        }
Ejemplo n.º 7
0
        public void Test_VisibleFilter_Filters()
        {
            var visible = new Article {
                Visible = true, Id = 1
            };
            var invisible = new Article {
                Visible = false, Id = 2
            };

            var filter = new VisibleFilter();

            Assert.IsTrue(filter.Matches(visible));
            Assert.IsFalse(filter.Matches(invisible));

            var filtered = filter.FilterArticles(visible, invisible);

            Assert.AreEqual(1, filtered.Length);
            Assert.AreEqual(1, filtered[0].Id);
        }
Ejemplo n.º 8
0
        public async Task <IActionResult> Filter([FromBody] VisibleFilter viewModel)
        {
            if (!viewModel.TenantRestrict && !CurrentUser.Right.CanSuperuser)
            {
                viewModel.TenantRestrict = true;
            }

            if (!CurrentUser.Right.CanAdmin && !CurrentUser.Right.CanSuperuser)
            {
                viewModel.AuthorKeys.Add(CurrentUser.Id);
            }

            var query = new VisibleDisplayByFilter {
                Filter = viewModel, CurrentUser = CurrentUser
            };
            await DataHandler.Execute(query);

            return(Ok(new PagedResult <IEnumerable <VisibleDisplay> >
            {
                Data = Secure(query.Result), Paging = query.Paging, Success = true
            }));
        }