public async Task ApplyWhereClause_EmptyFilter_ReturnsNull()
        {
            var mockManager = new QueryMockManager();

            var mapperMock       = mockManager.ConfigureMapperMock <Image, ImageDto, ImageFilterDto>();
            var queryMock        = mockManager.ConfigureQueryMock <Image>();
            var imageQueryObject = new ImageQueryObject(mapperMock.Object, queryMock.Object);

            var filter = new ImageFilterDto();
            var temp   = await imageQueryObject.ExecuteQuery(filter);

            Assert.AreEqual(null, mockManager.CapturedPredicate);
        }
示例#2
0
        public async Task <ImageDto[]> GetList(ImageFilterDto filter)
        {
            _logger.LogDebug($"Calling getList image");

            IQueryable <Image> query = _dbCtx.Images;

            if (filter.Id != Guid.Empty)
            {
                query = query.Where(x => x.Id == filter.Id);
            }

            var result = await query.ToArrayAsync();

            return(result.Select(x => x.ToDto()).ToArray());
        }
        public async Task ApplyWhereClause_FilterByUserId_ReturnsCorrectPredicate()
        {
            Guid filteredPostId    = Guid.NewGuid();
            var  mockManager       = new QueryMockManager();
            var  expectedPredicate =
                new SimplePredicate(nameof(Image.PostId), ValueComparingOperator.Equal, filteredPostId);
            var mapperMock       = mockManager.ConfigureMapperMock <Image, ImageDto, ImageFilterDto>();
            var queryMock        = mockManager.ConfigureQueryMock <Image>();
            var imageQueryObject = new ImageQueryObject(mapperMock.Object, queryMock.Object);

            var filter = new ImageFilterDto {
                PostId = filteredPostId
            };
            var temp = await imageQueryObject.ExecuteQuery(filter);

            Assert.AreEqual(expectedPredicate, mockManager.CapturedPredicate);
        }
示例#4
0
        public async Task <ActionResult <ImageDto[]> > GetListFiltered([FromBody] ImageFilterDto filter)
        {
            var res = await _service.GetList(filter);

            return(res);
        }
 protected override IQuery <Image> ApplyWhereClause(IQuery <Image> query, ImageFilterDto filter)
 {
     return(filter.PostId == Guid.Empty
         ? query
         : query.Where(new SimplePredicate(nameof(Image.PostId), ValueComparingOperator.Equal, filter.PostId)));
 }