public async Task HandleAsync_Should_Return_CollectionOutputQuery_With_CityDistrictOutputQuery_When_Input_Is_Not_Null() { var cityDistrict = CityDistrict.Builder() .SetId(Guid.NewGuid()) .SetRowVersion(Array.Empty <byte>()) .SetName("Name") .SetPolishName("PolishName") .SetCityId(Guid.NewGuid()) .SetParentId(Guid.NewGuid()) .Build(); var cityDistrictsInputQuery = new GetCityDistrictsInputQuery(1, 100, "name:asc", cityDistrict.Name, cityDistrict.PolishName, cityDistrict.CityId, cityDistrict.ParentId, new List <Guid>()); var cityDistricts = new List <CityDistrict> { cityDistrict }; var cityDistrictOutputQueries = cityDistricts.Select(x => new CityDistrictOutputQuery(x.Id, x.RowVersion, x.Name, x.PolishName, x.CityId, x.ParentId, x.NameVariants)).ToList(); var collectionOutputQuery = new CollectionOutputQuery <CityDistrictOutputQuery>(cityDistricts.Count, cityDistrictOutputQueries); _cityDistrictRepositoryMock .Setup(x => x.FindAsync(It.IsAny <int?>(), It.IsAny <int?>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <Guid?>(), It.IsAny <Guid?>(), It.IsAny <IEnumerable <Guid> >())) .ReturnsAsync(cityDistricts); _cityDistrictRepositoryMock .Setup(x => x.CountAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <Guid?>(), It.IsAny <Guid?>(), It.IsAny <IEnumerable <Guid> >())) .ReturnsAsync(cityDistricts.Count); _mapperMock.Setup(x => x.Map <List <CityDistrict>, IEnumerable <CityDistrictOutputQuery> >(It.IsAny <List <CityDistrict> >())) .Returns(cityDistrictOutputQueries); var result = await _queryHandler.HandleAsync(cityDistrictsInputQuery); result.Should().BeEquivalentTo(collectionOutputQuery); }
public async Task GetCityDistrictsAsync_Should_Return_OkObjectResult_With_CollectionResponse_With_CityDistrictResponses() { var getCityDistrictsRequest = new GetCityDistrictsRequest { Page = 1, PageSize = 100, CityId = Guid.NewGuid(), Name = "Name", PolishName = "PolishName", Sort = "name:asc" }; var getCityDistrictsInputQuery = new GetCityDistrictsInputQuery(getCityDistrictsRequest.Page, getCityDistrictsRequest.PageSize, getCityDistrictsRequest.Sort, getCityDistrictsRequest.Name, getCityDistrictsRequest.PolishName, getCityDistrictsRequest.CityId, null, new List <Guid>()); var cityDistrictOutputQuery = new CityDistrictOutputQuery(Guid.NewGuid(), Array.Empty <byte>(), "Name", "PolishName", Guid.NewGuid(), Guid.NewGuid(), new List <string> { "NameVariant" }); var cityDistrictOutputQueries = new Collection <CityDistrictOutputQuery> { cityDistrictOutputQuery }; var collectionOutputQuery = new CollectionOutputQuery <CityDistrictOutputQuery>(cityDistrictOutputQueries.Count, cityDistrictOutputQueries); var cityDistrictResponses = cityDistrictOutputQueries.Select(x => new CityDistrictResponse(x.Id, x.RowVersion, x.Name, x.PolishName, x.CityId, x.ParentId, x.NameVariants)); var collectionResponse = new CollectionResponse <CityDistrictResponse>(cityDistrictOutputQueries.Count, cityDistrictResponses); _mapperMock.Setup(x => x.Map <GetCityDistrictsRequest, GetCityDistrictsInputQuery>(It.IsAny <GetCityDistrictsRequest>())) .Returns(getCityDistrictsInputQuery); _getCityDistrictsQueryHandlerMock .Setup(x => x.HandleAsync(It.IsAny <GetCityDistrictsInputQuery>(), It.IsAny <CancellationToken>())) .ReturnsAsync(collectionOutputQuery); _mapperMock .Setup(x => x.Map <CollectionOutputQuery <CityDistrictOutputQuery>, CollectionResponse <CityDistrictResponse> >( It.IsAny <CollectionOutputQuery <CityDistrictOutputQuery> >())) .Returns(collectionResponse); var result = await _controller.GetCityDistrictsAsync(getCityDistrictsRequest); var okResult = result.As <OkObjectResult>(); okResult.Value.Should().BeEquivalentTo(collectionResponse); }
public async Task <CollectionOutputQuery <CityDistrictOutputQuery> > HandleAsync(GetCityDistrictsInputQuery inputQuery, CancellationToken cancellationToken = default) { List <CityDistrict> cityDistricts; long totalCount; if (inputQuery != null) { cityDistricts = await _cityDistrictRepository.FindAsync(inputQuery.Page, inputQuery.PageSize, inputQuery.Sort, inputQuery.Name, inputQuery.PolishName, inputQuery.CityId, inputQuery.ParentId, inputQuery.CityIds); totalCount = await _cityDistrictRepository.CountAsync(inputQuery.Name, inputQuery.PolishName, inputQuery.CityId, inputQuery.ParentId, inputQuery.CityIds); } else { cityDistricts = await _cityDistrictRepository.GetAllAsync(); totalCount = await _cityDistrictRepository.CountAsync(); } var results = _mapper.Map <List <CityDistrict>, IEnumerable <CityDistrictOutputQuery> >(cityDistricts); return(new CollectionOutputQuery <CityDistrictOutputQuery>(totalCount, results)); }