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); }
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); }
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))); }